Guidelines for Release Reviews
| See "6.3.3 Release Review" and "6.3 Reviews" in the Eclipse Development Process |
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 Princples and Purposes of Eclipse.
(1) What are the Requirements?
RThe only requirements pertaining to a Review Review is that the review be held and be 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.
(2) 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 docuware 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 docuware is a slide deck, it will probably average one or two slides on each of these issues. (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.)
(2.1) Features
R 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.
GReferences to existing New & Noteworthy documentation is a useful addition to this summary. (Reference [1])
(2.2) Non-Code Aspects
R 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 [2])
(2.3) APIs
R 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 is extremely important. (Reference [1])
(2.4) Architectural Issues
R 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. (Reference [1])
(2.5) Tool Usability
R 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 [3])
(2.6) End-of-Life
R 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 [3])
(2.7) Bugzilla
R 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 [2])
(2.7) Standards
R 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 [2])
(2.8) UI Usability
R Summarize the user interface usability and the conformance to the Eclipse 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. (References [1,6])
(2.9) Schedule
R 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. (Reference [4])
(2.10) Communities
R Summarize the project's development of its three communities. Consider the interactions on bugzilla, the mailing lists, the newsgroups, public conference calls, blogs, PR 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 [3])
(2.11) IP Issues
R 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 "provider" field of each feature is set to "Eclipse.org"
- ... 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.
(2.12) IP Issues Speak-Up-Now
R 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. (Reference [5])
(2.13) Project Plan
GIf 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.(3) Preparing the Docuware
The "docuware" for a Review has traditionally been a slide deck however there is no reason to use slides: a short report/document would work equally well if not better (reports are information dense relative to slides, and that's a good attribute).
R
In any case, the docuware must be/have:
- Neutral File Format. The docuware must be published in an operating-system neutral file format. PPT and DOC files are not considered neutral. PDF is currently the best choice and thus we require docuware to be published in PDF. The EMO can convert Open Office and Microsoft Office to PDF if you are unable to do so.
- Archival Quality. The docuware must be comprehensible and complete on its own without requiring explanation by a human presenter. Archival quality is required because the docuware will be available on the eclipse.org website in perpetuity; future Eclipse users, adopters, and even new project committers will consult it long after the review conference call has been completed.
- Correct Copyright and License. The docuware is being written (and thus copyrighted) by you, not by the Eclipse Foundation, and thus the copyright statement needs to be by you (or your employer). Similarly, the content should be licenses under the EPL.
- Usable for a Phone Conversation. Remembering that most conversations about the docuware will be done over voice, email, IM, or other electronic media - not in a face-to-face situation - the docuware must have page and/or paragraph numbers so that the two parties in conversation can easily refer to the same section or slide.
R
The docuware must cover the issues from (2) above.
Example docuware from previous Release Reviews can be found in the archives.
(4) The Review Process
Once the review content has been created, the operational side of a Release Review is:- Schedule the review by sending email to emo@eclipse.org.
- Reviews are scheduled at most twice a month, usually on Wednesdays, usually in the morning (USA)/afternoon (Europe)/night (Asia).
- Reviews are grouped up to four at a time.
- At least one week in advance of the review, you (the project lead) sends the docuware
to emo@eclipse.org for posting.
- The EMO posts the docuware via the website (through the wonders of database-driven web pages, the docuware is automatically linked from the review notice).
- At least one week in advance of the review, the EMO creates a bugzilla entry for discussion and advisory voting by the membership. (See example.)
- The EMO announces the reviews:
- via the eclipse.org/projects web page (as soon as the review is scheduled)
- via the reviews and announcements RSS feed (as soon as the review is scheduled and again when the docuware is posted)
- via email to the committers and membership-at-large mailing lists (at least one week in advance of the review conference call)
- The review conference call is held at the scheduled time.
- The project lead must attend the call.
- These calls tend to be short (5-10 minutes). The purpose of the call is for the team to answer any questions from the community that have not otherwise been answered by the written material and/or discussions in the newsgroup.
- After the call, a one-to-two week open discussion and advisory vote is held
via the previous posted bugzilla.
- A successful advisory vote requires at least three +1s from the Membership external to the project's Leadership Chain
- A successful advisory vote requires at least one +1 from each level of the project's Leadership Chain (i.e., the project lead and one member of the destination PMC).
- A successful advisory vote requires no upheld -1s. An Upheld -1 is a -1 that is followed within 24 hours by open, transparent, and public justification, and that justification is accepted by the EMO. Rejected -1s count as 0s.
(5) 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
(5.1) Other Results
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.

