Development Resources/HOWTO/Release Reviews
The purposes of a Release Review are: to summarize the accomplishments of the release, to verify that the IP Policy has been followed and all approvals have been received, to highlight any remaining quality and/or architectural issues, and to verify that the project is continuing to operate according to the Principles and Purposes of Eclipse.
- 1 What are the Requirements?
- 2 What Does a Release Review Cover?
- 3 Preparing the Docuware
- 4 The Review Process
- 5 After a Successful Review
What are the Requirements?
The only requirements pertaining to a Release Review is that the review be held successfully and all remedial actions completed before the Project's official release.
The Release Review is conducted before each major release to verify that the key goals of the release have been accomplished and to verify that all intellectual property rights issues have been resolved. For Eclipse projects with typical six week milestones, a plausible time for a release review is one to two weeks into the final six week period, i.e., four or five weeks before the release is scheduled to go live.
What Does a Release Review Cover?
The Release Review is the final review of the project, process, release and most importantly, the IP issues, against the characteristics that help ensure Eclipse Quality.
A Release Review is a fairly comprehensive process. We anticipate that gathering the material for the review and preparing the documentation is a non-trivial effort, but we believe that the introspection offered by this exercise is useful for the project and that the results are very useful for the community.
The items to be covered in the Review include the following. If the document is a slide deck (there's a template available), it will probably average one or two slides on each of these issues. A text document (provided in an open format such as HTML) should have one or two paragraphs, or a handful of bullets on each issue. Note the use of the word "summarize" throughout this agenda; judgment must be used to determine how much to include in each of these bullet items.
Summarize the major features of this release as well as any other features that have generated significant discussion amongst the community during the development cycle. Compare the features against the Roadmap to understand the project's conformance or divergence.
Reason: The community will use this release and the ecosystem will build products on top of this release, and both need to know what features were included or excluded.
References to existing New & Noteworthy documentation is a useful addition to this summary.
Summarize the state of the non-code aspects of the release including: user documentation, localization/externalization, examples, tutorials, articles, and so on. Have the existing artifacts been updated? Are there new artifacts? Have the obsolete ones been retired or at least marked as pertaining only to older material?
Reason: The non-code aspects are essential for the wide-spread adoption of the release (Reference Eclipse Ecosystem).
Certify that the APIs in this release are Eclipse Quality. The project lead will personally certify that the requirements for quality have been met and/or discuss any deficiences.
Reason: Eclipse members build commercial tools on top of the extensible frameworks and thus the quality of the APIs isextremely important.
Summarize the architectural quality of the release. Discuss the intrinsic nature of being extensible embodied by this project. Discuss issues such as unresolved overlap with other projects, unpaid "merge debt" from incorporating various components, and so on.
Reason: Eclipse members build commercial tools on top of the extensible frameworks and thus the quality of the architecture is important.
Summarize the usability of the tools. Usability in this sense is about using the tools to solve development problems, not the more academic sense of UI evaluation/testing.
Reason: Without usable tools, the project will not attract the user community necessary to enable the ecosystem (Reference Three Communities).
Summarize the features (APIs and any significant user features) from previous releases that are being end-of-life'd in this release. End of life includes both deprecation and actual removal.
Reason: The community builds products that rely on features and so they need to know when these features are changing (Reference Three Communities).
Summarize the bugzilla situation. How many bug records (defects and enhancements) have been opened/closed/deferred/new, etc? How many P1, P2, ..., bug records are outstanding?
Reason: Summaries of the bugzilla records offer a glimpse into the project productivity. They also offer an estimate of the outstanding risk. And the summary is used to alert the community to known issues (Reference ).
Summarize the standards compliance of this release. If the features are based on defined, pending, or ad-hoc standards, what is the state of those standards and what is the state of the support for those standards in this release.
Reason: Eclipse is about building frameworks and tools based on standards, so we need to make sure that we are conforming to the appropriate standards (Reference ).
Summarize the user interface usability and the conformance to the User_Interface_Guidelines. Include section 508 compliance, language pack conformance (does the code support multiple languages), etc. Explain any deviations from the user interface guidelines and standards.
Reason: The user community is larger than just mouse-wielding, English-speaking, computer jockeys. We need to support that larger community (Reference User_Interface_Guidelines).
Discuss the initial schedule and any changes to the schedule over the course of the release, i.e., what the project team achieved. Discuss whether milestones were met or slipped.
Reason: The community relies on consistent schedules from Eclipse so that projects and products can plan for the correct dependencies.
Summarize the project's development of its three communities. Consider the interactions on bugzilla, the mailing lists, the newsgroups, public conference calls, blogs, public-relations activities, code camps, conference tutorials, coordinating with other Eclipse projects and other open source projects (Apache, ObjectWeb, etc), ...
Reason: It is important for Eclipse projects to build a community around the project, not just deliver code for a project. This review item is about the success of building a community (Reference Three Communities).
As per the Eclipse IP Policy, these steps must be done:
- The project leadership verifies that:
- ... that the about files and use licenses are in place as per the Guidelines to Legal Documentation
- ... all contributions (code, documentation, images, etc) has been committed by individuals who are either Members of the Foundation, or have signed the appropriate Committer Agreement. In either case, these are individuals who have signed, and are abiding by, the Eclipse IP Policy.
- ... that all significant contributions have been reviewed by the Foundation's legal staff. Include references to the IPZilla numbers of all clearances.
- ... that all non-Committer code contributions, including third-party libraries, have been documented in the release and reviewed by the Foundation's legal staff. Include references to the IPZilla numbers of all clearances.
- ... that all Contribution Questionnaires have been completed
- ... the "copyright" field of each feature is set to the copyright owner (the Eclipse Foundation is rarely the copyright owner).
- ... that any third-party logos or trademarks included in the distribution (icons, help file logos, etc) have been licensed under the EPL.
- ... that any fonts or similar third-party images included in the distribution (e.g. in PDF or EPS files) have been licensed under the EPL.
- The PMC provides a Project Log that enumerates:
- every piece of third party software including information on the license
- every major contribution
- the name of every contributor including non-committer contributions via bug fixes with bug #'s
- the About files which contain any non-standard terms (e.g., a reference to a license other than the EPL, etc)
- The EMO will validate for (a) and (b) that Contribution Questionnaires have been properly submitted and EMO approvals have been completed.
- A frozen copy of the reviewed-and-approved-by-Eclipse-legal Project Log is part of the Release Review documentation. It can be included in the docuware or as a separate document. (Reference )
The provider name for contributed features/bundles should always start with "Eclipse ..." followed by project name. It is up to each PMC to decide how best to describe their project in a meaningful, balanced fashion (either as one top level one or as multiple pieces). Avoid special symbols (e.g. ':' or "-") unless they are part of the project name. Avoid acronyms (unless in common use in software industry, such as XML, or PHP). Capitalization should follow "headline-sytyle capitalization": The only words that are not capitalized are articles (except as the first word), coordinating conjunctions (for example, and, but, and or), prepositions (except as the first or last word), and the to in an infinitive.) For discussion, see Bug 252813.
IP Issues Speak-Up-Now
The EMO explicitly asks during the Release Review if any Member would like to assert that this release infringes their IP rights. If so, the EMO and the project will follow the Eclipse IP Policy in discussions with that Member.
Reason: One of the important benefits that the Eclipse Foundation provides for its members is the consistent application of the Eclipse IP Policy which helps ensure (but does not guarantee) that the framework and tools are useable in commercial products.
Per Board resolution of December 11, 2008, to pass a Continuation Review, Graduation Review or Release Review a project must have a current project plan, in the format specified by the EMO, available to the community.
If there is a Project Plan (full or even a draft) for the next release, the final issue to cover in the Release Review is the unveiling of the new plan.
Preparing the Docuware
The docuware must cover the issues from (2) above.
The Review Process
Once the review content has been created, the operational side of a Release Review is described here: Development_Resources/HOWTO/Review_Process
After a Successful Review
After the successful advisory vote and the approval of the Release Review by the EMO:
- the EMO will send an email to the project development list affirming the positive result
- then, when the final release files are ready, the project may post them to the download server and let the powerful replication system distribute the bits throughout the known universe
Other possible results of the Release Review include:
- Postpone - issues have arisen that must be solved before the release proceeds
- Pass w/ Notes - the release has some issues that need to be addressed, but they can be addressed with release notes and/or documentation
- Pass w/ Issues - the release has some issues, but they can be addressed in a future release as agreed to in the review
- Fail - there are significant problems with the release and/or the project.
This page is moderated by the EMO