| <?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' |
| # |
| # Begin: page-specific settings. Change these. |
| $pageTitle = "Eclipse Platform Overview"; |
| $pageKeywords = "Eclipse, Platform, JDT, PDE, Equinox"; |
| $pageAuthor = "Platform team"; |
| |
| # Add page-specific Nav bars here |
| # Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3) |
| # $Nav->addNavSeparator("My Page Links", "downloads.php"); |
| # $Nav->addCustomNav("My Link", "mypage.php", "_self", 3); |
| # $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3); |
| |
| # End: page-specific settings |
| # Paste your HTML content between the markers! |
| ob_start(); |
| ?> |
| |
| <div id="midcolumn"> |
| <h1><?= $pageTitle ?></h1> |
| <h2>Overview</h2> |
| The Eclipse Top Level Project (the "Eclipse Project") is an open source |
| software development project dedicated to providing a robust, full-featured, commercial-quality, |
| and freely available industry platform for the development of highly |
| integrated tools. This document describes the mission, scope, and |
| organization of this Top Level Project and its constituent Projects, and |
| roles and responsibilities of the participants. |
| </p> |
| <h2>Mission</h2> |
| <p> |
| The Eclipse Project provides a kind of universal tool platform - an open extensible IDE for |
| anything and yet nothing in particular. The real value comes from tool |
| plug-ins that "teach" the platform how to work with things - java files, |
| web content, graphics, video - almost anything one can imagine. Eclipse |
| allows tool builders to independently develop tools that integrate with other |
| people's tools so seamlessly you can't tell where one tool ends and another |
| starts.</p> |
| <p>The success of the platform depends on how well it enables a wide range of tool |
| builders to build best of breed integrated tools. But the real vision of |
| an industry platform is only realized if these tools from |
| different tool builders can be combined together by users to suit their unique |
| requirements, in ways that the tool builders never even imagined. </p> |
| <p>The mission of the Eclipse Project is to adapt and evolve the Eclipse |
| technology to meet the needs of the Eclipse tool building community and its |
| users, so that the vision of an industry tooling platform is realized.</p> |
| <h2>Scope</h2> |
| The Eclipse Project encompasses two principle areas of work: |
| <ol> |
| <li><b>Tool integration platforms.</b> Developing the core frameworks |
| and technologies upon which others can build software development tools of all kinds.</li> |
| <li><b>The tools required to build and extend these platforms.</b> Creating |
| the tools that the Eclipse project committers need in order to build the tool integration |
| platforms, and the tools the community needs to extend and adopt the platforms.</li> |
| </ol> |
| This secondary tool creation goal has a number of important objectives. First, it provides |
| an initial "customer" for the platform, to ensure the requirements of real |
| development tools are met by the platform. Second, it encourages community adoption |
| of the platform. The easier it is for the community to adopt and extend the platform, |
| the more successful the project will be. Finally, it allows the project contributors |
| to continuously "self host" on the tool platform as it is being built. This |
| creates a tight feedback loop that ensure the platform is robust, and meets the |
| needs of real tool users. |
| </p> |
| <h2>Project Management Committee</h2><a name="PMC"></a> |
| The Projects under this Charter are managed by a group known as the Project |
| Management Committee (the "PMC").</p> |
| <p>PMCs are expected to ensure that:</p> |
| <p>All Projects operate effectively by providing |
| leadership to guide the Project's overall direction and by removing |
| obstacles, solving problems, and resolving conflicts.</p> |
| <p>All Project plans, technical documents and reports are publicly available</p> |
| <p>All Projects operate using open source rules of |
| engagement: meritocracy, transparency, and open participation. |
| These principles work together. Anyone can participate in a |
| Project. This open interaction, |
| from answering questions to reporting bugs to making code contributions to |
| creating designs, enables everyone to recognize and utilize the contributions.</p> |
| <p>The PMC has the following responsibilities:</p> |
| <ul> |
| <li>Providing the leadership and vision to guide the Project's overall direction |
| and architecture.</li> |
| <li>Providing assistance and |
| support to the developers and researchers working on the Project by |
| removing obstacles, solving problems, and resolving conflicts.</li> |
| <li>Ensuring that Project plans |
| are produced.</li> |
| <li>Working with the Eclipse |
| Management Organization (the "EMO") to establish the development |
| processes and infrastructure needed for the development team 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 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. 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.</p> |
| <p>Active participation in the user forums 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> |
| <p>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.</p> |
| <h2>Users</h2> |
| <p>Users are the people who use the products that the Project produces. People |
| in this role aren't contributing code, but they are using the products, |
| reporting bugs, and making feature requests and suggestions. Users are |
| encouraged to participate through the user forum(s), asking questions, |
| providing suggestions, and helping other users. Users are also encouraged to |
| report problem reports using the bug tracking system. </p> |
| <h2>Developers</h2> |
| <p>Users who contribute code or documentation become developers. Developers are |
| the people who contribute code, fixes, documentation, or other work that goes |
| into the product. Developers are also encouraged to participate in the user |
| forum(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> |
| <h2>Committers</h2> |
| <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. 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 also approves, the Developer is converted into a Committer and given |
| write access to the source code repository for that Project (or component). |
| Becoming a Committer is a privilege that is earned by contributing and |
| showing discipline and good judgement. 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 forums 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 forums.</p> |
| <p>Committers are required to monitor the developer mailing list 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 |
| removed.</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 significant works consistent with the mission of the Top |
| Level Project, be recommended by the PMC, and confirmed by the EMO. Projects |
| can be discontinued by decision of the Board.</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> |
| <h2>Project Components</h2> |
| <p>The PMC may decide to divide a Project further into components. If a Project |
| is divided 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> |
| <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 source code repositories containing both the master source code and |
| documentation for the Projects.</li> |
| <li>Website - A website will |
| contain information about the Project, including documentation, |
| downloads of releases, and this Charter.</li> |
| <li>General Mailing List - |
| Mailing list for development 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 - |
| Development mailing list for technical discussions related to the |
| Project. This mailing list is open to the public.</li> |
| <li>Component Mailing Lists -- |
| Development mailing list for technical discussions related to the |
| component. This mailing list 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 the PMC and by a majority of |
| Committers of the Project.</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. |
| Three +1 ('yes' votes) with no -1 ('no' votes or vetoes) are needed to |
| approve a code 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 Project or component.</p> |
| <p>Special rules may be established by the PMC for Projects or components |
| with fewer than three Committers. 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. |
| More restrictive rules for releasing changes may be established by the PMC |
| near the end of release cycles or for maintenance streams.</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.</p> |
| <p>The PMC is responsible for establishing the level of testing appropriate |
| for each Project, and approving the test plans.</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 informed.</p> |
| <h2>Licensing</h2> |
| <p>All contributions to Projects under this Charter must adhere to the Eclipse |
| Foundation Intellectual Property Policy.</p> |
| </td> |
| </tr> |
| </table> |
| </div> |
| <?php |
| $html = ob_get_contents(); |
| ob_end_clean(); |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |