Skip to content
Open
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions proposals-CG-WG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# CG/WG Proposal Stages

Author: @samuelgoto
Created: 2024-08-11
Last update: 2024-11-26
Created: 08/11/2024
Last update: 11/26/2024
Status: under review

This is a proposal to break proposals into 5 stages of maturity, with clear guidelines and requirements to advance them:
Expand All @@ -13,7 +13,7 @@ This is a proposal to break proposals into 5 stages of maturity, with clear guid
* [Stage 3](#stage3): **Implementation** of the preferred Proposal
* [Stage 4](#stage4): **Publication** of a Proposed Recommendation

These stages support the W3C process and align with the [TC39 process](https://tc39.es/process-document/) and the [WHATWG process](https://whatwg.org/stages). If there is ever any question between W3C process requirements and how the groups will progress their work, the W3C process has precedence.
These stages support the W3C process and align with the [TC39 process](https://tc39.es/process-document/) and the [WHATWG process](https://whatwg.org/stages). If there is ever any question between W3C process requirements and how the groups will progress their work, the W3C process has precedent.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


# Stage 0: Exploration

Expand All @@ -29,16 +29,16 @@ The purpose of Stage 0 proposals is to allow anyone to raise and explore the Pro
The purpose of Stage 1 proposals is to explore the Solution Space and pick a preferred direction. This is where most of the work gets done because it involves exploring alternatives, understanding tradeoffs, gathering implementation experience, incubating alternatives, gathering evidence of demand and fitness for purpose, and finally, identifying the best out of the many alternatives.

* What's needed from individuals?
* [ ] Identification of [champions](https://github.com/tc39/how-we-work/blob/main/champion.md).
* [ ] An understanding of the Problem Space.
* [ ] Optionally, alternatives under consideration.
* [ ] Identification of [champions](https://github.com/tc39/how-we-work/blob/main/champion.md)
* [ ] An understanding of the Problem Space
* [ ] Optionally, alternatives under consideration
* What's asked of the **Community Group**?
* [ ] The Community Group consensus that the problem is worth spending the Community Group’s time working on.
* [ ] The Community Group consensus that the problem is worth spending the Community Group’s time working on
* [ ] A home for incubating the proposal. Small features will incubate in issues. If and when the champions are ready to more thoroughly document their proposal, the WG chairs will create a repo for the champions to develop the feature (e.g., [example](https://github.com/fedidcg/LightweightFedCM)).

# Stage 2: Formalization

The goal of Stage 2 is to refine the preferred solution into a detailed, cohesive proposal that addresses known issues and integrates feedback from stakeholders. The Proposal enters Stage 2 with a list of issues that block advancement to the next stage, and exits with all of the issues resolved. This stage focuses on preparing the proposal for Working Group review and creating a complete, formal draft.
The goal of Stage 2 is to refine the preferred solution into a detailed, cohesive proposal that addresses known issues and integrates feedback from stakeholders. The Proposal enters Stage 2 with a list of blocking issues to advance to the next stage and exits with all of the issues resolved. This stage focuses on preparing the proposal for Working Group review and creating a complete, formal draft.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Complete formal draft of what? I guess the specification of the feature?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, specification of the feature.

Copy link

@elf-pavlik elf-pavlik Mar 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

W3C CGs use Draft Report and Final Report terminology. Could draft report make it more clear?
https://www.w3.org/community/about/process/#deliverables
image


* What's needed from champions?
* [ ] An [explainer](https://tag.w3.org/explainers/).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can I suggest that we keep these editorial fixes outside of this PR so that we can focus on the normative changes? For example, I almost dismissed the change below because I assumed that it was just making editorial changes rather than normative.

The editorial changes are perfectly valid, I just think that they may be best done in isolation rather than together with this spec PR.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you revert the non-editorial changes so that it is easier to review?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The editorial changes are perfectly valid, I just think that they may be best done in isolation rather than together with this spec PR.

Often, editorial changes make a significant difference to the comprehensibility of a spec, which makes a difference in reviewing the technical changes. Certainly, editorial changes of the lines impacted by the PR should be allowed, because such in-PR changes are a substantially lighter lift for the reviewer/commenter than a distinct PR — and don't require that the reviewer remember, once the technical PR is merged, that they wanted to make an editorial change.

Expand Down Expand Up @@ -66,36 +66,36 @@ The purpose of Stage 3 Proposals is to increase implementation and deployment co
* [ ] Web Platform Tests are available.
* [ ] At least two independent implementers and no unresolved objections (where resolution may include an agreement not to address the issue).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This requirement seems a bit off compared with the previous text since multiple implementations are expected to be produced during this stage. So are multiple implementors needed to reach stage 3 or could they possibly occur during stage 3? Note that in WHATWG it is two implementers supporting which is different from having actually implemented. https://whatwg.org/stages#stage3

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Stage 3 is ready for implementation; so rephrasing to supporting makes sense.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your agreement does not seem reflected in the text

* What's asked of the **Working Group**?
* [ ] Working Group consensus that the [Working Draft](https://www.w3.org/policies/process/#RecsWD) sufficiently resolves all of the issues raised at [Stage 2](#stage-2).
* [ ] Working Group consensus to publish the [Working Draft](https://www.w3.org/policies/process/#RecsWD) as the Working Group's [Candidate Recommendation](https://www.w3.org/policies/process/#RecsCR).
* [ ] Working Group consensus that the [Working Draft](https://www.w3.org/policies/process/#RecsWD) sufficiently resolves all of the issues raised at [Stage 2](#stage-2)
* [ ] Working Group consensus to publish the [Working Draft](https://www.w3.org/policies/process/#RecsWD) as the Working Group's [Candidate Recommendation](https://www.w3.org/policies/process/#RecsCR)

# Stage 4: Publication

The purpose of Stage 4 Proposals is to produce a [W3C Recommendation](https://www.w3.org/policies/process/#RecsW3C). At this stage, the spec is merged and has finished editorial review. This editorial review could be lengthy, especially if the feature is large and/or the contributor is new to W3C process, but it will usually be short.
The purpose of Stage 4 Proposals is to produce a [W3C Recommendation](https://www.w3.org/policies/process/#RecsW3C). At this stage, the spec is merged and has finished editor review. This editor review could be lengthy, especially if the feature is large and/or the contributor is new to W3C process, but it will usually be short.

* What's needed from champions?
* [ ] Documented [implementation experience](https://www.w3.org/policies/process/#implementation-experience) across multiple environments.
* What's asked of the **Working Group**?
* [ ] Working Group consensus that the [Candidate Recommendation](https://www.w3.org/policies/process/#RecsCR)'s implementation experience is complete.
* [ ] Working Group consensus to publish it as a [Proposed Recommendation](https://www.w3.org/policies/process/#RecsPR).
* [ ] Working Group consensus that the [Candidate Recommendation](https://www.w3.org/policies/process/#RecsCR)'s implementation experience is complete
* [ ] Working Group consensus to publish it as a [Proposed Recommendation](https://www.w3.org/policies/process/#RecsPR)

# Prior Art

* TC39
* Proposals Repo: [https://github.com/tc39/proposals](https://github.com/tc39/proposals)
* Stages: [https://tc39.es/process-document/](https://tc39.es/process-document/)
* Examples
* Decorators Repo: [https://github.com/tc39/proposal-decorators](https://github.com/tc39/proposal-decorators)
* Temporal Repo: [https://github.com/tc39/proposal-temporal](https://github.com/tc39/proposal-temporal)
* Decorators Repo: [https://github.com/tc39/proposal-decorators](https://github.com/tc39/proposal-decorators)
* Temporal Repo: [https://github.com/tc39/proposal-temporal](https://github.com/tc39/proposal-temporal)
* Immersive Web CG/WG
* Proposals Repo: [https://github.com/immersive-web/proposals](https://github.com/immersive-web/proposals)
* Stage 0 Issues: [https://github.com/immersive-web/proposals/issues](https://github.com/immersive-web/proposals/issues)
* Examples
* \<model\> Repo: [https://github.com/immersive-web/model-element](https://github.com/immersive-web/model-element)
* Depth sensing Repo: [https://github.com/immersive-web/depth-sensing](https://github.com/immersive-web/depth-sensing)
* \<model\> Repo: [https://github.com/immersive-web/model-element](https://github.com/immersive-web/model-element)
* Depth sensing Repo: [https://github.com/immersive-web/depth-sensing](https://github.com/immersive-web/depth-sensing)
* WebAssembly
* Proposals Repo: [https://github.com/WebAssembly/proposals](https://github.com/WebAssembly/proposals)
* Examples
* Tail call Repo: [https://github.com/WebAssembly/tail-call](https://github.com/WebAssembly/tail-call)
* GC Repo: [https://github.com/WebAssembly/gc](https://github.com/WebAssembly/gc)
* Tail call Repo: [https://github.com/WebAssembly/tail-call](https://github.com/WebAssembly/tail-call)
* GC Repo: [https://github.com/WebAssembly/gc](https://github.com/WebAssembly/gc)