HTML Working Group Decision Policy

Introduction

For products of the HTML Working Group, particularly HTML5, we expect a high volume of Last Call comments. We expect most comments can be resolved in a satisfactory way by the editor of the affected draft. However, there are a few reasons we need to formalize our process a little bit. First, we are required by W3C Process to track and formally respond to all Last Call comments, and to produce a disposition of comments document in order to exit Last Call. Second, some comments will not be satisfactory as initially fielded by the editor, and will need to be resolved by a decision of the Working Group. Third, it needs to be very clear to commenters how to get their input formally considered.

While the primary purpose of this process is for Last Call, we'd like to start on the process of migrating the Working Group over to the process right away. We've already informally been asking commenters to follow some of these steps.

The way we will make decisions involves two subprocesses: the Basic Process and the Escalation Process. The Basic Process works primarily through Bugzilla; we believe most comments on drafts can be addressed this way, without the need to involve the full working group. For some issues though, the input of the full Working Group will be needed. Throughout these processes, we will rely on three types of entities to make progress. Some of these will require a Working Group member to do some work. These processes will be applied to each separate specification individually.

Basic Process

The Basic Process describes the overall handling of an issue; we believe most steps can be handled without close involvement of the Chairs or the Working Group as a whole. We expect most comments will be disposed reasonably by the editor of the relevant spec. For issues that need full Working Group consideration, this process refers to the Escalation Process.

Flowchart illustrating the process described below.
(SVG version)

0. (Optional) Email
Issues can be brought up initially by email, if discussion is needed before the issue is clear enough to file a bug. Commenters may go directly to the next step if they are very clear on their issue already.
1. Bugzilla Bug

Issues should be filed as bugs in W3C Bugzilla to be formally considered. If the commenter has difficulties filing a bug, one of the Chairs or a volunteer will assist them. Bugs will be initially assigned to the editor of the relevant draft. Although editors may field issues through other forums if they wish, we will require editors to address all bugzilla bugs. We need bugs to be in bugzilla to ensure that nothing is dropped on the floor, and to be able to produce the disposition of comments directly from the bug tracker. A bug report is most useful if it includes the following components:

  • A clear statement of a problem with the spec—bug reports are more useful if they identify concrete problems.
  • Only one issue—please use separate bugs for separate issues.
  • An indication of what section or sections of the spec are affected.
  • At least one suggested way to solve the problem. Optionally, this can include sample spec text. Listing multiple alternatives is ok, and even a vague suggestion is fine at this stage.

Note: These components are not absolutely mandatory for all bug reports. But bug reports that do not have enough information to identify a problem or potential action may be closed as INVALID.

2. Editor's Response

Editors will give an initial disposition to incoming bugs. When an editor gives the initial editor's response, he or she should include the following:

  • A change in bug status to RESOLVED.
  • A clear statement of whether the comment was accepted or rejected.
  • A rationale for the change or lack of change (at least enough for the Disposition of Comments).
  • A link to the relevant spec diff or diffs, if the spec was changed.
  • Boilerplate text advising the commenter how to indicate their reply and escalate if desired.
3. Verify Response Info
Once bugs are RESOLVED, we will ask volunteers, including Team Contacts, to make sure they include all of the needed components of an editor's response, and to add any that are missing. Once this is done, the bug should move to the VERIFIED state.
4. Commenter Satisfied?
At this point in the process, the commenter should review the editor's response, and choose one of the following Step 5 actions. The commenter has two weeks to take action from the time the bug is put in VERIFIED state.
5.a. Yes: Close Bug
If the commenter is satisfied with the editor's response, the commenter should indicate that by changing the bug state to CLOSED. ** This is an endpoint for the process. **
5.b. (No Response)
If the commenter never responds in the bug in any way, after two weeks will will assume no response is forthcoming, and indicate that in disposition of comments. At this point the bug will be tagged with the NoReply keyword. ** This is an endpoint for the process. **
5.c. Want Reconsideration: Reopen Bug
If the commenter feels they have new information or arguments, or that the editor overlooked something, and would like the editor to reconsider, it's ok to move the bug to the REOPENED state. Commenters should exercise reasonable judgment on whether to use this option or 5.d., in particular, it's usually not a good idea to repeatedly reopen the same bug. The issue then returns to step 1.
5.d. No: Escalate to Issue

If the commenter is dissatisfied with the resolution and does not believe it is productive to ask the editor to reconsider, he or she may ask to escalate the issue to the issue tracker. A commenter with Tracker access can raise an Issue directly. A commentor without tracker access should apply the TrackerRequest keyword, and should suggest a title and text for the tracker issue. Team contacts or other volunteers with access will move TrackerRequest issues into the tracker.

The issue tracker issue should reference the original bugzilla bug. The bugzilla bug will reference the issue and have the TrackerIssue keyword added.

Note: comments with additional information may still be added to a bugzilla bug after it has been escalated to the tracker.

6. Working Group Decision
Issues escalated to the tracker will be decided by Working Group Decision. The Escalation Process describes how Working Group decisions are made.
7.a. Affirm Editor's Response
The Working Group Decision that results from the Escalation Process may be to affirm the editor's response. In this case proceed to step 8.
7.b. Overrule Editor's Response
The Working Group Decision that results from the Escalation Process may be to overrule the editor's response. In this case proceed to step 10.
8. Does Commenter Wish to Formally Object?
The commenter should decide at this point if they wish to enter a Formal Objection against the Working Group decision.
9.a. Formal Objection
If the commenter does wish to enter a Formal Objection, he or she should do so according to W3C Process. This includes explicitly stating that it is a Formal Objection, as well as giving a technical justification for the objection, and at least one way the objection could be removed. The Formal Objection should be recorded in the bugzilla bug, and the bug should be placed in the CLOSED state and tagged with the FormalObjection keyword. ** This is an endpoint for the process. **
9.b. Ordinary Disagreement
If the commenter does not wish to enter a Formal Objection, then the resolution will simply be indicated as a disagreement on the Disposition of Comments. The bug should be placed in the CLOSED state and marked with the Disagree keyword. ** This is an endpoint for the process. **
10. Tag Bug as WG Decision and Reopen
The bug is reopened indicating the WG decision, and tagged with the WGDecision keyword. The bug is then returned to REOPENED state for action by the editor to implement the Working Group decision, which will be recorded in the form of a Change Proposal. The process returns to step 1.

The following table summarizes what different bug states and keywords say about where a bug stands in the process. All the conditions marked with an asterisk (*) are ones we must drive to zero to finish review of Last Call comments.

State and Keywords Meaning
UNCONFIRMED, NEW, ASSIGNED, REOPENED Waiting for editor response.*
REOPENED and WGDecision Waiting for editor to implement Working Group decision.*
RESOLVEDEditor has addressed issue, waiting for boilerplate.*
VERIFIED (and none of the belowWaiting for response from commenter.*
VERIFIED and TrackerRequestReporter requested escalated to Working Group. Waiting for mechanics of escalation.*
VERIFIED and TrackerIssueReporter escalated to Working Group. Waiting for Working Group decision.*
VERIFIED and NoReplyReporter has not responded after two weeks or more.
CLOSED and FormalObjectionThe issue is settled, and reporter formally objected to WG.
CLOSED and DisagreedThe issue is settled, and the reporter disagreed, but not as Formal Objection
CLOSED (and none of those)The issue is settled, and the reporter agreed with the final outcome.

Escalation Process

Some issues cannot be settled solely through the Basic Process. In such cases, a party to the dispute will request escalation to the Issue Tracker. Once issues are in the tracker, we will use a system of Change Proposals to come to a decision.

Flowchart illustrating the process described below.
(SVG version)

0. Amicable Resolution
At any stage of the process, the issue can be settled amicably, If spec changes are made that satisfy the person who raised the issue, or the person who raised it otherwise wishes to withdraw, and no one objects, the issue will be closed by Call for Consensus. Generally in this case no technical decision is entered, unless that seems important in particular cases. The Basic Process then proceeds from step 7a ** This is an endpoint for the escalation process. **
1. Raised Issue: Chairs Solicit Proposals

When an issue enters it starts in the RAISED state. The chairs solicit volunteers to write Change Proposals when the issue is raised. For pre-existing issues, we will ask for volunteers in a staggered fashion to avoid flooding the group. Requests for Change Proposals will go out to the HTML WG mailing list and possibly via other channels as well. Note: it's ok for multiple people to volunteer to produce independent proposals for the same issue. If no one volunteers within a month, proceed to step 2.a. Otherwise proceed to step 2.b.

Note: information can be added to an Issue without writing a full Change Proposal by sending email to the public-html mailing list that mentions the issue number in the format ISSUE-nnn where nnn is the issue number.

2.a. Closed without Prejudice
If no one volunteers within a month of the Chairs' request, or a Change Proposal is not presented by the deadline, the Tracker Issue will be marked CLOSED without prejudice and deferred to the next version of HTML. In this case, we affirm the editor's decision by default. The Basic Process then proceeds from step 7a. An issue that is closed without prejudice in this way can only be re-raised with approval of the Chairs. ** This is an endpoint for the escalation process. **
2.b. Open Issue: Writing a Change Proposal
An issue with someone working on a change proposal is in the OPEN state. If the change proposal is not done by the deadline, the issue will be closed without prejudice and deferred to the next version of HTML. The default deadline to complete a Change Proposal is one month from the time someone volunteers. The chairs may grant a longer deadline for complex issues on request. A proper Change Proposal must include the following four components:
  1. Summary: Describes the change in about 1-5 paragraphs of plain language.
  2. Rationale: Describes the reason for the change. What problems does the proposal address, and how does the proposal makes things better?
  3. Proposal Details: This may take one of the following four forms:
    • A set of edit instructions, specific enough that they can be applied without ambiguity.
    • Spec text for a draft to be published separate from HTML5 (though such a draft can be proposed at any time without a Change Proposal).
    • Exact spec text for the sections to be changed, and a baseline revision for the version of the spec being changed.
    • With prior permission from the chairs, a high-level prose description of the changes to be made.
  4. Impact: Effects, both positive and negative, of the change. What conformance classes will have to change? What are the risks?

Complete Change Proposals should be recorded somewhere in W3C space (wiki, dev.w3.org, archived mailing list) and the Working Group should be notified by email. If the author of the Change Proposal is not a member of the Working Group, then he or she should agree to the W3C Patent Policy and grant a non-exclusive copyright assignment as required for invited experts.

If a Change Proposal is not complete by the deadline (default one month), proceed to step 2.a.

3. Discussion
The Change Proposal (or multiple Proposals) may be discussed and revised for a reasonable period. Authors of Change Proposals are strongly encouraged to seek consensus and revise their Change Proposals to gain more support. Change Proposals that do not see wide support are unlikely to succeed. Once an outcome is clear or no more productive discussion is happening, the chairs proceed to the next step.
4. Call for Consensus
If the chairs believe it is clear whether the existing spec or some available Change Proposal enjoys consensus, they issue a Call for Consensus to solicit objections. Based on the response, proceed to the appropriate substep of step 5. If there is not enough clarity to make such a Call in the first place, the chairs may proceed directly to step 5.b without a Call for Consensus.
5.a. Consensus Found
If there are no objections, very few (and weak) objections, or objections can be resolved, the chairs declare that the Call for Consensus becomes a resolution. The Working Group affirms or overrules the editor's decision depending on the outcome. The Basic Process then proceeds from step 7a or step 7b as appropriate. ** This is an endpoint for the escalation process. **
5.b. No Clear Consensus
If there are numerous and/or serious objections, or if it is unclear to the chairs what the position of the working group is, the chairs may use a poll to get a sense of the working group.
6. Poll or Vote
A WG decision may be entered based on an informative straw poll as one piece of input, or based on a formal and binding vote. Or the chairs can ask for a new round of proposals if the poll does not reveal a strongly preferred position; in this case, return to step 3. Otherwise, the Working Group affirms or overrules the editor's decision depending on the outcome. The Basic Process then proceeds from step 7a or step 7b as appropriate. ** This is an endpoint for the escalation process. **