Abandon the previous definitions for something more granular and in alignment with present expectations
jonathantneal opened this issue · 2 comments
I’m displeased with the current “stages”. I’m proposing new ones.
The rise and fall of @apply
has taught me a lot about the spec process.
The story goes; the @apply
specification was written by a member of the CSSWG and implemented in Chrome behind a flag. This happened before the CSSWG ever approved it. This is because CSSWG members often have a vendor’s ear, so to speak. Its appearance in Chrome gave developers a false impression that the spec had the support of the CSSWG and the endorsement of Google. Developers felt burned when the feature was “unexpectedly” abandoned by its author. Developers errantly expected a longer “deprecation” process, as well as an “heir” for the feature moving forward. We failed to understand that this feature did not even have the support of the CSSWG, therefore there was no committee to discuss this or to offer any speculative alternative for the future.
Now, with developers still asking for this feature, there needs to be a special “Rejected Stage” to help people understand what happened to that idea. I think the CSSWG “outsider” spec should be considered “Stage 0”, and the inside spec considered “Stage 1”, because the odds are still in favor of a CSSWG member’s spec becoming reality.
Therefore, I’m proposing the following, because it better reflects reality:
Stage | Justification | Perception | |
---|---|---|---|
0 | Personal Draft | Aspirational | This is my personal crazy idea. |
1 | CSSWG Member Draft | Enthusiastic | This is a crazy idea. |
2 | CSSWG Hosted Draft | Experimental | This idea might not be crazy. |
3 | Working Draft | Allowable | This idea is not crazy. |
4 | Candidate | Embraced | This idea is becoming part of the web. |
5 | Recommendation | Standardized | This idea is part of the web. |
- | Rejected | I had no idea what I was doing. |
justification column
Stage 0: Aspirational
A CSS Editor’s Draft championed outside the CSSWG. It should be considered highly unstable and subject to change.
Stage 1: Enthusiastic
A CSS Editor’s Draft championed inside the CSSWG. It should still be considered highly unstable and subject to change.
Stage 2: Experimental
A CSS Editor’s Draft hosted by the CSSWG or W3C. It should be considered highly unstable and subject to change.
Stage 3: Allowable
A CSS Working Draft hosted by the CSSWG or W3C and requiring implementations to move forward. It should be considered stable and subject to little change. It is still subject to rejection as a standard.
Stage 4: Embraced
A CSS Candidate Recommendation hosted by the CSSWG or W3C and being implemented by at least 2 recognized browser vendors, possibly behind a flag. It should be considered stable and subject to little change. It will likely become a standard.
Stage 5: Standardized
A CSS Recommendation hosted by the CSSWG or W3C and implemented by all recognized browser vendors. It is a standard.
The CSSWG probably only concerns themselves with Stages 2 - 5, but some of the most popular emerging features to polyfill are still Stage 1.
I think this is a great change. +1 from me
Resolving via 61af423