| <?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop' | |
| /* 221934 - this page to remain on eclipse.org */ | |
| $pageTitle = "Eclipse Standard Top-Level Charter v1.0"; | |
| include( '../_commonLeftNav.php' ); | |
| ob_start(); | |
| ?> | |
| <div id="midcolumn"> | |
| <h1><?= $pageTitle ?></h1> | |
| <p><i>This | |
| document defines standard terms for Eclipse Top Level Project Charters. It is | |
| intended that the Charters for Top Level Projects reference this document rather | |
| than inheriting by copy-and-paste.</i></p> | |
| <p><i>New projects are directed to use a | |
| more <a href="Eclipse_Standard_TopLevel_Charter_v1.1.php">current version</a> of this document.</i></p> | |
| <h2>Overview</h2> | |
| <i>To be defined in the individual Top | |
| Level Project Charter.</i> | |
| <h2>Mission</h2> | |
| <i>To be defined in the individual Top Level Project Charter.</i> | |
| <h2>Scope</h2> | |
| <i>To be defined in the individual Top Level Project Charter.</i> | |
| <h2>Project Management Committee</h2> | |
| The Projects under this Charter are managed by a group known as the Project | |
| Management Committee (the "PMC"). | |
| <p>PMCs are expected to ensure that:</p> | |
| <ul> | |
| <li> | |
| All Projects operate effectively by providing leadership to guide the | |
| Project's overall direction and by removing obstacles, solving problems, and | |
| resolving conflicts. | |
| </li> | |
| <li> | |
| All Project plans, technical documents and reports are publicly available | |
| </li> | |
| <li> | |
| All Projects operate using open source rules of engagement: meritocracy, | |
| transparency, and open participation. These principles work together. In | |
| principle, anyone can participate in a Project. | |
| </li> | |
| </ul> | |
| <p>The PMC has the following responsibilities:</p> | |
| <ul> | |
| <li>Providing the leadership and vision to guide the Project's overall | |
| direction in a manner consistent with the Eclipse Foundation Roadmap.</li> | |
| <li>Providing assistance and support to the developers working on the Project | |
| by removing obstacles, solving problems, and resolving conflicts.</li> | |
| <li>Ensuring that Project plans are produced, and presenting these plans to | |
| the EMO.</li> | |
| <li>Working with the Eclipse Management Organization (the "EMO") to | |
| establish the processes and infrastructure needed for the project teams to | |
| be effective.</li> | |
| <li>Recommending new Projects to the EMO.</li> | |
| <li>Recommending the initial set of Project committers for each new Project | |
| overseen by the PMC, and establishing the procedures consistent with this | |
| Charter for voting in new committers.</li> | |
| <li>Helping to ensure that the Projects overseen by the PMC have enough | |
| contributors, and working to fill vacancies in roles.</li> | |
| <li>Producing "how to get involved" guidelines to help new potential | |
| contributors get started.</li> | |
| <li>Coordinating relationships with other Eclipse Foundation Projects.</li> | |
| <li>Facilitating code or other donations by individuals or companies.</li> | |
| <li>Making recommendations to the Eclipse Foundation Board regarding | |
| contributions proposed under licenses other than the EPL.</li> | |
| <li>Working with the EMO and Committers to ensure in-bound contributions are | |
| made in accordance with the Eclipse Foundation IP Policy.</li> | |
| <li>Acting as a focal point for the community in representing the Projects it | |
| oversees.</li> | |
| </ul> | |
| <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 another 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. PMC members may resign at | |
| any time by delivering notice of their resignation to the PMC Lead.</p> | |
| <p>The PMC is responsible for producing and maintaining the Project Charter. | |
| Development activities must conform to any rules or processes outlined in the | |
| Charter, so a change to these processes may necessitate a change to the Charter. | |
| Changes to the Charter are approved by the Board.</p> | |
| <p>The work of the PMC is shared by the PMC members. All PMC members are | |
| expected to contribute actively. In particular, PMC members are expected to take | |
| responsibility for overseeing certain areas of work in the Project, and | |
| reporting to the PMC on these areas. Because of the diversity amongst individual | |
| projects, PMC members are not expected to maintain anything other than general | |
| currency with projects outside their assigned technical areas.</p> | |
| <p>Active participation in the user newsgroups and the appropriate developer | |
| mailing lists is a responsibility of all PMC members, and is critical to the | |
| success of the Project. PMC members are required to monitor the main Project | |
| mailing list, and the developer mailing lists for all Projects and components | |
| they are overseeing.</p> | |
| <h2>Roles</h2> | |
| The Projects under this Charter are operated as meritocracies -- 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. | |
| <h3>Users</h3> | |
| Users are the people who use the output from the Project. Output will | |
| typically consist of software in form of extensible frameworks and exemplary | |
| tools. Software in this context means intellectual property in electronic form, | |
| including source and binary code, documentation, courseware, reports and | |
| whitepapers. | |
| <h3>Developers</h3> | |
| <p>Users who contribute software, documentation, or other materially useful | |
| content 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> | |
| <h3>Committers</h3> | |
| <p>Developers who give frequent and valuable contributions to a Project, or | |
| component of a Project (in the case of large Projects), can have their status | |
| promoted to that of a "Committer" for that Project or component | |
| respectively. A Committer has write access to the source code repository for the | |
| associated Project (or component), and gains voting rights allowing them to | |
| affect the future of the Project (or component).</p> | |
| <p>In order for a Developer to become a Committer on a particular Project | |
| overseen by the PMC, another Committer for the same Project (or component as | |
| appropriate) can nominate that Developer or the Developer can ask to be | |
| nominated. Once a Developer is nominated, the Committers for the Project (or | |
| component) will vote for a PMC-designated voting period, and that period shall | |
| be no less than one week. If there are at least 3 positive votes and no negative | |
| votes within the voting period, the Developer is recommended to the PMC for | |
| commit privileges. The PMC may waive the 3 vote minimum requirement in | |
| exceptional cases (e.g., there are fewer than 3 active committers on the | |
| project). If the PMC also approves, and the Developer signs the appropriate New | |
| Committer agreements established by the EMO (wherein, at the very least, the | |
| Developer agrees to abide by the Eclipse Intellectual Property Policy), the | |
| Developer is converted into a Committer and given write access to the source | |
| code and/or web repository for that Project (or 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 become inactive for a variety of reasons. The | |
| decision making process of the Project relies on active committers who respond | |
| to discussions and vote in a constructive and timely manner. The PMC is | |
| responsible for ensuring the smooth operation of the Project. A Committer who is | |
| disruptive, does not participate actively, or has been inactive for an extended | |
| period may have his or her commit status revoked 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 mailing lists associated with all | |
| Projects and components for which they have commit privileges. This is a | |
| condition of being granted commit rights to the Project 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 a Committer is granted commit rights they will be added to the appropriate | |
| mailing lists. A Committer must not be unsubscribed from a developer mailing | |
| list unless their associated commit privileges are also revoked.</p> | |
| <p>Committers are required to track, participate in, and vote on, relevant | |
| discussions in their associated Projects 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 in 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> | |
| <h2>Projects</h2> | |
| <p>The work under this Top Level Project is further organized into Projects. | |
| New Projects must be consistent with the mission of the Top Level Project, be | |
| recommended by the PMC, and confirmed by the EMO. Projects can be discontinued | |
| by recommendation of the PMC, and confirmed by the EMO.</p> | |
| <p>When a new Project is created, the PMC nominates a Project lead to act as the | |
| technical leader and nominates the initial set of Committers for the Project, | |
| and these nominations are approved by the EMO. Project leads are accountable to | |
| the PMC for the success of their Project.</p> | |
| <h3>Project Organization</h3> | |
| <p>Given the fluid nature of Eclipse Projects, organizational changes are | |
| possible, in particular: dividing a Project into components; dividing a Project | |
| into two or more independent Projects; and merging two or more Projects into a | |
| single Project. In each case, the initiative for the change may come either from | |
| within the Project or from the PMC, but the PMC must approve any change, and | |
| approval must be confirmed by the EMO.</p> | |
| <p>If a Project 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 Project and | |
| represents the component in discussions and votes pertaining to the Project as a | |
| whole. Component committers do not participate in votes at the level of the | |
| Project as a whole, unless they are also the component lead.</p> | |
| <p>In cases where new Projects are being created, either by splitting or by | |
| merging, the usual procedures as set forth in this Charter are followed. In | |
| particular, developers will not necessarily have the same rights after an | |
| organizational change that they enjoyed in the previous structure.</p> | |
| <h2>Infrastructure</h2> | |
| <p>The PMC works with the EMO to ensure the required infrastructure for the | |
| Project. The Project infrastructure will include, at minimum:</p> | |
| <ul> | |
| <li>Bug Database - Bugzilla database for tracking bugs and feature requests.</li> | |
| <li>Source Repository -- One or more repositories containing all the | |
| software for the Projects.</li> | |
| <li>Website - A website will contain information about the Project, including | |
| documentation, reports and papers, courseware, downloads of releases, and | |
| this Charter.</li> | |
| <li>General Mailing List - Mailing list for discussions pertaining to the | |
| Project as a whole or that cross Projects. This mailing list is open to the | |
| public.</li> | |
| <li>Project Mailing Lists - Mailing list for technical discussions related to | |
| the Project. This mailing list is open to the public.</li> | |
| <li>Component Mailing Lists - Mailing list for technical discussions related | |
| to the component. This mailing list is open to the public.</li> | |
| <li>Newsgroups - Newsgroups where users, developers, and committers can | |
| interact regarding general questions and issues about the project. The | |
| newsgroup is open to the public.</li> | |
| </ul> | |
| <h2>The Development Process</h2> | |
| <p>Each Project lead must produce a development plan for the release cycle, and | |
| the development plan must be approved by a majority of Committers of the | |
| Project. 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 Project Committers.</p> | |
| <p>Each Project 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 Project 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 Project or component decide which changes may be | |
| committed to the master code base of a Project or component respectively. The | |
| PMC defines the decision process, but that process must include the ability for | |
| Committers to veto the change. The decision process employed may change with the | |
| phase of development. Common decision processes include:</p> | |
| <ul> | |
| <li>Retroactive - changes are proactively made by Committers but can be vetoed | |
| by a single Committer. </li> | |
| <li>Proactive - for efficiency, some code changes from some | |
| contributors (e.g. feature additions, bug fixes) 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 Project or component, as applicable.</li> | |
| <li>Three Positive - No code is committed without a vote; three | |
| +1 ('yes' votes) with no -1 ('no' votes or vetoes) are needed to approve a code | |
| change. </li> | |
| </ul> | |
| <p> 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 Project or component. Special rules may be established by the PMC for Projects or components with | |
| fewer than three Committers. </p> | |
| <p>The master copy of the code base must reside on the Project web site where it | |
| is accessible to all users, developers and committers. Committers must check | |
| their changes and new work into the master code base 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 working with the | |
| Eclipse Foundation to establish a release engineering and build process to | |
| ensure that builds can be reliably produced on a regular and frequent basis from | |
| the master code base 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>Each Project is responsible for establishing test plans and the level of | |
| testing appropriate for the Project.</p> | |
| <p>All development 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, and any other interested parties, | |
| <h2>Licensing</h2> | |
| <p>All contributions to Projects under this Charter must adhere to the Eclipse | |
| Foundation Intellectual Property Policy. | |
| </p> | |
| </div> | |
| <?php | |
| # Paste your HTML content between the EOHTML markers! | |
| $html = ob_get_contents(); | |
| ob_end_clean(); | |
| # Generate the web page | |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); | |
| ?> | |