ServerJS/ProposalProcess

From MozillaWiki
< ServerJS
Revision as of 19:51, 3 September 2009 by IsaacSchlueter (talk | contribs) (A modest proposal for proposals)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

STATE: PROPOSED

I propose that we adopt a JFDI policy regarding adding proposals CommonJS.

As long as the page makes the level of acceptance clear with a link at the top, it shouldn't be a problem.

State 1: "Proposed"

"Hay guys, I have an idea for a topic!"

Don't say it, just do it. Add a page to the wiki describing your proposal.

Bonus points if you can point at working code. It's not always prudent to implement something complicated before discussing with the group, since it might be misguided and difficult, but at the very least, rough sketch/prototype/proof of concept often helps crystallize the discussion.

Congratulations. You own the idea now. You're responsible for maintaining the wiki page, counting votes, starting the discussion, etc.

If it's not worth it to you to do the work, then it's probably not important enough to be in the spec. This ensures that all ideas need to get over a bit of a hump to get accepted.

Stage 2: "In Discussion"

"Let's talk about my idea!"

Send a message to CommonJS with a link to the wiki page. We'll talk about it, build all kinds of bike sheds.

This should last at least a few days, or however long necessary to flesh out any dissenting opinions. People start weighing in with their votes.

Speak now or forever hold your peace.

Stage 3: "Decided"

"We're talking in circles and here are the major ideas:..."

Someone count the votes, and we make a decision. Update the wiki page to the latest decision.

Note that a simple vote count doesn't necessarily imply a decision. If 15 people decide that it's a good idea to do something, and the 2 people who maintain that code rebut with valid practical reasons why it's impossible or impractical, then the 2 should outweigh the 15, and perhaps propose some kind of alternative to meet their needs.

Stage 4: "Implemented"

At least a handful of the relevant projects have implemented the spec. Add links to implementations to the wiki page. At this point, it's considered final, and can only be changed by restarting this process.