Zend wholeheartedly welcomes community contributions to the Zend Framework project, and we strive to make the process as easy as possible while maintaining the high quality ZF components are known for. Contributions can take the form of new components, features, bug fixes, tests, documentation, reference guide translations, examples, bug reports, or just good suggestions. In any case, you must sign a Contributor License Agreement (CLA) before contributing any intellectual property to the project indicating that this intellectual property is yours to contribute. A large contribution, such as a new component or a substantial new feature in an existing component, requires the submission of a formal proposal which will be considered for inclusion in one of the Zend Framework libraries.
All proposals are submitted as Zend Framework proposal documents, on which members of the community and the Zend team can provide feedback in the form of wiki comments. Those considering submitting a proposal are strongly encouraged to present and discuss their idea on the mailing list before creating the proposal document so that it may be initially vetted by- and improved upon with the help of- the most active members of our community. Your proposal is much more likely to get reviewed and accepted for a Zend Framework library expeditiously if you take this approach.
Once you are satisfied that you have sufficiently thought through your idea with the help of the community, you can create the first draft of your proposal document. First read the guidelines for writing a proposal in the Authoring a proposal article. Then follow the instructions in the 'Submitting a New Proposal' column on the proposals main page. Your new proposal should be automatically created in the New section on the proposals main page.
Creating empty or unfinished 'placeholder' proposals is strongly discouraged. Placeholder proposals with no substantial content and proposals that have not been updated for 3 months or longer may be archived. All archived proposals may be 'resurrected' by the original author or another contributor simply by re-parenting the document to the appropriate section, appending new authors as necessary, and making the desired edits. This policy helps the community keep all proposals organized and up-to-date.
We've found that including lengthy prototype code in the body of your proposal usually obfuscates the most important concepts behind too much detail. Unless your code is short (at most as long as the rest of your proposal), you should add it as an attachment to your proposal document and refer to it as necessary in the proposal document. API's defined in PHP format are encouraged where the design concepts may be best conveyed through concrete interfaces. Pseudo-code is also encouraged to illustrate important flows of execution.
All proposals in the New section are considered working drafts. When you have completed the initial draft of your proposal document and feel that it is ready for community review, change the parent document of your proposal to Ready for Review. Your proposal will now be listed under the Ready for Review section on the proposals main page, where it will be available for iterative review by the Zend Framework community, including the Zend team.
After you are satisfied that you have obtained all useful community feedback (this process will likely take several weeks) and updated your proposal accordingly, you may move your proposal document to the Ready for Recommendation section by once again changing the parent of your document to Ready for Recommendation, indicating that it is ready for review by the Zend team and official recommendation. After the document has been added to the Ready for Recommendation section, a Zend liaison will be assigned to your proposal within one week. You Zend liaison is the member of the Zend team with whom you will communicate regarding your proposal and who will present your proposal along with his or her recommendation to the rest of the Zend team for consideration. Within one day after assignment to your proposal, your liaison should add his or her name to the liaison field of your proposal document. Your Zend liaison will ultimately recommend promotion to the Laboratory, Standard Incubator, or Extras Incubator libraries after fully reviewing your proposal. Alternatively, if the liaison believes the proposal does not add enough value to or is not appropriate for the Zend Framework project, he or she may not recommend promotion of your proposal to any of our libraries.
Please keep in mind throughout the process that your proposal may not necessarily be recommended for promotion to any Zend Framework libraries. If this is the case, your proposal document will be moved to the Archived section by your Zend liaison. Please do not be discouraged under such circumstances; the Zend Framework community works hard to guarantee the correct balance of functionality and quality in the ZF project and your proposal may simply not align with our strategic goals or vision. Such a decision will likely include suggestions for how you might alter or rework your proposal in the official comment to supplement its value proposition to the Zend Framework project. The proposal may then be altered and resubmitted using the same process as that outlined for new proposals. This revised document should reflect the suggestions from the Zend team, which may call for significant changes in your original proposal. In many cases it may be easier to start a new proposal instead of refactoring your old proposal.
The Zend team will make every effort to review your proposal within one week after a liaison has been assigned to it. Since proposal reviews will typically occur in the weekly proposal meeting directly after liaison assignment for the current proposals in the [Ready for Zend Review] section, the Zend team will provide a best effort assurance that proposals will be fully reviewed in no more than two weeks. This should not be construed as a guarantee of any sort, however. Please keep in mind that proposal review meetings may be postponed or cancelled due to holidays in the United States or circumstance beyond our control.
Proposals submitted by members of the Zend team will be subject to the same process, including the assignment of another member of the Zend team as a liaison and general consensus or a majority vote by the Zend team to finalize its recommendation. The member of the Zend team submitting the proposal may not vote on the final recommendation for his or her proposal.
Throughout the review process- even after the Zend team has posted its official Zend comment- community members may add comments on your proposal. It is strongly recommended that you read these comments and respond to them quickly; they should be constructive and help improve and guide your proposal through the process. Your proposal is much more likely to be accepted for promotion if you have addressed all concerns and suggestions raised in the comments from the community.
To promote a proposal, your Zend liaison must create a component for the Laboratory, Core Incubator, or Extras Incubator library projects in the Zend Framework issue tracker as appropriate. You must then refactor any existing code to conform with Zend's namespace conventions for the repository to which your proposal has been promoted. Finally your liaison will provide instructions for accessing the repository and adding your code.
As outlined above, contributors must submit a signed Contributor License Agreement (CLA) to be eligible to add any intellectual property, including direct commits of new and altered code, to our Subversion repository. This includes, but is not limited to, all code, tests, and documentation for any library in any location within the Zend Framework code repository. If your proposal is promoted to Laboratory, Core Incubator, or Extras Incubator and you don't have access to the corresponding Subversion repository, your liaison will be responsible for granting you this access.
There are a few libraries associated with Zend Framework, but only two that are recommended for production use: the standard library and the extras library. Of these two libraries, only the standard library is supported by Zend with subscription support. The standard incubator and extras incubator are libraries that contain components that have not yet reached the quality criteria for inclusion in the standard and extras libraries, respectively. For example, components must remain in the incubator libraries until the developer(s) have reached sufficient unit test code coverage and fully documented the new functionality.
Skip to end of metadata Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current | View Page History