| <?xml version='1.0' encoding='utf-8' ?> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| </head> |
| <body> |
| <p> |
| <h1>Mylyn Charter</h1> |
| </p> |
| <p> |
| <h2>Contents</h2> |
| </p> |
| <ol style="list-style: none;"> |
| <li><a href="#Overview">Overview</a></li> |
| <li><a href="#Mission">Mission</a></li> |
| <li><a href="#Scope">Scope</a> |
| <ol style="list-style: none;"> |
| <li><a href="#Framework_Projects">Framework Projects</a></li> |
| <li><a href="#Tool_Projects">Tool Projects</a></li> |
| <li><a href="#Incubator_Projects">Incubator Projects</a></li> |
| </ol></li> |
| <li><a href="#Project_Management_Committee">Project |
| Management Committee</a></li> |
| <li><a href="#Roles">Roles</a> |
| <ol style="list-style: none;"> |
| <li><a href="#Users">Users</a></li> |
| <li><a href="#Developers">Developers</a></li> |
| <li><a href="#Committers">Committers</a></li> |
| </ol></li> |
| <li><a href="#Projects">Projects</a></li> |
| <li><a href="#Project_Organization">Project Organization</a></li> |
| <li><a href="#Infrastructure">Infrastructure</a> |
| <ol style="list-style: none;"> |
| <li><a href="#Bugzilla">Bugzilla</a></li> |
| </ol></li> |
| <li><a href="#The_Development_Process">The Development |
| Process</a></li> |
| <li><a href="#Licensing">Licensing</a></li> |
| </ol> |
| <h1 id="Overview">Overview</h1> |
| <p> |
| The <b>Mylyn Application Lifecycle Tools</b> Top-Level Project is an |
| open source collaborative software development project dedicated to |
| providing an extensible, standards-based platform to address a broad |
| range of needs of accessing task and application lifecycle management |
| tools and services using the Eclipse platform. |
| </p> |
| <ul> |
| <li>Descriptive name: <b>Application Lifecycle Tools</b></li> |
| <li>Nickname: <b>Mylyn</b></li> |
| </ul> |
| <p> |
| For details on the structure of the project see the <b><a |
| href="https://wiki.eclipse.org/Mylyn/Restructuring">Restructuring</a></b> |
| document. |
| </p> |
| <h1 id="Mission">Mission</h1> |
| <p>The mission of the project is to provide:</p> |
| <ol> |
| <li>Frameworks and APIs for Eclipse-based task and Application |
| Lifecycle Management (ALM)</li> |
| <li>Exemplary tools for <a |
| href="http://en.wikipedia.org/wiki/Task-focused_interface">task-focused |
| programming</a> within the Eclipse IDE. |
| </li> |
| <li>Reference implementations for open source ALM tools used by |
| the Eclipse community and for open ALM standards such as <a |
| href="http://open-services.net">OSLC</a> |
| </li> |
| </ol> |
| <p>This document describes the composition and organization of the |
| project, roles and responsibilities of the participants, and |
| development process for the project.</p> |
| <h1 id="Scope">Scope</h1> |
| <ul> |
| <li><b>A task management tool for developers</b></li> |
| <li><b>The revolutionary task-focused interface</b></li> |
| <li><b>A broad ecosystem of Agile and ALM integrations</b></li> |
| </ul> |
| <h4 id="Framework_Projects">Framework Projects</h4> |
| <p>The project will initially be structured into the following |
| sub-projects, each representing an ALM category and providing common |
| APIs for specific ALM tools. The primary consumers of this project are |
| ALM ISVs and other adopters of Eclipse ALM frameworks.</p> |
| <ul> |
| <li><b>Tasks</b> - Integration with Agile, issue, bug and defect |
| tracking servers. The project provides rich task editing, task list |
| management and offline synchronization for ALM servers. Central |
| portion of the ALM integration framework used by other projects, eg, |
| task-based changed tracking for the SCM project.</li> |
| <li><b>Contexts</b> - Usage monitoring, degree-of-interested |
| modeling and the task-focused user extensions implementation for the |
| Eclipse UI, which re-aligns the user experience around tasks and |
| provides features such as workspace focusing and one-click |
| multitasking.</li> |
| <li><b>Versions</b> - Eclipse integration for source code and |
| configuration management tools(SCM, SCCM) and bi-directional linking |
| to change management tools. This project and APIs it provides builds |
| on the existing Eclipse "Team" APIs.</li> |
| <li><b>Builds</b> - Integration of continuous integration and |
| build systems and seamless access to software build and assembly |
| technologies. Mylyn users will be able to access continuous |
| integration processes, control build execution and associate build |
| results with tasks and context.</li> |
| <li><b>Reviews</b> - Eclipse-based code review functionality |
| that's seamlessly integrated with the Tasks and SCM systems supported |
| by Mylyn. Eclipse integration for Agile code reviews, the formal IEEE |
| code review process, review reports with BIRT and aim to support many |
| Eclipse artifact for reviews, e.g. JDT (Java files), CDT (C/C++ |
| files), EMF (models).</li> |
| <li><b>Docs</b> - The scope of this project is Eclipse-based |
| access to documentation systems such as Wikis and other portals. This |
| builds on the Mylyn WikiText framework.</li> |
| <li><b>Commons</b> - The scope of this project is to provide a |
| framework of common UI, web service, REST and test utilities to be |
| used by the rest of Mylyn and by other Eclipse-based tools (see <a |
| href="https://wiki.eclipse.org/Mylyn_Integrator_Reference#Commons_API">Mylyn_Integrator_Reference#Commons_API</a>).</li> |
| <li><b>Incubator</b> - New development in areas that are relevant |
| to the other sub-projects.</li> |
| </ul> |
| <h4 id="Tool_Projects">Tool Projects</h4> |
| <p> |
| The primary consumers of the tool projects are developers using |
| Eclipse and wanting integration with their application lifecycle |
| tools. Each of these projects fits under a framework sub-project, but |
| typically will its own branding and user community, which builds on |
| the community defined by the corresponding ALM or application |
| development tool. While the number of tool projects will grow, the |
| goal is only to provide reference implementations, and not the |
| comprehensive set of open source and commercial integrations provided |
| by the <a href="https://wiki.eclipse.org/Mylyn/Extensions">Mylyn/Extensions</a> |
| ecosystem. |
| </p> |
| <ul> |
| <li>Tasks |
| <ul> |
| <li><b>Bugzilla Connector</b>: Mozilla Bugzilla bug tracker |
| integratoin</li> |
| <li><b>Trac Connector</b>: Trac ticket tracker integration</li> |
| </ul> |
| </li> |
| <li>Context |
| <ul> |
| <li><b>Java Bridge</b>: Context management for Java development |
| with JDT</li> |
| <li><b>C/C++ Bridge</b>: Context management for C/C++ |
| development with CDT</li> |
| </ul> |
| </li> |
| <li>Versions |
| <ul> |
| <li><b>EGit</b>: the new top-level project is proposed as a new |
| home for EGit/JGit</li> |
| <li><b>CVS Connector</b>: Task-based change set management for |
| CVS, depends on team.cvs</li> |
| </ul> |
| </li> |
| <li>Builds |
| <ul> |
| <li><b>Hudson Connector</b>: Continuous integration access for |
| Hudson</li> |
| </ul> |
| </li> |
| <li>Reviews |
| <ul> |
| <li><b>R4E</b>: The reviews tool leverages the above |
| integrations, and does not require a separate server integration, |
| just a compatible Tasks and SCM integration</li> |
| <li><b>Task-based Reviews</b>: Lightweight code reviews shared |
| through task repositories</li> |
| <li><b>Gerrit Connector</b>: Gerrit code review integration for |
| Git repositories</li> |
| </ul> |
| </li> |
| <li>Docs |
| <ul> |
| <li><b>WikiText</b>: Wiki-based markup editing for popular |
| dialects</li> |
| <li><b>RichText</b>: HTML/XHTML/RTF markup editing</li> |
| </ul> |
| </li> |
| </ul> |
| <h4 id="Incubator_Projects">Incubator Projects</h4> |
| <p>The Mylyn Incubator will focus on new development in areas that |
| are relevant to the other Mylyn Project sub-projects, which because of |
| their nature would not be appropriate for direct inclusion in the |
| effected sub-project. This could be because the work is still |
| experimental, will have a longer timeline than can be contained within |
| a single release, has dependencies on external IP that has not yet |
| cleared the Eclipse Foundation IP process, or is simply potentially |
| too destabilizing in nature.</p> |
| <ul> |
| <li><b>Incubator</b>: Trac Wiki Integration, UI Experiments, UI |
| Usage Reporting |
| <ul> |
| <li><b>Web Templates Connector</b></li> |
| <li><b>WikiText Sandbox</b></li> |
| </ul></li> |
| </ul> |
| <h1 id="Project_Management_Committee">Project Management Committee</h1> |
| <p> |
| The Projects under this Charter are managed by a group known as the |
| Project Management Committee (the "PMC"). The PMC's duties are |
| described in <a |
| href="http://www.eclipse.org/projects/dev_process/development_process.php#4_6_Leaders">"4.6 |
| Leaders"</a> of the Eclipse Development Process. |
| </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> |
| <h1 id="Roles">Roles</h1> |
| <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 id="Users">Users</h2> |
| <p>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.</p> |
| <h2 id="Developers">Developers</h2> |
| <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> |
| <h2 id="Committers">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. See <a |
| href="http://www.eclipse.org/projects/dev_process/development_process.php#4_7_Committers_and_Contributors">"4.7 |
| Committers and Contributors"</a> of the Eclipse Development Process for |
| the process and responsibilities that entails. |
| </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> |
| <h1 id="Projects">Projects</h1> |
| <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> |
| <h1 id="Project_Organization">Project Organization</h1> |
| <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> |
| <h1 id="Infrastructure">Infrastructure</h1> |
| <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 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 id="Bugzilla">Bugzilla</h2> |
| <p>Each framework project is represented as a component under the |
| Mylyn product, e.g. Mylyn/Tasks. Tools and incubator projects have |
| their own product that maybe prefixed with the top-level project name, |
| e.g. "Mylyn Bugzilla Connector". Tools and incubator projects may vote |
| on their own components.</p> |
| <h1 id="The_Development_Process">The Development Process</h1> |
| <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.</p> |
| <h1 id="Licensing">Licensing</h1> |
| <p> |
| All contributions to Projects under this Charter must adhere to the |
| Eclipse Foundation <a |
| href="http://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf">Intellectual |
| Property Policy</a>. |
| </p> |
| </body> |
| </html> |