| <html> |
| <head> |
| <meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"> |
| <link rel=Edit-Time-Data href="./technology-charter_files/editdata.mso"> |
| <title>Eclipse Tools Project</title> |
| <style><!-- |
| .Normal |
| {font-size:12.0pt; |
| font-family:"Times New Roman";} |
| --> |
| </style> |
| </head> |
| <body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000"> |
| <table border=0 cellspacing=5 cellpadding=0 width="100%"> |
| <tr> |
| <td colspan=2 valign=top bgcolor="#0080C0" class="Normal"> |
| <p><b><span style='font-size:10.0pt;font-family:Arial; |
| color:white'>Eclipse Technology Project Charter - v1.0</span></b></p> |
| </td> |
| </tr> |
| <tr> |
| <td class="Normal"> |
| <p><b>Overview</b><br> |
| The Eclipse Technology Project is an open software research and development |
| project, which encapsulates three related activity streams, each of which |
| is based on or uses the Eclipse Platform and/or Eclipse Tools: </p> |
| <p style=' '> 1.<span style='font:7.0pt "Times New Roman"'> |
| </span> academic research projects and other exploratory investigations |
| (“Research Stream”);</p> |
| <p style=' '> 2.<span style='font:7.0pt "Times New Roman"'> |
| </span> development of educational materials, teaching aids and courseware |
| (“Education Stream”);</p> |
| <p style=' '> 3.<span style='font:7.0pt "Times New Roman"'> |
| </span> incubation of small-scale, innovative platform and tools projects |
| (“Incubators Stream”).</p> |
| <p>The project charter is a living document that will be updated to reflect |
| the evolution of the mission and development processes over time.</p> |
| <p><b>Mission</b><br> |
| The mission of the Eclipse Technology Project is to provide a home within |
| eclipse.org for small, informally structured subprojects which add new |
| capabilities to the Eclipse software base (Incubators Stream), foster |
| greater community awareness and understanding of Eclipse (Education Stream), |
| or explore research issues in Eclipse-relevant domains such as programming |
| languages, tools, and development environments (Research Stream). |
| The Eclipse Technology Project is intended to: </p> |
| <p style=' '> 1.<span style='font:7.0pt "Times New Roman"'> |
| </span> provide the open source community with a lighter weight alternative |
| to the larger scale, more structured development activities carried out |
| by other PMCs, and </p> |
| <p style=' '> 2.<span style='font:7.0pt "Times New Roman"'> |
| </span> create opportunities for researchers, academics and educators |
| to play a significant role within the Eclipse community. </p> |
| <p><b>Scope</b><br> |
| The scope of the Eclipse Technology Project will encompass a wide variety |
| of small subprojects, rather than a few large ones. While anticipating |
| enormous diversity in the content of these activities, from a process-oriented |
| viewpoint they will all share important common characteristics, which |
| argues for a common management envelope:</p> |
| <p style=' |
| '> <span |
| style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> |
| </span></span> Focus on pre-competitive development and research</p> |
| <p style=' |
| '> <span |
| style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> |
| </span></span> Use of informal development processes</p> |
| <p style=' |
| '> <span |
| style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> |
| </span></span> Fluid project tracking due to frequent plan changes</p> |
| <p style=' |
| '> <span |
| style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> |
| </span></span> Flexible milestones which adapt based on partial results</p> |
| <p style=' |
| '> <span |
| style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> |
| </span></span> Small teams</p> |
| <p style=' |
| '> <span |
| style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> |
| </span></span> Resource commitments tentative, due to volunteer labor |
| or lack of sponsor funding</p> |
| <p style=' |
| '> <span |
| style='font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> |
| </span></span> Development often cross-cuts the scope of several other |
| Eclipse subprojects</p> |
| <p>The Eclipse Technology Project serves as a single point of focus for |
| such teams, and provides them with a home within the Eclipse community, |
| to encourage communication, and where appropriate, collaboration and coordination. |
| By providing common management for these projects eclipse.org can facilitate |
| maximum sharing and creation of common components, and avoid redundant |
| efforts. In many cases successful Research subprojects will evolve |
| into Incubators, and Incubators in turn may migrate to other PMCs, either |
| by merging into an existing subproject, or by forming the basis for a |
| new one.</p> |
| <p>The Education Stream plays a vital role in promoting the use of Eclipse. |
| By making high quality educational materials freely available, we |
| both enable self-education by individual users, and facilitate the incorporation |
| of Eclipse-related materials into university courses and commercial educational |
| offerings.</p> |
| <p>The list of subprojects under the Eclipse Technology PMC will be maintained |
| as an addendum to this charter (Attachment A).</p> |
| <p><b>Project Management Committee</b><a name=PMC></a><br> |
| The Eclipse Technology Project is managed by a small group known as the |
| Eclipse Technology Project Management Committee [Eclipse Technology PMC].</p> |
| <p>The Eclipse Technology PMC is responsible for the strategic direction |
| and success of the Eclipse Technology Project. However, it will |
| operate differently from other eclipse.org PMCs, in keeping with a more |
| informal style of organization. While as the governing body it is |
| expected to ensure the project’s overall welfare and define its |
| technical vision, with respect to individual subprojects its role is less |
| to direct than to guide. Each subproject will be given a great deal |
| of local autonomy. In particular, a subproject will be responsible |
| for its own technical program, and for defining and adopting appropriate |
| development processes. The PMC is responsible for ensuring that |
| each subproject operates in a manner consistent with eclipse.org’s |
| Charter and guiding principles, especially fairness and openness; for |
| conflict resolution; for providing necessary project infrastructure; and |
| for ensuring the overall technical success of the project. </p> |
| <p>Unlike other PMCs, the Eclipse Technology PMC is also responsible for |
| approving new subprojects, subject to review by the Eclipse Board at its |
| regular meetings. However, only the Eclipse Board can terminate |
| a subproject. This arrangement allows the PMC to be flexible and |
| responsive while ensuring that the Board continues to be the final arbiter |
| of eclipse.org’s integrity and strategic direction. </p> |
| <p>The PMC has the following responsibilities:</p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Providing the leadership and vision to guide the project’s |
| overall direction. </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Providing assistance and support to the developers and |
| researchers working on the project by removing obstacles, solving problems, |
| and resolving conflicts. </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Searching for new subprojects, inviting subproject proposals, |
| evaluating and approving proposals.</p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Defining a process for creating, evaluating and approving |
| subprojects. This process will cover new projects created from scratch, |
| as well as the mechanism for evaluating pre-existing projects and adopting |
| them as an Eclipse Technology subproject. </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Recommending to the Board when a subproject should discontinued. |
| </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Appointing the subproject lead, establishing the initial |
| set of subproject committers, and establishing the procedures for electing |
| new committers. </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Helping to ensure that subprojects have enough contributors, |
| and helping to fill vacancies. </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Coordinating relationships with other eclipse.org projects. |
| </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Facilitating code or other donations by individuals or |
| companies. </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Ensuring that licensing is compatible with the licensing |
| policy established by Board. </p> |
| <p style=' '> <span style='font-size:12.0pt; |
| font-family:Symbol'>·<span style='font:7.0pt "Times New Roman"'> |
| </span></span> Representing the project to the outside world. <span |
| style='font-size:12.0pt;'></span></p> |
| <p>The PMC Lead is appointed by the Board. The initial PMC is selected by |
| the PMC Lead. Thereafter, to become a member of the PMC, an individual |
| must be nominated by a member of the PMC, and unanimously approved by |
| all PMC members.</p> |
| <p>In the unlikely event that a member of the PMC becomes disruptive to |
| the process or ceases to contribute for an extended period, the member |
| may be removed by unanimous vote of remaining PMC members.</p> |
| <p>The PMC is responsible for maintaining and updating the project charter. |
| Development and research must conform to any rules or processes outlined |
| in the charter, so a change to the development process may necessitate |
| a change to the charter. All members of the PMC must unanimously approve |
| changes.</p> |
| <p><b>Roles</b><br> |
| The Eclipse Technology Project is a meritocracy -- the more you contribute, |
| and the higher the quality of your contribution, the more you are allowed |
| to do. However with this comes increased responsibility.</p> |
| <p><b>Users</b><br> |
| Users are the people who use the output from the Project. Output will |
| typically consist of software and research. Software in this context means |
| intellectual property in electronic form, including source and binary |
| code, documentation, courseware, reports and papers. Users do not |
| contribute software, but they are using the software, reporting problems, |
| and making requests and suggestions. Users are encouraged to participate |
| through the user newsgroup(s), asking questions, providing suggestions, |
| and helping other users. Users are also encouraged to report problems |
| and issues using the bug tracking system. </p> |
| <p><b>Developers</b><br> |
| Users who contribute software or research become developers. Developers |
| are encouraged to participate in the user newsgroup(s), and should monitor |
| the developer mailing list associated with their area of contribution. |
| When appropriate, developers may also contribute to development design |
| discussions related to their area of contribution. Developers are expected |
| to be proactive in reporting problems in the bug tracking system. </p> |
| <p><b>Committers</b><br> |
| Developers who make frequent and valuable contributions to a subproject, |
| or component of a subproject (in the case of large subprojects), can have |
| their status promoted to that of a "committer" for that subproject |
| or component. Committers have write access to the software repository |
| for the associated subproject (component), and gain voting rights allowing |
| them to affect the future of the subproject (component).</p> |
| <p>In order for a developer to become a committer, another committer for |
| the subproject (component) can nominate that developer, or the developer |
| can ask for committer status. Once a developer is nominated, the committers |
| for the subproject (component) will vote. If there are at least 3 positive |
| votes and no negative votes, the developer is recommended to the PMC for |
| commit privileges. If the PMC approves, the developer is converted into |
| a committer and given write access to the software repository for that |
| subproject (component). Becoming a committer is a privilege that is earned |
| by contributing and showing discipline and good judgment. It is a responsibility |
| that should be neither given nor taken lightly.</p> |
| <p>At times, committers may go inactive for a variety of reasons. The decision |
| making process of the project relies on active committers who respond |
| to discussions and votes in a constructive and timely manner. The PMC |
| is responsible for ensuring the smooth operation of the project. A committer |
| that is disruptive, does not participate actively, or has been inactive |
| for an extended period may have his or her commit status removed by the |
| PMC.</p> |
| <p>Active participation in the user newsgroup and the appropriate developer |
| mailing lists is a responsibility of all committers, and is critical to |
| the success of the project. Committers are required to monitor and contribute |
| to the user newsgroup.</p> |
| <p>Committers are required to monitor the developer mailing list associated |
| with all subprojects and components for which they have commit privileges. |
| This is a condition of being granted commit rights to the subproject or |
| component. It is mandatory because committers must participate in votes |
| (which in some cases require a certain minimum number of votes) and must |
| respond to the mailing list in a timely fashion in order to facilitate |
| the smooth operation of the project. When committers are granted commit |
| rights they will be added to the appropriate mailing lists. Committers |
| must not be unsubscribed from a developer mailing list unless their associated |
| commit privileges are also removed.</p> |
| <p>Committers are required to track, participate in, and vote on, relevant |
| discussions in their associated subprojects and components. There are |
| three voting responses: +1 (yes), -1 (no, or veto), and 0 (abstain).</p> |
| <p>Committers are responsible for proactively reporting problems using the |
| bug tracking system, and annotating problem reports with status information, |
| explanations, clarifications, or requests for more information from the |
| submitter. Committers are responsible for updating problem reports when |
| they have done work related to the problem.</p> |
| <p><b>Subprojects</b><br> |
| The work of the Project is organized into subprojects. New subprojects |
| must be consistent with the mission of the Eclipse Technology Project |
| and be approved by the PMC. Subprojects can only be discontinued by a |
| decision of the Board.</p> |
| <p>Subprojects will typically target the current stable release of the Eclipse |
| Platform or Eclipse Tools. In some cases where a subproject needs to investigate |
| new features or function, it may decide to create a fork in the development |
| stream of the relevant Eclipse Platform or Tools activity. The Eclipse |
| Technology PMC is responsible for ensuring that forks are kept to a minimum, |
| and that subprojects synchronize on a common release of other Eclipse |
| Projects whenever possible. It is recognized that due to the exploratory |
| nature of Eclipse Technology subprojects, there may be cases where this |
| is not feasible.</p> |
| <p>When a new subproject is created, the PMC appoints a subproject lead |
| to act as the technical leader and names the initial set of Committers |
| for the subproject. Thereafter the PMC may appoint a new subproject lead |
| from time to time as required, but the new subproject lead must be confirmed |
| by a majority of the other Committers of the subproject. Subproject leads |
| are accountable to the PMC for the success of their project.</p> |
| <p><b>Subproject Components and Merging</b><br> |
| Given the fluid nature of Eclipse Technology subprojects, organizational |
| changes are possible, in particular: dividing a subproject into components; |
| dividing a subproject into two or more independent subprojects; and merging |
| two or more subprojects into a single subproject. In each case the initiative |
| for the change may come either from the subproject or from the PMC, but |
| the PMC must approve any change.</p> |
| <p>If a subproject wishes to divide into components, commit privileges are |
| normally granted at the component level, and the committers for a given |
| component vote on issues specific to that component. Components are established |
| and discontinued by the PMC. When the PMC creates a component it appoints |
| a component lead to act as the technical leader and names the initial |
| set of Committers for the component. The component lead is designated |
| as a committer for the subproject and represents the component in discussions |
| and votes pertaining to the subproject as a whole. Component committers |
| do not participate in votes at the level of the subproject as a whole, |
| unless they are also the component lead.</p> |
| <p>In cases where new subprojects are being created, either by splitting |
| or by merging, the usual procedures are followed. That is, the PMC appoints |
| subproject leads and names the initial set of committers for the subproject. |
| In particular, developers will not necessarily have the same rights after |
| an organizational change that they enjoyed in the previous structure.</p> |
| <p><b>Infrastructure</b><br> |
| The infrastructure required to support the research and development process |
| is the responsibility of the PMC. The Eclipse Technology Project will |
| have at least the following:</p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Bug Database - Bugzilla database for tracking bugs and |
| feature requests.</p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Repository -- One or more CVS repositories containing all |
| of the software being produced and maintained by the subprojects. </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Website - A website will contain information about the |
| project, including documentation, reports and papers, courseware, downloads |
| of software releases, and this charter. </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> General Mailing List - Mailing list for development discussions |
| pertaining to the project as a whole or that cross subprojects. This mailing |
| list is open to the public. </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Subproject Mailing Lists - Development mailing list for |
| technical discussions related to the subproject. This mailing list is |
| open to the public. </p> |
| <p style=' '> <span style='font-family:Symbol'>·<span |
| style='font:7.0pt "Times New Roman"'> |
| </span></span> Component Mailing Lists -- Development mailing list for |
| technical discussions related to the component. This mailing list is open |
| to the public. </p> |
| <p><b>The Development Process</b><br> |
| In this section the phrase “release cycle” will refer to a |
| significant block of subproject activity, which corresponds to an actual |
| release cycle in the case of Incubators or Education subprojects, or to |
| a major stage of a phased Research subproject.</p> |
| <p>Each subproject lead must produce a plan for the release cycle; the plan |
| must be approved by a majority of Committers of the subproject; the plan |
| must be submitted to the PMC for review. The PMC may provide feedback |
| and advice on the plan but approval rests with the subproject committers.</p> |
| <p>Each subproject must identify, and make available on its web site, the |
| requirements and prioritizations it is working against in the current |
| release cycle. In addition, each subproject must post a release plan showing |
| the date and content of the next major release, including any major milestones, |
| and must keep this plan up to date.</p> |
| <p>The Committers of a subproject or component decide which changes may |
| be committed to the master software base of a subproject or component |
| respectively. Three +1 ('yes' votes) with no -1 ('no' votes or vetoes) |
| are needed to approve a change. Vetoes must be followed by an explanation |
| for the veto within 24 hours or the veto becomes invalid. All votes are |
| conducted via the developer mailing list associated with the subproject |
| or component.</p> |
| <p>Special rules may be established for subprojects or components with fewer |
| than three Committers. For efficiency, changes from some contributors |
| may be approved in advance, or approved in principle based on an outline |
| of the work, in which case they may be committed first and changed as |
| needed, with conflicts resolved by majority vote of the Committers of |
| the subproject or component, as applicable.</p> |
| <p>The master copy of the software repository must reside on the project |
| web site where it is accessible to all developers and committers. Committers |
| must check their changes and new work into the master software repository |
| as promptly as possible (subject to any check-in voting rules that may |
| be in effect) in order to foster collaboration among widely distributed |
| groups and so that the latest work is always available to everyone. The |
| PMC is responsible for establishing a release engineering and build process |
| to ensure that builds can be reliably produced on a regular and frequent |
| basis from the master software repository and made available for download |
| from the project web site. Builds in this context are intended to include |
| not only code but also reports, documentation, and courseware.</p> |
| <p>Subprojects are responsible for establishing test plans and the level |
| of testing appropriate for each subproject.</p> |
| <p>All technical discussions are conducted using the development mailing |
| lists. If discussions are held offline, then a summary must be posted |
| to the mailing list to keep the other committers informed.</p> |
| <p><b>Licensing</b><br> |
| All contributions to the Eclipse Technology Project must adhere to the |
| Common Public License <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. |
| All contributions must contain the following copyright notice:</p> |
| <p><i>[NOTE: The following is proposed - the final form of the copyrights |
| has not been determined yet].</i></p> |
| <pre>/**********************************************************************</pre> |
| <pre>Copyright (c) {date} {name of contributor} and others.</pre> |
| <pre>All rights reserved. This program and the accompanying materials</pre> |
| <pre>are made available under the terms of the Common Public License v1.0</pre> |
| <pre>which accompanies this distribution, and is available at</pre> |
| <pre><a |
| href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a></pre> |
| <pre> </pre> |
| <pre>Contributors:</pre> |
| <pre> <contributor1> - <description of contribution></pre> |
| <pre> <contributor2> - <description of contribution></pre> |
| <pre> ...</pre> |
| <pre>**********************************************************************/</pre> |
| <p>Notwithstanding the above, at the discretion of the PMC, Eclipse Technology |
| Project downloads may include separately licensed code from third parties |
| as a convenience and where permitted by the third party license, provided |
| this is clearly indicated.</p> |
| <p>The PMC recognizes that certain journals and other publishers may require |
| modification of copyrights or permissions as a prerequisite for publication |
| of research papers and monographs. In such cases, as long as the spirit |
| of free and open access is maintained, and the contribution of eclipse.org |
| is recognized, the PMC will act to facilitate such publication.</p> |
| <div align=center style='text-align:center;'> |
| <hr size=2 width="100%" align=center> |
| </div> |
| <p><b>Attachment A: Eclipse Technology PMC Subprojects</b></p> |
| <ul> |
| <li>AspectJ Development Tools (ajdt)</li> |
| <li>Stellation</li> |
| </ul> |
| </td> |
| <td class="Normal"> </td> |
| </tr> |
| </table> |
| </body> |
| </html> |