Galileo Simultaneous Release

From Eclipsepedia

Revision as of 16:55, 24 September 2008 by Codeslave.ca.ibm.com (Talk | contribs)

Jump to: navigation, search

This page is for developers of the Galileo Simultaneous Release. If you are a consumer of the Release, perhaps a tester or an early adopter, you'll want Galileo Simultaneous Release For Users. Note that the master page on the eclipse.org site points here.

Contents

Requirements For Participation

Projects that are part of Galileo agree to abide by the following requirements. Note: the EMO will remove projects that do not meet the required constraints.

Must Do

These are required for participation:

  1. The projects must work together. This means that one should be able to load any subset of the Galileo 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.
  2. Projects must have build process maturity and their own functional project update site - the Galileo site will reference these sites, not replace them.
  3. Projects must use 4-part version numbers.
  4. Any new third-party plug-ins that are common between projects must be consumed via Orbit; the final Galileo 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).
  5. All plug-ins (bundles) must use the true bundle form. That is, provide a manifest.mf file, and not rely on the plugin.xml file being 'translated' into a manifest.mf file at initial startup. See bug 130598.
  6. All plug-ins must correctly list their required JVM versions in the manifest.mf. See the wiki page about selecting the correct JVM [1].
  7. Project representatives must attend the planning meetings and conference calls - you have to be involved to be involved. A few misses are ok, but chronic lack of attendance is a no-no.
  8. 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"
  9. 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
  10. Projects must have stated and demonstrated their intent to join Galileo by the M4+0 date. Projects do so by adding themselves to the table/list above, by signing off each milestone/RC on the Galileo/Signoffs page, and by contributing an .sc file to the Galileo common build.
  11. Projects must have a written ramp down policy by M6+0, linked in the table above. (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. See Platform 3.4 Endgame plan as a guideline. See also Galileo Final Daze.)
  12. Projects must have their IP approved (a normal Eclipse requirement) and will follow the Eclipse Legal deadlines to do so. See also bug 220977.
  13. Projects must optimize their update site using pack200 to reduce bandwidth utilization and provide a better update experience for users. Additionally, they should do site digesting.
  14. Projects must use signed plugins using the Eclipse certificate. Exceptions must be authorized by the planning council for technical reasons.
  15. Projects must have use jar'ed plug-ins unless there are technical reasons.
    1. Nested jars should be avoided if possible since it creates problems for projects that has dependencies to such plug-ins. The OSGi runtime is fine with it but the compiler is not able to handle classpaths that contain nested jars.
    2. In case only one nested jar exists, it is often better to expand the contents of that jar into the root folder (i.e. unnest the jar).
    3. If a plug-in contains large files that are frequently used (opened and closed), a jar'ed plug-in might degrade performance significantly since the file must be decompressed each time it is opened.
  16. Projects must use Eclipse message bundles unless there are technical reasons not to. (see Message Bundle Conversion Tool and [2])

Should Do

These are recommended for participating projects:

  1. Projects should have capabilities for their feature sets.
  2. 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.
  3. Non-project-team-members should be able to build each project.
  4. Non-project-team-members should be able to run unit tests on each project.
  5. Source tarballs should be created for Linux distros to build with. <need reference here, on how to do ... Kim :) >
  6. 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.
  7. Should use ICU4J when appropriate.
  8. Should provide build RSS feeds as per the build workshop.
  9. Should follow the User Interface Guidelines. The UI Checklist is a good place to start.
  10. Should not have improper API usage, i.e., should not use non-API of other projects.
  11. Should devote at least one milestone to performance and scalability improvements.
  12. Each major project (the top-level projects except for the Tools and Technology projects where it is the sub-projects) should have a splash page icon and contribute to the welcome page.

Encouraged

We added a third, even weaker, category of recommendations:

  1. Should participate in a User Interface Best Practices Working Group UI walkthrough.

Could Do

  1. SDKs can be included in the Galileo update site at the project's discretion. A best practice that was discussed would be a minimum run-time with additional sources and examples can be added via update manager or other features.

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. Note that the +0, +1, +2, and +3 dates are roughly equivalent to stable nightly builds in a traditional Eclipse project - each of these partial milestone builds will incorporate more and more of the associated project milestones. The "Release" date is the official M/RC date.

Note: in the following table, RC5 on the 'Galileo' line does not mean this final build is a release 'candidate' ... it is still to be the 'final build' for this Release ... but 'RC5' is the suggested "target" to have some consistent terminology in Bugzilla, and similar things, to be able to mark things that are different in the final release build than in the RC4 build. [The full word, "Galileo" doesn't make a very good bugzilla milestone target, since it's a little too inclusive, and "R" (for "Release") is too short. TODO: next year consider "GA" for this final target?]

Hopefully there will not by ANY differences between RC4, and RC5 ... but, some projects may find they have to make doc additions, readme files, etc., so ... this just provides a way that such changes can be consistently marked, tracked, etc., to better keep everyone informed about what might be different between RC4 and the RC5 (the final released code). [Note: it's probably obvious, but this does not mean "RC5" should be part of the final zip file names or anything. those can still be what ever "final" name they would always have.]

The calendar is available in the following formats: ICal,ATOM News Feed,HTML

Communication

Cross-Project Milestone & RC Status Reporting

As with Ganymede, reporting on status will be done using a wiki table.

Conference Calls

next: TBD
613.287.8000 or 866.362.7064 passcode 874551#

Mailing Lists and Newsgroups

Eclipse projects have three communication channels: a mailing list for developers, a newsgroup for users, and Bugzilla. Galileo, although not a "project" per se, will use the same structure:

The old eclipse.org-planning-council mailing list will be used for non-Galileo Planning Council items.

Bugs & Feature Requests

Galileo Builds

A number of utilities have been written to automate the assembly of Callisto '06, Europa '07, Ganymede '08 and now Galileo '09 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 Galileo Build page (with old information on the Ganymede Build and Europa Build pages).

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

Coordinated Service Releases (TBD)

These dates are to be determined.

Projects

The projects that plan to participate in the Galileo Simultaneous Release are listed below, along with their milestone offsets, leaders, release engineer, and ramp down policy.

Project/Component Project/Component Lead(s) Release Engineer Offset Ramp down Policy

BIRT

Wenfeng Li Xiaoying Gu +2 BIRT Ramp-down Policy

Buckminster

Thomas Hallgren, Henrik Lindberg Thomas Hallgren +2 Buckminster Ramp-down

CDT

Doug Schaefer Vivian Kong +1 CDT 5.0 Ramp-down

DLTK

Andrey Platov Andrey Platov +3 DLTK 0.95 Ramp Down Policy

DSDP DD

Pawel Piech Ted Williams +2 DD Ramp-down

DSDP TM

Martin Oberhuber Martin Oberhuber +2 TM Ramp-down

DTP

Brian Fitzpatrick Xiaoying Gu +1 DTP Ramp-down

ECF

Scott Lewis Ted Kubaska/Scott Lewis +1 ECF Ramp-down

The Eclipse Project

Platform, JDT, PDE
Philippe Mulet Kim Moir
Build Schedule
0 Eclipse 3.4 Endgame plan

Equinox

Thomas Watson, Jeff McAffer Kim Moir
Build Schedule
0

EMF

EMF (Core), SDO
Query, Transaction, Validation,
Teneo
Net4j, CDO
Ed Merks
Ed Merks
Christian Damus
Martin Taal
Eike Stepper
Nick Boldt

+1
+2
+2
+1, +2

Modeling Project
Ramp-down

EMFT

EMF Search
EMF Compare
Ecore Tools
Mint
Ed Merks
Lucas Bigeardel
Cédric Brun
David Sciamma
Peter Nehrer

Lucas Bigeardel
Cédric Brun
Jacques Lescot
Peter Nehrer


+2

Modeling Project
Ramp-down

EPP

Markus Knauer
Wayne Beaton

Wayne Beaton

+2 EPP Ramp Down Policy

GEF

Anthony Hunter Anthony Hunter +1

GEF 3.4 Ramp-Down

GMF

Richard Gronback Richard Gronback +2 Modeling Project
Ramp-down

MDT

OCL
UML2
UML2 Tools
XSD
Kenn Hussey
Christian Damus
James Bruck
Michael Golubev
Ed Merks
Nick Boldt

+1
+1
+3
+1

M2M

ATL
QVTO
Frédéric Jouault
Frédéric Jouault
Radek Dvorak
 

William Piers
Radek Dvorak

 

+2

M2T

JET
Xpand
MTL
Paul Elder
Paul Elder
Sven Efftinge
Jonathan Musset'

Paul Elder
Jan Koehnlein
Cédric Brun


+1
+2
+2

TMF

Xtext
Sven Efftinge, Frédéric Jouault
Sven Efftinge

Jan Koehnlein


+2

Modeling Project
Ramp-down

Mylyn

Mik Kersten +1

Ramp-down

Rich Ajax Platform (RAP)

Jochen Krause Benny Muskalla +2 RAP Ramp down

SOA Tools Platform (STP)

Oisin Hurley Oisin Hurley +3 Ramp-down

Subversive

Igor Vinnykov Alexander Gurov +2

Ramp-down

TPTP

Platform, Test, Trace, Monitoring
Joanna Kubasta Joel Cayne +2 Policy

Web Tools Platform (WTP)

David Williams David Williams +2 WTP 3.0 Ramp down Plan for Galileo