Difference between revisions of "Planning Council/Oct 01 2008"

From Eclipsepedia

Jump to: navigation, search
m (Added theme topic and StAC meeting)
m (Topics)
Line 18: Line 18:
* Galileo [[Galileo_Simultaneous_Release#Requirements_For_Participation|Requirements for Participation]]
* Galileo [[Galileo_Simultaneous_Release#Requirements_For_Participation|Requirements for Participation]]
* Galileo Themes and coordination/communication with Requirements and Architecture Councils (StAC meeting Tuesday, October 28th from 1300-1500 at the Hyatt during EclipseWorld)
* Galileo Themes and coordination/communication with Requirements and Architecture Councils (StAC meeting Tuesday, October 28th from 1300-1700 at the Hyatt during EclipseWorld)
* What is in an SDK?  Sources, JavaDoc, Examples?
* What is in an SDK?  Sources, JavaDoc, Examples?

Revision as of 10:17, 22 September 2008

Meeting Title: Planning Council Conference Call
Date & Time: Wednesday Sept 03, 2008 at 1600 UTC / 0900 SFO / 1200 NYC / 1700 London / 1800 Berlin
Dial-in: For the call-in numbers, please see the Portal page.



  • TBD


  • TBD


  • Galileo Requirements for Participation
  • Galileo Themes and coordination/communication with Requirements and Architecture Councils (StAC meeting Tuesday, October 28th from 1300-1700 at the Hyatt during EclipseWorld)
  • What is in an SDK? Sources, JavaDoc, Examples?

As discussed on the last call, a couple of approaches were discussed to help track compliancy of "Must do" and "Should do" items. Regardless of the approach used for tracking, it seems we could benefit from some more detail on each item, including verification method, target milestone, etc. as seen below. Also included are those we agreed should move to "Must do" from "Should do" in addition to some rewording of existing items. In lieu of sorting by priority, I categorized each and reordered a bit. I consolidated all requirements into just "Must Do" and "Should Do" as it seems having several levels is not beneficial.

Galileo Release "Must Do" Items
Category Item Description Target Milestone Verification Method Overall Status
Participation Intent 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. Note: the .sc file approach may change for Galileo. M4 Manual detail
Communicate 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. M4 Manual detail
Attendance 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. M4 Manual detail
Ramp Down Policy 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.) M6 Manual detail
IP Projects must have their IP approved (a normal Eclipse requirement) and will follow the Eclipse Legal deadlines to do so. See also bug 220977. RC Manual (Legal) detail
Development APIs Projects should leverage only published APIs of dependencies. As a Release Review requirement, deviations should be listed as part of a migration plan, with bugs listed where APIs need to be provided by dependent projects. Perhaps a '99 44/100% Pure APIs' indicator for projects with no improper usage can be used to advertise the 'cleanest' projects? ;) M6 PDE API Tools detail
Message Bundles Projects must use Eclipse message bundles unless there are technical reasons not to. (see Message Bundle Conversion Tool and [1]) M4 Manual detail
Bundles Version Numbering Projects must use 4-part version numbers. M5 Manual (script?) detail
Leverage OSGi 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. With that, empty plugin.xml files in the presence of a manifest.mf file should not be included in a bundle. M5 Manual (script?) detail
Execution Environment All plug-ins must correctly list their required JVM versions in the manifest.mf. See the wiki page about selecting the correct JVM [2]. M5 Manual (script?) detail
Signing Projects must use signed plugins using the Eclipse certificate. Exceptions must be authorized by the planning council for technical reasons. M4 Script detail
Use Jars Projects must have use jar'ed plug-ins unless there are technical reasons. 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. 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). 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. M4 Manual (script?) detail
Releng Builds Projects must have build process maturity and their own functional project update site - the Galileo site will reference these sites, not replace them. M4 Manual detail
Orbit 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). M4 Manual detail
Optimization 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. With the introduction of p2, project update sites also need to have metadata generated (artifact and content repository info). M4 Manual (script?) detail
Deployment 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. RC Manual detail
Capabilities Each project will provide basic capability/activity definitions to allow for their UI contributions to be hidden. These should be provided in a separate plugin/feature to facilitate inclusion/exclusion by consumers in product development. M6 Manual detail
Localization The project participates in Babel, meaning it is registered and available for string translation, etc. M6 Manual detail
Galileo Release "Should Do" Items
Item Description Target Milestone Verification Method Overall Status
Releng Build reproducibility through proper tagging and documented build process should be provided. This includes the execution of unit tests and build RSS feeds. RC Manual detail
Usability Should follow the User Interface Guidelines. The UI Checklist is a good place to start. Also, should participate in a User Interface Best Practices Working Group UI walkthrough. M4 Manual detail
Accessibility Should design for accessibility M4 ACTF detail
Performance Projects should devote at least one milestone to performance and scalability improvements. M7 [3] detail
Branding Each major project (the top-level projects except for the Tools and Technology projects where it is the sub-projects) should have an About dialog icon and contribute to the welcome page. RC Manual detail
Localization Should use ICU4J when appropriate. M5 Manual detail
New & Noteworthy 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. RC Manual detail

For tracking, these are the two approaches discussed that we can decide on the call:

  • One was to use Bugzilla to assign to each participant a prioritized bug for each item (P1 = must, P2 = should, etc.) with target milestones, as it's best to have certain items completed by a specified milestone (e.g. API lockdown). A "master" bug for each could be used to clearly show dependencies and their status.
  • The other was to use the familiar checklist approach, whereby each participant would indicate completion of each item.


  • In person meeting to coincide with EclipseWorld
  • December 10-11, 2008 - plenary session with Board

Additional Topics

  • IP process improvement discussion with Janet Campbell - tentative

Action Items

  • Query Babel project for string freeze deadline and participation requirement info (Rich)
  • Query ACTF for information on accessibility to include as release requirement (Rich)
  • Investigate the use of p2 to create a "virtual" simultaneous release update site, sans the jar copying (Rich)
  • Look into having a "name that train" contest to coincide with EclipseCon each year (artwork as well?) (Bjorn)