Goal

The goal of the Europa Simultaneous Release is the same as last year's goal for Callisto: to release N major Eclipse projects at the same time. We are doing this simultaneous release to support the needs of the ecosystem members who integrate Eclipse frameworks into their own software and products. While those product producers naturally accept the ultimate responsibility for their customers' experiences, Europa's goal is to eliminate uncertainity about project version numbers, and thus to allow ecosystem members to start their own integration, cross-project, and cross-product testing efforts earlier. Europa is about improving the productivity of the developers working on top of Eclipse frameworks by providing a more transparent and predictable development cycle; Europa is about developers helping developers serve the whole Eclipse community.

While Europa is about the simultaneous release of N projects, it is not a unification of the projects - each project remains a separate open source project operating with its own project leadership, its own committers, and its own project plan.

Corona has withdrawn from the Europa release due to some technical/distribution issues that could not solved in time to meet the release dates.

Testing Pre-Release builds via Policy Files

Projects can use policy files in the update manager to allow users to update against a different version of a plug-in than the one currently released. See Testing Pre-Release Builds Via Policy Files for more information.

Requirements For Participation

Projects that are part of Europa agree to abide by the following requirements.

Must Do

These are required for participation:

The projects must work together. This means that one should be able to load any subset of the Europa projects into Eclipse and each of the loaded projects should be able to pass all the same tests as if it had been loaded independently.

Projects must have build process maturity and their own functional project update site - the Europa site will reference these sites, not replace them.

Any third-party plug-ins that are common between projects must be consumed via Orbit; the final Europa release will not have duplicate third-party libraries (note that this only applies to identical versions of the libraries; thus if project A requires foo.jar 1.6 and project B uses foo.jar 1.7, that's ok).

All plug-ins must correctly list their required JVM versions in the manifest/plugin.xml. See the wiki page about selecting the correct JVM [1].

Project representatives must attend the planning meetings and conference calls - you have to be involved to be involved.

At least one person from each project must subscribe to cross-project bug inbox, i.e. edit Bugzilla prefs to watch "cross-project.inbox@eclipse.org"

Build team members from each project will provide communication channels: phone, mail, IM, IRC and will be available during to-be-specified crucial integration times

Projects must have stated and demonstrated their intent to join Europa by the M4+0 date. Projects do so by adding themselves to the table/list above, along with their contact information.

Projects that have demonstrated an inability to synchronize with Europa milestones by M6 will be removed from the Europa simultaneous release unless the remaining Europa projects vote to retain said project.

Projects should have a written ramp down policy. (One of the issues identified with this guideline is that its not so much the ramp down policy of how many votes are needed for each bug fix that we need to be consistent on, but rather the meaning of each of the milestones and release candidates. Here [2] is the Platform 3.2 ramp down policy as a guideline for other projects.)

Projects must have their IP approved (a normal Eclipse requirement) and will follow the Eclipse Legal deadlines to do so.

Should Do

These are recommended for participating projects:

Projects should have jar'ed plug-ins because this is good Eclipse citizenship.

Build reproducibility? Require that projects be buildable by community members. Should be identical bits (but not required). All build assets and documentation in CVS/Subversion.

Non-project-team-members should be able to build each project.

Non-project-team-members should be able to run unit tests on each project.

Source tarballs should be created for Linux distros to build with.

Should have new & noteworthy for each milestone. Should be something readable and usable not just a static list of all the bugs. Corollary: individual new & noteworthy should be linked in to the collective New & Noteworthy.

Projects should optimize their update site using pack200 to reduce bandwidth utilization and provide a better update experience for users. Additionally, they should do site digesting.

Projects should use signed plugins using the Eclipse certificate.

by M5: TPTP, WTP

by M6: BIRT, DTP, EMF

Milestones and Release Candidates

These milestone and release candidate dates are based on the dependencies of the projects (we call these the +0, +1, and +2 dependencies). Obviously, if a +0 date slips, then it will cause the +1 and +2 dates to slip; similarly for a +1 slip causing +2 slips.

IP Schedule

All CQs must be submitted and prioritized by January 31st for Europa. This is a hard deadline.

Europa Builds

A number of utilities have been written to automate the assembly of Callisto (and now Europa) builds. These are available in their own CVS respository. You can find more information about how this is organized and individual project responsibilities for the build on this Europa Build page (and old information on the Callisto Build page).

The Europa Build page is where you go to learn how to add your project to the Europa build.

Coordinated Maintenance

We decided on September 28th and February 29th for the Fall and Winter maintenance releases. See specific band (+0, +1, +2, EPP) & freeze dates below.