Here’s a draft diagram of the specification approval process:
Draft working group specifications can be approved as Implementer’s Drafts, Final Specifications, or Final Specifications incorporating Errata corrections by the OpenID Foundation members. These approvals convey IPR protections to implementers. The steps for these approvals are:
- Obtain working group consensus to propose foundation-wide approval of the draft specification. This typically is done by conducting a 1-2 week working group last call on the working group mailing list for the proposed draft to be approved.
- Publish the specification proposed for approval to
openid.net/specs/
, as described in Publishing Specifications. - The board Secretary makes an openid.net blog post announcing the public review period. The post contains links to the spec(s) and documents the relevant dates for the review and voting periods. Implementer’s Draft and Errata review periods are 45 days and Final review periods are 60 days. An example of such a blog post is https://openid.net/public-review-period-for-two-proposed-fapi-2-0-second-implementers-drafts/.
- Fourteen days before the official voting period starts, the Secretary creates the poll with voting options Approve, Object, and Abstain. An example of such a poll is https://openid.net/foundation/members/polls/306.
- By convention, the poll actually opens seven days before the end of the review period. The poll ends seven days after the review period completes.
- The Secretary makes a second blog post announcing the vote once the poll has been created. An example of a blog post announcing a vote is https://openid.net/notice-of-vote-for-proposed-second-implementers-drafts-of-two-fapi-2-0-specifications/.
- After voting closes, if the specification was approved, the Secretary publishes the Implementer’s Draft, Final Specification, or Final Specification incorporating Errata corrections to
openid.net/specs/
.- If the spec was approved as an Implementer’s Draft, the source and outputs for approved draft are copied to a filename indicating that the draft is now an Implementer’s Draft, substituting -IDn for the draft number. For instance, HTML version of the second Implementer’s Draft of FAPI 2.0 Message signing was published at https://openid.net/specs/fapi-2_0-attacker-model-ID2.html.
- If the spec was approved as a Final Specification, a new version of the specification is created by the editors or secretary that removes the History section and the draft number and indicates in the header material that the spec is Final. This new spec is published both using the filenames without a draft number and filenames adding “-final” in place of the draft number. For instance, the HTML version of the final Initiating User Registration via OpenID Connect 1.0 spec was published at https://openid.net/specs/openid-connect-prompt-create-1_0.html and https://openid.net/specs/openid-connect-prompt-create-1_0-final.html.
- If the spec was approved as a Final Specification incorporating Errata corrections, a new version of the specification is createdby the editors or secretary that removes the History section and the draft number, indicates in the header material that the spec is Final, and indicates in the title that the spec incorporates Errata corrections. This new spec is published both using the filenames without a draft number and filenames adding “-erratan” in place of the draft number. For instance, the HTML version of OpenID Connect Core 1.0 Errata 1 uses the title “OpenID Connect Core 1.0 incorporating errata set 1” and was published at https://openid.net/specs/openid-connect-core-1_0.html and https://openid.net/specs/openid-connect-core-1_0-errata1.html.
- After voting closes, the Secretary makes a blog post announcing the results. An example of a results announcement blog post is https://openid.net/second-implementers-drafts-of-two-fapi-2-0-specifications-approved-2/.
- If the specification was approved, the Secretary or working group chairs update the working group specifications list to link to the newly published specification. For instance, the list of OpenID Connect specifications is at https://openid.net/wg/connect/specifications/.
- The specification name in the list is always a link to the latest version of the specification, which contains no draft number. For instance, “OpenID Federation 1.0” is a link to https://openid.net/specs/openid-federation-1_0.html.
- When an Implementer’s Draft is published, the specifications page also contains a “Latest Implementer’s Draft” link. For instance, for the spec above, this links to https://openid.net/specs/openid-connect-federation-1_0-ID3.html.
- If the specification was approved, the Secretary or working group chairs likewise update the foundation-wide list of specifications at https://openid.net/developers/specs/ to link to the newly published specification and the latest Implementer’s Draft when an Implementer’s Draft was published.