| <!-- saved from url=(0022)http://internet.e-mail --> | |
| <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> | |
| <html> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> | |
| <meta name="Author" content="Eclipse Project PMC"> | |
| <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> | |
| <meta name="ProgId" content="FrontPage.Editor.Document"> | |
| <title>Eclipse Project Draft 3.2 Plan</title> | |
| <link rel="stylesheet" href="../../default_style.css" type="text/css"> | |
| </head> | |
| <body> | |
| <h1>Eclipse Project<br> | |
| DRAFT 3.2 Plan</h1> | |
| <p>Last revised 11:30 EST February 14, 2005 (<img border="0" src="new.gif" width="12" height="12"> | |
| marks interesting changes)<br> | |
| <br> | |
| <i> Please send comments about this draft plan to the </i><a href="mailto:eclipse-dev@eclipse.org">eclipse-dev@eclipse.org</a> | |
| <i>developer mailing list.</i></p> | |
| <p>This document lays out the feature and API set for the next feature release | |
| of Eclipse after 3.1, designated release 3.2. | |
| <ul> | |
| <li><a href="#Deliverables">Release deliverables</a></li> | |
| <li><a href="#Milestones">Release milestones</a></li> | |
| <li><a href="#TargetOperatingEnvironments">Target operating environments</a></li> | |
| <li><a href="#Compatibility">Compatibility with previous releases</a></li> | |
| <li><a href="#Platform">Eclipse Platform project</a></li> | |
| <li><a href="#JDT">Java development tools (JDT) project</a></li> | |
| <li><a href="#PDE">Plug-in development environment (PDE) project</a></li> | |
| </ul> | |
| <p>Plans do not materialize out of nowhere, nor are they entirely static. To | |
| ensure the planning process is transparent and open to the entire Eclipse | |
| community, we (the Eclipse PMC) post plans in an embryonic form and revise them | |
| throughout the release cycle. | |
| <p>The first part of the plan deals with the important matters of release | |
| deliverables, release milestones, target operating environments, and | |
| release-to-release compatibility. These are all things that need to be clear for | |
| any release, even if no features were to change. | |
| <p>The remainder of the plan consists of plan items for the three projects under | |
| the Eclipse top-level project. Each plan item covers a feature or API that is to be added to | |
| Eclipse, or some aspect of Eclipse that is to be improved. Each plan item has | |
| its own entry in the Eclipse bugzilla database, with a title and a concise | |
| summary (usually a single paragraph) that explains the work item at a suitably | |
| high enough level so that everyone can readily understand what the work item is | |
| without having to understand the nitty-gritty detail. | |
| <p>Not all plan items represent the same amount of work; some may be quite | |
| large, others, quite small. Some plan items may involve work that is localized | |
| to a single Platform component; others may involve coordinated changes to | |
| several components; other may pervade the entire Platform. Although some plan | |
| items are for work that is more pressing that others, the plan items appear in | |
| no particular order. | |
| <p>With the previous release as the starting point, this is the plan for how we | |
| will enhance and improve it. Fixing bugs, improving test coverage, | |
| documentation, examples, performance tuning, usability, etc. are considered routine | |
| ongoing maintenance activities and are not included in this plan unless they | |
| would also involve a significant change to the API or feature set, or involve a | |
| significant amount of work. The intent of the plan is to account for all interesting feature work. | |
| <p>The current status of each plan item is noted: | |
| <ul> | |
| <li><b>Committed</b> plan item - A committed plan item is one that we have | |
| decided to address for the release.</li> | |
| <li><b>Proposed</b> plan item - A proposed plan item is one that we are | |
| considering addressing for the release. Although we are actively | |
| investigating it, we are not yet in a position to commit to it, or to say | |
| that we won't be able to address it. After due consideration, a proposal | |
| will either be committed or deferred.</li> | |
| <li><b>Deferred</b> plan item - A reasonable proposal that will not make it in | |
| to this release for some reason is marked as deferred with a brief note as | |
| to why it was deferred. Deferred plan items may resurface as committed plan | |
| items at a later point.</li> | |
| </ul> | |
| <h2><a name="Deliverables"></a>Release deliverables</h2> | |
| <p>The release deliverables have the same form as previous releases, namely: | |
| <ul> | |
| <li>Source code release for Eclipse Project, available as versions tagged "R3_2" | |
| in the Eclipse Project <a href="http://dev.eclipse.org/viewcvs/">CVS repository</a>.</li> | |
| <li>Eclipse Project SDK (includes runtime binary and SDK for Platform, JDT, | |
| and PDE) (downloadable).</li> | |
| <li>Eclipse Platform runtime binary and SDK distributions (downloadable).</li> | |
| <li>Eclipse RCP runtime binary and SDK distributions (downloadable).</li> | |
| <li>JDT runtime binary and SDK distributions (downloadable).</li> | |
| <li>PDE runtime binary and SDK distributions (downloadable).</li> | |
| <li>Eclipse SDK Examples (downloadable).</li> | |
| <li>SWT distribution (downloadable).</li> | |
| </ul> | |
| <h2><a name="Milestones"></a>Release milestones</h2> | |
| <p>Release milestone occurring at roughly 6 week intervals exist to facilitate | |
| coarse-grained planning and staging. The milestones are:</p> | |
| <ul> | |
| <li><img border="0" src="new.gif" width="12" height="12"> Friday Aug. 12, 2005 | |
| - Milestone 1 (3.2 M1) - stable build</li> | |
| <li><img border="0" src="new.gif" width="12" height="12"> Friday Sep. 23, 2005 | |
| - Milestone 2 (3.2 M2) - stable build</li> | |
| <li><img border="0" src="new.gif" width="12" height="12"> Friday Nov. 4, 2005 | |
| - Milestone 3 (3.2 M3) - stable build</li> | |
| <li><img border="0" src="new.gif" width="12" height="12"> Friday Dec. 16, 2005 | |
| - Milestone 4 (3.2 M4) - stable build</li> | |
| </ul> | |
| <p>Additional 2006 milestones will be added later. <img border="0" src="new.gif" width="12" height="12"> | |
| Our target is to complete 3.2 in 2Q2006. All release deliverables will be available | |
| for download as soon as the release has been tested and validated in the target | |
| operating configurations listed below.</p> | |
| <h2><a name="TargetOperatingEnvironments"></a>Target Operating Environments</h2> | |
| <p>In order to remain current, each Eclipse release targets reasonably current | |
| versions of the underlying operating environments.</p> | |
| <p>Most of the Eclipse SDK is "pure" Java code and has no direct dependence | |
| on the underlying operating system. The chief dependence is therefore on the | |
| Java 2 Platform itself. The 3.2 release of the Eclipse Project is written and | |
| compiled against version [TBD] of the Java 2 Platform APIs, and targeted to | |
| run on version [TBD] of the Java 2 Runtime Environment, Standard Edition.</p> | |
| <p>There are many different implementations of the Java 2 Platform running atop | |
| a variety of operating systems. We focus Eclipse testing on a handful of popular | |
| <span class="header">combinations of operating system and Java 2 Platform; these | |
| are our <em>reference platforms</em>. Eclipse undoubtedly runs fine in many | |
| operating environments beyond the reference platforms we test. However, since | |
| we do not systematically test them we cannot vouch for them. Problems encountered | |
| when running Eclipse on non-reference platform that cannot be recreated on any | |
| reference platform will be given lower priority than problems with running Eclipse | |
| on a reference platform.</span></p> | |
| <p>Eclipse SDK 3.2 is tested and validated on the following reference platforms | |
| (this list is updated over the course of the release cycle):</p> | |
| <p> </p> | |
| <table width="821" border="1"> | |
| <tr bgcolor="#CCCCCC"> | |
| <th colspan="4"> | |
| <div align="center"> | |
| <b><font size="+1">Eclipse Reference Platforms</font></b> | |
| </div> | |
| </th> | |
| </tr> | |
| <tr> | |
| <td width="205"><b>Operating system</b></td> | |
| <td width="76"><b>Processor architecture</b></td> | |
| <td width="59"><b>Window system</b></td> | |
| <td width="453"><b>Java 2 Platform</b></td> | |
| </tr> | |
| <tr> | |
| <td width="205">Microsoft Windows XP</td> | |
| <td width="76">Intel x86</td> | |
| <td width="59">Win32</td> | |
| <td width="453">Sun Java 2 Standard Edition [version TBD] for Microsoft Windows</td> | |
| </tr> | |
| <tr> | |
| <td width="205">Microsoft Windows XP</td> | |
| <td width="76">Intel x86</td> | |
| <td width="59">Win32</td> | |
| <td width="453"> <p> IBM 32-bit SDK for Windows, Java 2 Technology Edition | |
| [version TBD] </p> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td width="205" height="22">Red Hat Enterprise Linux WS 3</td> | |
| <td width="76">Intel x86</td> | |
| <td width="59">GTK</td> | |
| <td width="453">Sun Java 2 Standard Edition [version TBD] for Linux x86</td> | |
| </tr> | |
| <tr> | |
| <td width="205">Red Hat Enterprise Linux WS 3</td> | |
| <td width="76">Intel x86</td> | |
| <td width="59">GTK</td> | |
| <td width="453">IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology | |
| Edition [version TBD]</td> | |
| </tr> | |
| <tr> | |
| <td width="205">SLES 9</td> | |
| <td width="76">Intel x86</td> | |
| <td width="59">GTK</td> | |
| <td width="453">Sun Java 2 Standard Edition [version TBD] for Linux x86</td> | |
| </tr> | |
| <tr> | |
| <td width="205">SLES 9</td> | |
| <td width="76">Intel x86</td> | |
| <td width="59">GTK</td> | |
| <td width="453">IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology | |
| Edition [version TBD]</td> | |
| </tr> | |
| <tr> | |
| <td width="205">Sun Solaris 8</td> | |
| <td width="76">SPARC</td> | |
| <td width="59">Motif</td> | |
| <td width="453">Sun Java 2 Standard Edition [version TBD] for Solaris SPARC</td> | |
| </tr> | |
| <tr> | |
| <td width="205">HP HP-UX 11i</td> | |
| <td width="76">hp9000<br> | |
| PA-RISC</td> | |
| <td width="59">Motif</td> | |
| <td width="453"><span class="header">HP-UX SDK for the Java 2 platform [version | |
| TBD] for hp9000 PA-RISC</span></td> | |
| </tr> | |
| <tr> | |
| <td width="205" height="21">IBM AIX 5L Version 5.2</td> | |
| <td width="76">PowerPC</td> | |
| <td width="59">Motif</td> | |
| <td width="453"> <p>IBM 32-bit SDK for AIX, Java 2 Technology Edition [version | |
| TBD]</p> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td width="205">Apple Mac OS X 10.3</td> | |
| <td width="76">PowerPC</td> | |
| <td width="59">Carbon</td> | |
| <td width="453">Java 2 Standard Edition [version TBD] for Mac OS X</td> | |
| </tr> | |
| </table> | |
| <p>Although untested, Eclipse should work fine on other OSes that support the | |
| same window system. For Win32: Windows 98, ME, NT, 2000, and Server 2003; SWT | |
| HTML viewer requires Internet Explorer 5 (or higher). For GTK on other Linux | |
| systems: version 2.2.1 of the GTK+ widget toolkit and associated librares (GLib, | |
| Pango); SWT HTML viewer requires Mozilla 1.4GTK2. For Motif on other Linux | |
| systems: Open Motif 2.1 (included); SWT HTML viewer requires Mozilla 1.4GTK2.</p> | |
| <p>An early access version of Eclipse is also available for 64-bit Linux GTK. | |
| Testing has been limited to early access 64-bit J2SEs running on AMD64 | |
| processors.</p> | |
| <p>SWT is also supported on the QNX Neutrino operating system, x86 processor, | |
| Photon window system, and IBM J9 VM version 2.0. Eclipse 3.2 on Windows or Linux | |
| can be used cross develop QNX applications. (Eclipse is unavailable on QNX because | |
| there is currently no J2SE for QNX.)</p> | |
| <h4>Internationalization</h4> | |
| <p>The Eclipse Platform is designed as the basis for internationalized products. | |
| The user interface elements provided by the Eclipse SDK components, including | |
| dialogs and error messages, are externalized. The English strings are provided | |
| as the default resource bundles.</p> | |
| <p>Latin-1 locales are supported by the Eclipse SDK on all of the above | |
| operating environments; DBCS locales are supported by the Eclipse SDK on the | |
| Windows, GTK, and Motif window systems; BIDI locales are supported by the | |
| Eclipse SDK only on Windows operating environments. | |
| <p>The Eclipse SDK supports GB 18030, the new Chinese code page standard, on | |
| Windows XP and 2000, and Linux. | |
| <p>German and Japanese locales are tested.</p> | |
| <h4>BIDI support</h4> | |
| <p>SWT fully supports BIDI on Windows (only). On Linux GTK, SWT supports entering | |
| and displaying BIDI text. The widget orientation of JFace windows defaults appropriately | |
| in BIDI locales on Windows (only).</p> | |
| <p>The Eclipse SDK is a development environment targeted at technical professionals | |
| - not an end user application. However, the Eclipse SDK tools will permit technical | |
| professionals who are working in English to build Hebrew/Arabic end user Java | |
| programs which are themselves not based on the Eclipse SDK. The BIDI support | |
| in the Eclipse SDK allows a Java programmer to work with BIDI strings, code | |
| comments, etc. but the Eclipse SDK itself is not designed to be localized for | |
| BIDI locales and its widget orientation can not be changed.</p> | |
| <h2><a name="Compatibility"></a>Compatibility with Previous Releases</h2> | |
| <h3>Compatibility of Release 3.2 with 3.1</h3> | |
| <p>Eclipse 3.2 will be compatible with Eclipse 3.1 (and, hence, with 3.0).</p> | |
| <p><b>API Contract Compatibility:</b> Eclipse SDK 3.2 will be upwards contract-compatible | |
| with Eclipse SDK 3.1 except in those areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.platform.doc.isv/porting/eclipse_3_2_porting_guide.html" target="_top"><em>Eclipse | |
| 3.2 Plug-in Migration Guide</em></a>. Programs that use affected APIs and extension | |
| points will need to be ported to Eclipse SDK 3.2 APIs. Downward contract compatibility | |
| is not supported. There is no guarantee that compliance with Eclipse SDK 3.2 | |
| APIs would ensure compliance with Eclipse SDK 3.1 APIs. Refer to <i><a href="http://eclipse.org/eclipse/development/java-api-evolution.html">Evolving | |
| Java-based APIs</a></i> for a discussion of the kinds of API changes that maintain | |
| contract compatibility.</p> | |
| <p><b>Binary (plug-in) Compatibility:</b> Eclipse SDK 3.2 will be upwards binary-compatible | |
| with Eclipse SDK 3.1 except in those areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.platform.doc.isv/porting/eclipse_3_2_porting_guide.html" target="_top"><em>Eclipse | |
| 3.2 Plug-in Migration Guide</em></a>. Downward plug-in compatibility is not | |
| supported. Plug-ins for Eclipse SDK 3.2 will not be usable in Eclipse SDK 3.1. | |
| Refer to <i><a href="http://eclipse.org/eclipse/development/java-api-evolution.html">Evolving | |
| Java-based APIs</a></i> for a discussion of the kinds of API changes that maintain | |
| binary compatibility. | |
| <p><b>Source Compatibility:</b> Eclipse SDK 3.2 will be upwards source-compatible | |
| with Eclipse SDK 3.1 except in the areas noted in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.platform.doc.isv/porting/eclipse_3_2_porting_guide.html" target="_top"><em>Eclipse | |
| 3.2 Plug-in Migration Guide</em></a>. This means that source files written to | |
| use Eclipse SDK 3.1 APIs might successfully compile and run against Eclipse | |
| SDK 3.2 APIs, although this is not guaranteed. Downward source compatibility | |
| is not supported. If source files use new Eclipse SDK APIs, they will not be | |
| usable with an earlier version of the Eclipse SDK. | |
| <p><b>Workspace Compatibility:</b> Eclipse SDK 3.2 will be upwards workspace-compatible | |
| with Eclipse SDK 3.1 unless noted. This means that workspaces and projects created | |
| with Eclipse SDK 3.1 or 3.0 can be successfully opened by Eclipse SDK 3.2 and | |
| upgraded to a 3.2 workspace. This includes both hidden metadata, which is localized | |
| to a particular workspace, as well as metadata files found within a workspace | |
| project (e.g., the .project file), which may propagate between workspaces via | |
| file copying or team repositories. Individual plug-ins developed for Eclipse | |
| SDK 3.2 should provide similar upwards compatibility for their hidden and visible | |
| workspace metadata created by earlier versions; 3.2 plug-in developers are responsible | |
| for ensuring that their plug-ins recognize 3.1, 3.0, 2.1, and 2.0 metadata and | |
| process it appropriately. User interface session state may be discarded when | |
| a workspace is upgraded. Downward workspace compatibility is not supported. | |
| A workspace created (or opened) by a product based on Eclipse 3.2 will be unusable | |
| with a product based an earlier version of Eclipse. Visible metadata files created | |
| (or overwritten) by Eclipse 3.2 will generally be unusable with earlier versions | |
| of Eclipse. | |
| <p><b>Non-compliant usage of API's</b>: All non-API methods and classes, and | |
| certainly everything in a package with "internal" in its name, are | |
| considered implementation details which may vary between operating environment | |
| and are subject to change without notice. Client plug-ins that directly depend | |
| on anything other than what is specified in the Eclipse SDK API are inherently | |
| unsupportable and receive no guarantees about compatibility within a single | |
| release much less with an earlier releases. Refer to <i><a href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html">How | |
| to Use the Eclipse API</a></i> for information about how to write compliant | |
| plug-ins. | |
| <h2>Themes and Priorities</h2> | |
| <p>The changes under consideration for the next release of Eclipse Platform, JDT, | |
| and PDE will address major themes identified by the Eclipse Requirements Council | |
| (Themes and Priorities dated Dec. 15, 2004 - <a href="http://www.eclipse.org/org/councils/20041215EclipseTPFinalDraft.pdf">pdf)</a>. | |
| Three of them are especially germane to this top level project:</p> | |
| <ul> | |
| <li><strong> Scaling Up</strong> - This refers to the need for Eclipse to deal | |
| with development and deployment on a larger and more complex scale. Increasing | |
| complexities arise from large development teams distributed in different locations, | |
| large source code bases and fragile build environments that have been developed | |
| incrementally over time, the dynamic nature of new source code bases and their | |
| interaction with configuration management, and build environments involving | |
| many different tools and build rules.</li> | |
| <li><strong> Enterprise Ready</strong> - Eclipse should be improved to allow | |
| it to be better used by large development organizations.</li> | |
| <li><strong> Design for Extensibility: Be a Better Platform</strong> - Within | |
| the Eclipse community, many development projects are defining new development | |
| platforms on top of the Eclipse Platform. The Eclipse Platform must evolve | |
| to better support this type of usage, including providing new common infrastructure | |
| and abstraction layers needed by upper platforms and adding APIs to expose | |
| existing functionality only available internally so that upper platforms can | |
| more readily integrate with and reuse what's already there.</li> | |
| </ul> | |
| <p>Each of the 3 projects under the Eclipse top-level project is covered in its | |
| own section: </p> | |
| <ul> | |
| <li><a href="#Platform">Eclipse Platform project</a></li> | |
| <li><a href="#JDT">Java development tools (JDT) project</a></li> | |
| <li><a href="#PDE">Plug-in development environment (PDE) project</a></li> | |
| </ul> | |
| <p>For each project, the items listed reflect new features of Eclipse or areas | |
| where existing features will be significantly reworked. Each item indicates | |
| the components likely affected by that work item (many items involve coordinated | |
| changes to several components). Numbers in parentheses link to bugzilla problem | |
| reports for that plan item. | |
| <h2><a name="Platform">Eclipse Platform project</a></h2> | |
| <p>The Eclipse Platform provides the most fundamental building blocks. Plan | |
| items reflect new features of the Eclipse Platform, or areas where existing | |
| features will be significantly reworked.</p> | |
| <h4>Committed Items (Eclipse Platform project)</h4> | |
| <blockquote> | |
| <p><i>None at this time.</i></p> | |
| </blockquote> | |
| <h4>Proposed Items (Eclipse Platform project)</h4> | |
| <blockquote> | |
| <p><i>None at this time.</i></p> | |
| </blockquote> | |
| <h4>Deferred Items (Eclipse Platform project)</h4> | |
| <blockquote> | |
| <p><i>None at this time.</i></p> | |
| </blockquote> | |
| <p>(End of items for Eclipse Platform project.)</p> | |
| <h2><a name="JDT">Java development tools (JDT) project</a></h2> | |
| <p><a href="http://www.eclipse.org/jdt/index.html">Java development tools</a> (JDT) | |
| implements a Java IDE based on the Eclipse Platform. The following work items | |
| reflect new features of JDT, or areas where existing features will be | |
| significantly reworked.</p> | |
| <h4>Committed Items (Eclipse JDT project,)</h4> | |
| <blockquote> | |
| <p><i>None at this time.</i></p> | |
| </blockquote> | |
| <h4>Proposed Items (Eclipse JDT project)</h4> | |
| <blockquote> | |
| <p><i>None at this time.</i></p> | |
| </blockquote> | |
| <h4>Deferred Items (Eclipse JDT project)</h4> | |
| <blockquote> | |
| <p><i>None at this time.</i></p> | |
| </blockquote> | |
| <p>(End of items for Eclipse JDT project.) | |
| <h2><a name="PDE">Plug-in development environment (PDE) project</a></h2> | |
| The <a href="http://www.eclipse.org/pde/index.html">plug-in development | |
| environment</a> (PDE) consists of tools for developing plug-ins for the | |
| Eclipse Platform. The following work items reflect new features of PDE, or areas | |
| where existing features will be significantly reworked. | |
| <h4>Committed Items (Eclipse PDE project)</h4> | |
| <blockquote> | |
| <p><i>None at this time.</i></p> | |
| </blockquote> | |
| <h4>Proposed Items (Eclipse PDE project)</h4> | |
| <blockquote> | |
| <p><i>None at this time.</i></p> | |
| </blockquote> | |
| <h4>Deferred Items (Eclipse PDE project)</h4> | |
| <blockquote> | |
| <p><i>None at this time.</i></p> | |
| </blockquote> | |
| <h4>(End of items for Eclipse PDE project.)</h4> | |
| </body> | |
| </html> |