This document compares the proposal for Registries written by David Signer in the w3c wiki (hereafter DSWK) with the one written by fantasai and Florian Rivoal in Pull Request 335 against the Process (hereafter FFPR).
This table lists all the text in DSWK, and compares it with corresponding clauses in FFPR.
Text from the wiki | Commentary | Text from the Process branch |
---|---|---|
Definition
A Registry is a data set that documents logically independent 'atoms'; conceptually a table with independent rows, and rules for the values in the columns (e.g. that values in a column be drawn from a defined set). | Roughly equivalent |
Registries
A registry documents a data set consisting of one or more associated registry tables, each table representing an updatable collection of logically independent, consistently-structured registry entries. |
There are four conceptual elements in a Registry:
| Roughly equivalent |
A registry has three associated components:
|
| This concept is equivalent to the Editors Draft, which isn't a concept discussed in the Process, so doesn't need to be mentioned in the Process. | N/A |
Published Registry values MUST be in /TR (the place we publish all formal publications of the W3C), | Roughly equivalent. (The formal definition of a technical report is something published on TR. No need to redefine TR.) | Registries can be published either as a stand-alone technical report called a registry report, or incorporated as part of a W3C Recommendation as a registry section. |
and are purely documentational and contain no requirements on implementers. | Roughly equivalent. FFPR defines interaction with the Patent Policy more explicitly. | A registry report or registry section, is purely documentational, contains no requirements on implementers, and is not subject to the licensing commitments of the W3C Patent Policy. |
They are updated following the (approved) process for that registry as defined in the Registry definition. Hence changes to the Registry other than managing entries are all controlled by the update process for the Registry definition. | FFPR very explicitly allows updating the values in the registry without invoking all the Process machinery of updating a REC track document (provided the rules of the registry are followed); DSWK wording is unclear about these interactions. |
Updating Registry Tables
As long as they are in accordance with the rules of the registry, changes to the contents of a registry table (.e. Class 5 changes) can be made by re-publishing the technical report that contains the affected table, without needing to satisfy any other requirements for the publication (not even Working Group consensus, unless this is required by the rules of the registry). Such registry changes do not trigger new Advisory Committee Reviews, nor new Exclusion Opportunities, and do not require Director’s approval, even for technical reports at maturities where this would normally be expected. Such publications can be made even in the absence of a Working Group chartered to maintain the registry when the custodian is another entity. |
The W3C may publish a list of W3C Registries. | Doing this is nice, but W3C is allowed to do this even if it's not listed in the Process, so this sentence seems unnecessary. | N/A |
Combined Publication
We are currently discussing which of these elements can be combined. Examples include: 1+2) Referencing Document + Registry Definition, and have a pointer to the Published Registry. (This is like the IETF, where RFCs typically document a technology, and say which fields are open to registration, and under what conditions, but the registry values themselves are at IANA). (Some do not like this practice, others do). 2+3) Registry Definition + Published Registry. This would be the case where it makes sense to define a registry as a stand-alone Recommendation in its own right. 1+2+3) Referencing Document + Registry Definition + Published Registry. This would be suitable for ’small’ tables for which the current values and the definitions can easily be inlined into the spec. (“thing-type: a value drawn from the thing-type registry; current values and the procedures for registering a new thing-type can be found in Annex G”). You could insert the Published Registry as an iframe, for example. |
|
See Maturity Levels of Registry Reports which is a simplified form of the REC track, for the 2+3 case. 1+2+3 is handled by Updating Registry Tables together with Registry Reports |
Referencing Document requirements
The Referencing Document
| The Process specifies requirements on the technical report in question, not specifications that reference it, so FFPR says that the registry must not contain ... but makes no requirements about the referencing document. | A registry report or registry section, is purely documentational, contains no requirements on implementers, and is not subject to the licensing commitments of the W3C Patent Policy. |
| Both proposals allow incorporation into the referencing documents; as for cross references, they are always allowed. | Registries can be ... incorporated as part of a W3C Recommendation as a registry section. |
Registry Definition requirements
| Roughly equivalent. DSWK includes more examples, which should go into /Guide |
in either case, the technical report must:
Clearly label the registry report/section and its tables as such, including a link to this section of the Process.
The rules of the registry define what each registry table is and how it is maintained. They must:
|
Registry definitions are approved through the same, or stronger, process as the Referencing Document for that registry (i.e. and specifically, if the Referencing Document is a W3C Recommendation, then the Registry Definition is also a Recommendation, while a W3C Referencing Document that is a Note may, of course, have a Registry Definition that is a Recommendation). |
| N/A |
If the defined process is followed, changes to the values, and publication to the registry values, should be automatic and rapid. | We agree that there should be tooling for publishing things, and that publication tooling should be automatic and rapid. This is not unique to the Registries, and belongs in a Tooling Policy, not in the Process. | N/A |
Published Registry values requirements
The Registry values
| FFPR more detailed | As long as (and only if) they are in accordance with the rules of the registry, changes to the contents of a registry table (.e. Class 5 changes) can be made by re-publishing the technical report that contains the affected table, without needing to satisfy any other requirements for the publication (not even Working Group consensus, unless this is required by the rules of the registry). Such registry changes do not trigger new Advisory Committee Reviews, nor new Exclusion Opportunities, and do not require Director’s approval, even for technical reports at maturities where this would normally be expected. Such publications can be made even in the absence of a Working Group chartered to maintain the registry when the custodian is another entity. |
| effectively equivalent | A registry report or registry section, is purely documentational, contains no requirements on implementers |
|
| N/A |
| FFPR allows machine-readable copy in place of as well as in addition to the human-readable copy, and additionally requires that the rules define the format. | …include the entire contents of each registry table, either inline in the report (e.g. formatted as a table, or list, or other appropriate representation), or in a machine-readable file published as part of the technical report, or (preferably) both. |
Registry management requirements
(Note that this probably should apply to the development of any W3C publication. The general rules are currently unstated.) The Registry management must be a location that is suitable for development of a W3C publication. The rules are currently unstated but probably should be stated for the general case, and not specifically for registries. Registry management must
(A scrapable Wiki may be suitable here, while a Wiki is probably not suitable for document management generally.) | Agreed, this is not unique to the Registries; it belongs in a Tooling Policy, not in the Process. | N/A |
The following statements are found in FFPR, but have no equivalent in DSWK.
Text from the wiki | Commentary | Text from the Process branch |
---|---|---|
N/A | FFPR makes sure that if machine readable formats are used, they are well defined. | Include, if the registry table is provided in a machine-readable file, a definition of the format of that file. |
N/A | Offered as a convenience to users. Could be removed if found to be exessively constraining, as the Team could provide this even if it wasn't required to; however, it was added because it was listed as a clear requirement by proponents of a W3C registries process, including David Singer. | The Team must make available a means for interested parties to be notified of any updates to a registry table. |
N/A | Additional process text to allow for automation is not needed, since there's no reason it would be banned. Instead FFPR just highlights the possibility in a note. | Note: Since the Process does not impose requirements on changes to the contents of a registry table other than those imposed by the rules of the registry, acceptance of proposed registry changes on behalf of the custodian and publication of an updated registry report that contains only registry changes since the previous publication can be automated if satisfaction of those rules can be automatically verified. |
N/A | Clarification on whether it is possible/desirable for different tables in the same registry to have different custodians. Could easily be changed in case of disagreement on this topic. | The custodian for all registry tables in a single registry should generally be the same entity. |
N/A | If W3C would like to use the full Recommendation track, thus having less Process text, but more process in practice, we will think it:s a poor trade-off, but won't object. :) Dropping this section would result in the entire proposal fitting within two A4 pages. | Seciton "6.4.4. Maturity Levels of Registry Reports" |