potential-charters

CG/WG Proposal Stages

Author: @bumblefudge, @samuelgoto Created: 09/26/2024 Last update: 09/26/2024 Status: proposed CG charter amendment

This is a proposal to break proposals into 5 stages of maturity, with clear guidelines and requirements to advance them:

These stages support the W3C process and provide structure and clarity for all work guided by the Community Group. Doing work at any stage is not a commitment to higher stages, and the decision of when and whether to proceed to the next stage should be discussed on the mailing list and/or at meetings. If there is ever any direct conflict between W3C process requirements and how the groups will progress their work, the W3C process is authoritative.

It is recommended that work undertaken intending to be adopted by this staging process (i.e. intended to reach any of the stages 1 through 4) consider beginning its unofficial work already under the W3C Software and Document License, or similar license from the W3C.

Note: As this process focuses on documents and deliverables, it is “individualistic” and refers to champions (usually one of the editors and/or primary authors of deliverable) as its primary control structure. In practice, the community group has a marked preference for collaborative work, and the formation of a “task force” to collect contributions is the default working mode. There is no requirement that a task force be lead by a work item’s champion, and in many cases a task force is best convened by a “problem expert” or, e.g., a usability researcher rather than an implementer of a given solution, particularly if multiple solutions are being debated and compared by the group. Task Forces are not required but recommended, and can be formed at any stage, although typically community group conversation about forming one coincides with the adoption of a Stage 1 work item.

Stage 0: Exploration

The purpose of Stage 0 proposals is to allow anyone to raise and explore the Problem Space without asking for permission.

Stage 1: Incubation (Community and/or Community Group)

The purpose of Stage 1 proposals is to explore the Solution Space and evaluate multiple candidate solutions fairly. 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.

Great care should be taken to avoid substantial technical/design discussions happening outside the “IPR” (intellectual property rights) boundary of the Community Group members if normative status beyond stage 1 is desired; further standardization MUST be rejected if “clean IPR” cannot be achieved (e.g. by post-facto IP grants from all substantial contributors).

Stage 2: Formalization (Community Group)

The purpose of Stage 2 Proposals is to formally specify one or more (workable) candidate solutions identified in the prior step: handle corner cases, integrate with other parts, reconcile with other proposals, and resolve the concerns identified at the entrance. 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 and CG consensus on a CG Report.

Stage 3: Implementation and Normative Draft (Working Group)

The purpose of Stage 3 Proposals is to increase implementation and deployment confidence in order to move from CG report to a complete draft of a Candidate Recommendation.

Stage 4: Publication or Re-publication (Working Group)

The purpose of Stage 4 Proposals is to produce a new W3C Recommendation or a new minor or major version of a prior one.

Prior Art

[ActivityPub/ActivityStreams-specific Vocabulary Extension Policy]: https://swicg.github.io/extensions-policy/ [3-stage Standardization Process Proposal]: https://socialhub.activitypub.rocks/t/3-stage-standards-process-guaranteeing-an-open-and-decentralized-ecosystem/3602 [Living Standard Process]: https://indieweb.org/specifications [Social Web Protocols]: https://www.w3.org/TR/social-web-protocols/ [TC39 Proposals]: https://github.com/tc39/proposals [TC39 Process Document]: https://tc39.es/process-document/ [TC39 Decorators Proposal]: https://github.com/tc39/proposal-decorators [TC39 Temporal Proposal]: https://github.com/tc39/proposal-temporal [IW Proposals]: https://github.com/immersive-web/proposals [IW Stage 0 Proposals]: https://github.com/immersive-web/proposals/issues [IW Model Element Proposal]: https://github.com/immersive-web/model-element [IW Depth Sensing Proposal]: https://github.com/immersive-web/depth-sensing [WA Proposals]: https://github.com/WebAssembly/proposals [WA Tail Call Proposal]: https://github.com/WebAssembly/tail-call [WA GC Proposal]: https://github.com/WebAssembly/gc