|
We believe that a governance system that is clearly outlined and fairly
represents the community is essential to the successful development of
the Grid Engine project.
The Grid Engine project is about providing an enabling technology and
the development of common interfaces, with system interoperability from
the participants in the project a key metric of success. Successful evolution
of the technology will require strong community collaboration to best meet
the needs of individual developers and to move the project forward for
the group benefit. An effective governance system will provide a means
to manage the process of its evolution. Initially we will build on the
model used by other open source projects, a meritocracy based on consensus.
All decision making, planning and communication will be done in the
open, on public mailing lists.
Basically the structure we envision is the following:
-
User
-
Developer
-
Contributor
-
Committer
-
Module Owner
-
Project Owner
-
Board
Users
Users are the people who use the products of the Project. People in
this role aren't contributing code, but they are using the products, reporting
bugs, making feature requests, and such. This is by far the most important
category of people as, without users, there is no reason for the Project.
When a user starts to contribute code or documentation patches, he/she
becomes a developer.
How to become one: Download
Grid Engine, and use it to create a distributed computing environment.
Contributors
Contributors are developers who contribute patches and code (by e-mail
or via the appropriate project tools), and users of the Grid Engine software
who want to report bugs or comments. A developer's contribution is always
recognized. Contributors do not have CVS check-in access. A developer who
has sent in solid, useful patches on a project can be elevated to contributor
status by the Module Owner or Project Owner. Integration of developers'
contributions is at the discretion of the Module Owner, but this is an
interactive, communicative process.
How to become one: As a developer, Get
the source, make an improvement or fix a bug, and send that code to
the developers mailing list. End users similarly can make suggestions and
submit issues.
Anyone who wishes to contribute to the Grid Engine projects in any form must agree to and sign a Contributor Agreement. This agreement clarifies that to your knowledge, the code
you've submitted was developed by you, and that you have authority to provide
it and any related IP to the Grid Engine project.
Committers
A committer has check-in access to the development, or "pre-release"
branch of the source tree. Committers can directly make changes to the
source base of the development branch, from which builds are made. A Committer
that has been inactive for 6 months or more may lose his or her status
as a Committer. In this case, or if the value of contributions of a Committer
decreases, Committer status may be revoked by the responsible Module Owner
or Project Owner. A Committer has authority to commit any change that is
a bug fix, or an improved implementation of an existing capability, where
the improvement is not also an enhancement. It is the responsibility of
a Committer to verify with the responsible Project Owner or Module Owner
before committing any change that is an enhancement to an existing feature
or a new feature. A committed change must be reversed if this is asked
by the responsible Project Owner, Module Owner, or the Board, where the
conditions cannot be immediately satisfied by the equivalent of a "bug
fix" commit. Such a situation must be corrected before any public release.
How to become one: Submit
a number of patches via e-mail, and ask the Module Owner or Project
Owner for commit access.
Module Owners
A Module Owner is a Committer with a defined functional area of responsibility
constituting one or more modules of a project.
A Module Owner has responsibility and authority to:
-
Review and accept bug reports from Users, and contributions from Developers,
where the contribution is a bug fix or an improved implementation of an
existing capability. This authority can be delegated to a Committer.
-
Review and accept suggestions and contributions for enhancements and new
features which are in accordance with project goals.
-
Recommend to the Project Owner changes to the project goals relative to
enhancements and new features.
-
Give guidance and directions for his or her area, and to ensure that questions
about the area are answered and contributions/issues are handled.
-
Review contributions from developers and grant committer status.
How to become one: A Committer is made a Module Owner by the Project Owner
as demonstrated through a history of contributions.
Project Owner
The Project Owner acts as a 'benevolent dictator' for the project, and
in this role should have ample experience with the product and the product
space. The Project Owner has authority to appoint or remove Module Owners.
Fritz Ferstl will take the role of Project Owner at the beginning of
the project. Fritz has held responsibility to guide the development of
Grid Engine technology since its inception in 1993, and is presently Engineering
Manager for the Grid Engine development team at Sun Microsystems.
The Board
We propose initially that the Board will consist of three members, made
up of one Sun representative and two independent, non-Sun representatives,
and that the board will be established by December 1, 2001. The community
has the opportunity to nominate board members from now until November 10,
2001. Nominations will be accepted through the mailing list users@gridengine.sunsource.net.
The board members will be announced in early September 2001, and they will
initially serve a limited term beginning at that time.
The role of the board is as a "court of last resort", to resolve problems
that are not resolved through a process of dialog. As such it is more important
for the individuals on the board to be well familiar with the processes
of open source development and related issues. The Board is expected to
have high-level duties to ensure that the Grid Engine project is being
run in a fair and open manner. Every effort should be made to solve disputes
at the community level before turning to the Board.
How to become one: The nomination and selection process is open to public
discussion, and we are actively soliciting input from the Grid Engine community.
Please post your comments and suggestions to the users@gridengine.sunsource.net
mailing list.
We are attempting to make the governance procedures as lightweight as
possible. We seek above all to invite all interested users and developers
to take part in the enhancement of this project and seek input from all.
We are attempting to make sure the governance procedures will not hinder
the momentum of any group or individual who seeks to use Grid Engine software
or participate in the Grid Engine project.
This governance system might change as the Grid Engine community grows,
but we are committed to a system that is fair and open to all community
members. If you have any questions, suggestions, and/or concerns, please
post them on the general mailing list.
|