From MozillaWiki
< Services‎ | Sync
Jump to: navigation, search

What is a WEP?

WEP stands for Weave Enhancement Proposal. A WEP is a design document providing information to the Weave community, or describing a new feature for Weave or its processes or environment. The WEP should provide a concise technical specification of the feature and a rationale for the feature.

We intend WEPs to be the primary mechanisms for proposing major new features, for collecting community input on an issue, and for documenting the design decisions that have gone into Weave. The WEP author is responsible for building consensus within the community and documenting dissenting opinions.

Because the WEPs are maintained on the Mozilla Wiki, the revision history is the historical record of the feature proposal.

The WEP process begins with a new idea for Weave. It is highly recommended that a single WEP contain a single key proposal or new idea. The more focused the WEP the better.

Each WEP must have a champion -- someone who writes the WEP, shepherds the discussions in the appropriate forums, and attempts to build community consensus around the idea. The WEP champion (a.k.a. Author) should first attempt to ascertain whether the idea is WEP-able. Posting to <> is recommended. Small enhancements or patches can generally be put directly into the Weave development flow with a patch submission to Bugzilla (details on Bugzilla [Labs/Weave/ReportingBugs|here]).

Once (or before) a WEP has been accepted by the Weave module owners, it is recommended to also make a reference implementation of the WEP and link to it from the WEP's header.

The idea and description of WEPs is borrowed directly from Jetpack's JEPs, which in turn borrowed from the Python community's PEPs.

Proposed WEPs

Accepted WEPs

To become an accepted WEP, ready for implementation, the Weave drivers must approve the WEP. At that time, the status will be changed from "Proposed" to "Accepted" and a tracking bug will be created.

Implemented WEPs

After an accepted WEP has been implemented, its bug is marked finished, and its status is changed to "Implemented".