blob: 27d5504a24cc1d5e089bf6074dcf8df07dac6ed1 [file] [log] [blame]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Eclipse Test & Performance Tools Platform Project</title>
<link rel="stylesheet" href="../eclipse-webtools/templates/eclipse/eclipse.css"></head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000">
&nbsp;
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
<td ALIGN=LEFT width="60%"><font class=indextop>eclipse test & performance tools platform project</font><br>
<font class=indexsub>Project Charter</font></td>
<td WIDTH="40%"><img SRC="../../images/Idea.jpg" HSPACE=50 height=86 width=120 align=CENTER></td>
</tr>
</table>
<p>This project proposal is in the <a href="/projects/dev_process/">
Proposal Phase</a> and is posted here to solicit additional project participation
and ways the project can be leveraged from the Eclipse membership-at-large.
You are invited to comment on and/or <a href="contributing.html">join the project</a>.
Please send all feedback to the <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.test-and-performance">eclipse.test-and-performance
newsgroup</a> or the <a href="https://dev.eclipse.org/mailman/listinfo/test-and-performance-proposal">
test-and-performance-proposal</a> mailing list.</p>
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
<td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Eclipse Test & Performance Tools Platform Project Charter - v0.2</font></b></td>
</tr>
<tr>
<td>
<p><b>Overview</b><br>
The Eclipse Test &amp; Performance Tools Platform Top-Level Project (the
&quot;Eclipse Test &amp; Performance Project&quot;) is an open source
collaborative software development project dedicated to providing a robust,
extensible, commercial quality, and freely available industry platform
intended to reduce the cost and complexity of implementing effective and
highly interoperable test &amp; performance tools.<br>
<br>
This document describes the composition and organization of the project,
roles and responsibilities of the participants, and development process
for the project. The project charter is a living document that will be
updated to reflect the evolution of the development process over time.</p>
<p><b>Mission</b><br>
The mission of the Eclipse Test & Performance Project is to build a generic,
extensible, standards-based tool platform upon which software developers
can create specialized, differentiated, and interoperable offerings for
world class test and performance tools.</p>
<p><b>Scope</b><br>
The Eclipse Test & Performance Project will extend the family of Eclipse
technologies to provide an open development platform supplying frameworks
and services for test and performance tools that are used throughout the
lifecycle (e.g., testing, tracing/profiling, tuning, logging, monitoring,
analysis, autonomics, administration, etc., but not development tools
such as optimizing compilers) and support a spectrum of standalone through
highly-distributed and embedded through enterprise computing systems.<br>
<br>
The project will also deliver exemplary tools that verify the utility
of and illustrate the appropriate use of the platform, support the development
and maintenance of the platform itself, and are extensible via documented
programmatic interfaces.</p>
<p><b>Project Management Committee</b><br>
The Eclipse Test & Performance Project and Projects under its Charter
are managed by a small group known as the <a href="pmc.html">Eclipse Test
& Performance Tools Platform Project Management Committee</a> (the "PMC").</p>
<p>The PMC is 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.
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.</li>
</ul>
<p>The PMC has the following responsibilities:</p>
<ul>
<li>Providing the leadership and vision to guide the Project's overall
direction. </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>Establishing the development processes and infrastructure needed for
the development team to be effective. </li>
<li>Recommending new Projects to the EMO, and appointing the Project Lead.
</li>
<li>Establishing the initial set of Project committers and establishing
the procedures for voting in new committers. </li>
<li>Helping to ensure that Projects have enough contributors, and helping
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 organizations.
</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>Representing the Project to the outside world.</li>
</ul>
<p>The PMC Lead is appointed by the Board. The initial PMC members are 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. The goal is to keep the membership of the PMC small.</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 must be 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 newsgroup 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 subsystems they are overseeing.</p>
<p><b>Requirements Group</b></p>
<p>The PMC Lead shall establish an Eclipse Test &amp; Performance Project
Requirements Group (the &quot;Requirements Group&quot;) responsible for
gathering, reviewing and categorizing incoming requirements, and proposing
a coherent set of themes and priorities that will drive the Project Roadmap.
</p>
<p>The PMC Lead will designate the Requirements Group Chair. The Requirements
Group shall be comprised of one representative designated by each contributing
organization and other individuals designated from time to time by the
PMC Lead. </p>
<p>The Requirements Group will accomplish its objectives by working closely
with their represented organizations and individuals, the Project development
teams, and the ecosystem.</p>
<p><b>Architecture Group</b></p>
<p>The PMC Lead shall establish an Eclipse Test &amp; Performance Project
Architecture Group (the &quot;Architecture Group&quot;) responsible for
the development, articulation, and maintenance of the Project architecture
and alignment thereof with the Eclipse architecture.</p>
<p>The PMC Lead will designate the Architecture Group Chair and will also
designate the Project representative to the Eclipse Architecture Council.
The Architecture Group shall be comprised of a subset Project Committers
nominated by the Chair and other individuals designated from time to time
by the PMC Lead who represent the Project architecture.</p>
<p>The Architecture Group will accomplish its objectives by working closely
with the Project development teams and the Eclipse Architecture Council.</p>
<p><b>Planning Group</b></p>
<p>The PMC Lead shall establish an Eclipse Test &amp; Performance Project
Planning Group (the &quot;Planning Group&quot;) responsible for the development
and maintenance of a Project Release Plan consistent with the Architecture,
supporting the Roadmap, and supported by resource commitments of contributing
organizations and individuals.</p>
<p>The PMC Lead will designate the Planning Group Chair and will also designate
the Project representative to the Eclipse Planning Council. The Planning
Group shall be comprised of one representative designated by each contributing
organization and other individuals designated from time to time by the
PMC Lead. Additionally, the Requirements Group and Architecture Group
chairpersons will be members of the Planning Group.</p>
<p>The Planning Group will accomplish its objectives by working closely
with their represented organizations, the Project development teams, and
the Eclipse Planning Council.</p>
<p><b>Roles</b><br>
The Eclipse Test &amp; Performance 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 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 newsgroup(s), asking questions,
providing suggestions, and helping other users. Users are also encouraged
to report problem reports using the bug tracking system.</p>
<p><b>Developers</b><br>
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 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 give frequent and valuable contributions to a Project,
or a subsystem of a Project (in the case of large Projects), can have
their status promoted to that of a &quot;Committer&quot; for that Project
or subsystem respectively. A Committer has write access to the source
code repository for the associated Project (or subsystem), and gains voting
rights allowing them to affect the future of the Project (or subsystem).</p>
<p>In order for a Developer to become a Committer, another Committer for
the same Project (or Subsystem) can nominate that Developer or the Developer
can ask for it. Once a Developer is nominated, the Committers for the
Project (or Subsystem) will vote. If there are at least three or a majority,
whichever is less, of positive votes, the Developer is recommended to
the PMC for Committer privileges. If the PMC approves, the Developer must
sign the Committer Agreement established by the EMO, and the Developer
is converted into a Committer and given write access to the source code
repository for that Project (or Subsystem). 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. Committers may be asked to represent their respective Project
and/or subsystems by membership on the Architecture Group.</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 Committer 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 Projects and Subsystems for which they have Committer privileges.
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 Committer privileges
they will be added to the appropriate mailing lists. A Committer must
not be unsubscribed from a developer mailing list unless their associated
Committer privileges are also removed.</p>
<p>The Committers of a Project or Subsystem vote (+1:'yes', 0:'abstain',
-1:'no/veto') to decide which changes may be committed to the master code
base of a Project or Subsystem respectively. Three +1 ('yes') with no
-1 ('no'/veto') votes are needed to approve a code change. All votes are
conducted via the developer mailing list associated with the Project or
Subsystem and must be followed by a justification within 24 hours or the
veto becomes invalid. </p>
<p>Special rules may be established for Projects or Subsystem 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 Subsystem, as applicable. </p>
<p>More restrictive rules for committing changes may be established by the
PMC near the end of release cycles or for maintenance streams.</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>
<p>Projects<br>
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>
<p>See <a href="project_descriptions.html">Project Descriptions</a> for
additional information on the Projects under this Charter. </p>
<p><b>Subsystems</b><br>
The PMC may decide to divide a Project further into Subsystems. If a Project
is divided into Subsystems, commit privileges are normally granted at
the Subsystem level, and the Committers for a given Subsystem vote on
issues specific to that Subsystem. Subsystem are established and discontinued
by the PMC. When the PMC creates a Subsystem it appoints a Subsystem lead
to act as the technical leader and names the initial set of Committers
for the Subsystem. The Subsystem lead is designated as a Committer for
the Project and represents the Subsystem in discussions and votes pertaining
to the Project as a whole. Subsystem Committers do not participate in
votes at the level of the Project as a whole, unless they are also the
Subsystem lead.</p>
<p><b>Ports</b><br>
For Subsystems that contain platform-specific code, it may be advantageous
to allow developers to work on a port of the Subsystem to a new platform
without requiring that they already be Committers for the Subsystem. In
this case, the main code base is known as the Subsystem &quot;core&quot;,
and the port code base is known as a Subsystem &quot;port&quot;. The decision
to set up a port is made by the PMC. When a new port of a Subsystem is
created, the PMC appoints a Port Lead, and an initial set of Committers
who will have commit and voting privileges specifically for the port.
The port is done under the auspices of the core Subsystem, and all Committers
for the core Subsystem automatically also have commit and voting privileges
on the port. Normally the Subsystem Lead will also be the Port Lead.</p>
<p><b>Coordinated Release Cycles</b><br>
All Projects under the Eclipse Test &amp; Performance Project will have
coordinated release plans, milestone dates, freeze cycles, builds, and
ship dates. Project Leads are responsible for coordinating their respective
Projects while the Eclipse Test &amp; Performance Project Planning Group
will coordinate across Projects.</p>
<p>The Eclipse Test &amp; Performance Project will typically have release
plans coincident with Eclipse Platform releases plus additional more frequent
interim releases where appropriate.</p>
<p><b>Infrastructure</b><br>
The infrastructure required to support the development process is the
responsibility of the PMC. The Eclipse Test &amp; Performance Project
will have at least the following:</p>
<ul>
<li>Bug Database - Bugzilla database for tracking bugs and feature requests.
</li>
<li>Source Repository -- One or more CVS 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
and Committer voting related to the Project(s). This mailing list is
open to the public. </li>
<li>Subsystem Mailing Lists -- Development mailing list for technical
discussions and Committer voting related to the Subsystem. This mailing
list is open to the public. </li>
</ul>
<p><b>Development Process</b><br>
Each Project lead must produce a development plan for the release cycle,
and the development plan must be approved by the Eclipse Test &amp; Performance
Planning Group.</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 master copy of the code base 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 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 establishing 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 subproject, 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 should
be posted to the mailing list to keep the other committers (and other
interested parties) informed.</p>
<p>The PMC may specify additional detailed development process guidelines
specific to this Project.</p>
<p><b>Licensing</b><br>
All contributions to Projects under this Charter must adhere to the Eclipse
Foundation Intellectual Property Policy.</p>
<p>&nbsp;</p>
</td>
</tr>
</table>
</body>
</html>