Should we make the constitution the official document that describes the basic rights of
the project members and the decision making
processes of the project?
I've started the vote at
http://www.reactos.org/forum/viewtopic.php?t=1043.
= Introduction =
This document explains the decision making entities, their abilities and the decision
making processes of the ReactOS Project.
= Terminology =
ReactOS: Free/Open Source Operating System that is compatible with Microsoft WindowsR
applications and drivers.
ReactOS Project: A community of individuals and organisations dedicated to making a
Free/Open Source Operating System compatible
with Microsoft WindowsR based applications and drivers.
Project: See ReactOS Project.
ReactOS Foundation: US non-profit (501c3) organisation with goal to aid the ReactOS
Project in achieving its goal of creating a
Free/Open Source Operating System that is compatible with Microsoft WindowsR based
applications and drivers.
Foundation: See ReactOS Foundation.
Constitution: Document explaining decision making entities, their abilities and decision
making processes of an organisation.
May: The action may be performed.
Must: The action must be performed in order to abide this Constitution.
Should: The action should be performed, but it is not required.
Repository: Central database containing the source code, documentation, and other files
used by the Project.
Registered Project Member: An individual participating in the Project who has received
authentication information for the
Repository.
Unregistered Project Member: An individual participating in the Project who has not
received authentication information for the
Repository.
Project Member: Registered or Unregistered Project Member.
Coordinator Description: Document defining an area of responsibility and special
abilities.
Project Coordinator: Registered Project Member who has special abilities. Only one Project
Coordinator exist in the Project.
Area Coordinator: Registered Project Member who has special abilities within a given area.
Several Area Coordinators exists in the
Project.
Repository Coordinator: Registered Project Member who can promote Unregistered Project
Members to Registered Project Members.
Coordinator Election: Process which results in a Registered Project Member being promoted
to Repository Coordinator, Area
Coordinator or Project Coordinator.
General Resolution: Document containing a proposal and rationale for a change within the
Project.
Project Rules: Formal rules established by way of General Resolution that Must be adhered
to by all Project Members.
Standard Resolution Procedure: Procedure used to make a decision.
= General rules =
* No Project Member can be forced to perform a task. However, in case a Project Member has
made a contribution, and the general
consensus among the Project Members is that the contribution is harmful to the Project,
then the Project Member Should undo the
contribution.
* A Project Member can leave the Project at any given time. Before leaving the Project,
the Project Member Should issue a statement
containing their intentions to leave the Project on a public Project mailing list. A
former Project Member May rejoin the Project at
any time again.
* The Project Coordinator Must not be assigned another Coordinator position.
* All Project Rules, Coordinator Descriptions, and Coordinator Elections Must be
documented in a central location accessible by all
Project Members.
= Decision making entities of the Project =
The decision making entities of the Project are listed below:
* The Registered Project Members, by way of General Resolution or Coordinator Election.
* The individual Registered Project Member.
* The Project Coordinator.
* The individual Area Coordinator.
* The Repository Coordinator.
* The Project Secretary.
* The individual Unregistered Project Member.
== The Registered Project Members, by way of General Resolution or Coordinator Election
==
The Registered Project Members are Project Members who have received authentication
information for the Repository from the
Repository Coordinator. Registered Project Members have the right to vote and can exercise
their right to vote in order to:
* Override any decision made by the Project Secretary or any Coordinator.
* Appoint or dismiss the Project Secretary or any Coordinator.
* Amend this Constitution provided there is a 3:1 majority.
* Introduce new Project Rules.
* Remove existing Project Rules.
* Override any decision made by any individual Project Member.
* Undo any contribution and reverse any reversible action made by any individual Project
Member.
The Registered Project Members follow the Standard Resolution Procedure when making
decisions.
== The individual Registered Project Member ==
The individual Registered Project Member can:
* Propose General Resolutions.
* Nominate themselves as candidates in Coordinator Elections.
* Vote on General Resolutions and in Coordinator Elections.
* Do everything an Unregistered Project Member can do.
== The Project Coordinator ==
The Project Coordinator Should attempt to make decisions according to the consensus of the
Project Members. The Project Coordinator
is elected by way of Coordinator Election to a one (1) year term of office. The Project
Coordinator can:
* Define an area of responsibility and abilities that does not conflict with this
Constitution and delegate them to a Registered
Project Member (whom is thereby promoted to Area Coordinator) by way of Coordinator
Election. The defined area of responsibility and
abilities is collectively called a Coordinator Description.
* Make a decision when urgent action is required.
* Make any decision for whom nobody else has responsibility.
* In cooperation with the ReactOS Foundation, manage the properties of the ReactOS Project
in the best interest of ReactOS.
* Do everything an individual Registered Project Member can do.
== The individual Area Coordinator ==
The Area Coordinator is appointed by way of Coordinator Election and has the
responsibilities and abilities for a particular area as
defined in the Coordinator Description for that particular area. The Area Coordinator
holds the position until the Area Coordinator
resigns or until Coordinator Election for that area occur. The Area Coordinator can:
* Do whatever is described in the Coordinator Description for that particular area.
* Do everything an individual Registered Project Member can do.
== The Repository Coordinator ==
The Repository Coordinator Should issue authentication information for the Repository to
whomever the Repository Coordinator judges
to provide contributions which are valuable to the Project in the future, and is believed
by the Repository Coordinator to be able
to use the granted access responsibly. Once the Unregistered Project Member has received
authentication information, the
Unregistered Project Member is promoted to Registered Project Member. The Repository
Coordinator must keep records of everyone who
has access to the Repository. The records must include full name, email address and
assigned Repository username of each Registered
Project Member. Full name and assigned Repository username of each Registered Project
Member Must be made available to all Project
Members. The Repository Coordinator can:
* Allow or deny commit access to Project Members.
* Do everything an individual Registered Project Member can do.
The Repository Coordinator Should make decisions which are fair and reasonable, and
preferably consistent with the consensus of the
Project Members.
== The Project Secretary ==
The Project Secretary is a Registered Project Member who is appointed by the Project
Coordinator. The Project Secretary collects
votes amongst the Registered Project Members on General Resolutions or Coordinator
Elections, and determines the identities of
Registered Project Members who exercises their right to vote. The Project Secretary Must
document General Resolutions and
Coordinator Elections, the voting process, and the outcome that resulted from the voting
process. The Project Secretary can:
* Adjudicate any disputes about the interpretation of this Constitution.
* Delegate parts or all of their authority to another Registered Project Member, or
withdraw such a delegation at any time.
* Do everything an individual Registered Project Member can do.
The Project Secretary Should make decisions which are fair and reasonable, and preferably
consistent with the consensus of the
Project Members.
== The individual Unregistered Project Member ==
The individual Unregistered Project Member can:
* Make any decision with regard to their own contributions to the Project as long as these
contributions do not conflict with the
current Project Rules established by way of General Resolution.
= Standard Resolution Procedure =
The Standard Resolution Procedure is used to make decisions in the Project and at the same
time ensure that all Registered Project
Members have equal opportunity to influence these decisions.
== The procedure ==
The resolution procedure is described below:
* The procedure begins when a draft General Resolution is announced on a public Project
mailing list.
* Following the announcement of a draft General Resolution, its contents may be discussed
on the same public Project mailing list on
which the draft General Resolution was announced.
* The proposer of the draft General Resolution May change the contents of the draft
General Resolution until the voting begins.
* A formal amendment May be accepted by the proposer of the draft General Resolution, in
which case the draft General Resolution is
immediately changed to match the amendment.
* If a formal amendment is not accepted by the proposer of the draft General Resolution,
the amendment remains as an amendment and
will be voted on.
* The length of the discussion period May be specified in the draft General Resolution. If
not specified, then 7 days is assumed.
The discussion period begins at the time when the draft General Resolution or amendment
was announced on a public Project mailing
list.
* If the proposer of the draft General Resolution makes semantic changes to it, then the
discussion period is restarted, and thus
begins at the time of announcement of the changed draft General Resolution. Minor
non-semantic changes (e.g. typographical errors or
inconsistencies) will not cause the discussion period to be restarted. This also applies
to amendments and their proposers.
== Calling for a vote ==
The proposer of a draft General Resolution May call for a vote on the General Resolution
and relevant amendments, provided that the
discussion period has elapsed for the General Resolution and all related amendments. The
proposer can call for a vote by posting to
the public Project mailing list on which the draft General Resolution was first sent to.
== Voting procedure ==
The voting procedure is described below:
* The General Resolution and its related amendments is voted on in a single ballot that
includes an option for the original General
Resolution, each relevant amendment, and the default option (where applicable).
* The votes from Registered Project Members are registered in a public Project information
system.
* Unless specified otherwise, the default option is Further Discussion.
* The length of the voting period May be specified in the draft General Resolution. If not
specified, then 7 days is assumed. The
voting period begins at the time the vote was called for on a public Project mailing list
by the proposer of the draft General
Resolution.
* The Project Secretary Should decide on matters of procedure in cases of doubt.
== Withdrawing General Resolutions or unaccepted amendments ==
The proposer of a General Resolution or unaccepted amendment May withdraw it before the
voting begins. Other Registered Project
Members May reinstate it again, in which case the first Registered Project Member to do so
becomes the new proposer.
== Expiry of General Resolutions ==
In case a proposed General Resolution has not been discussed, amended, voted on or
otherwise dealt with for a period of 4 weeks or
more, the Project Secretary May issue a statement on the public Project mailing list on
which the draft General Resolution was first
sent to, that the issue is being withdrawn. If none of the proposers object within one (1)
week, the issue is withdrawn.
== Vote counting ==
The votes from each Registered Project Member who exercise his or her right to vote are
registered in a public Project information
system. Whichever General Resolution or amendment gets the most valid votes is passed,
unless a 3:1 majority is required. The
Project Secretary Must document the result of the voting in a public Project information
system if it meant that a new Project Rule
was introduced or the Constitution was amended.
= General Resolutions =
A General Resolution Must contain the following information:
* A subject that describes the General Resolution.
* The Repository username of the Registered Project Member that proposed it.
* The number of days of discussion which May be "None" if the proposer judges
such a period to not be needed. If not specified, then
7 days is assumed.
* The number of days of voting which Must be at least 2 days and at most 21 days. If not
specified, then 7 days is assumed.
* A detailed explanation of the General Resolution.
* Rationale for the General Resolution.
* If more than half of the valid votes must be in favor of the change proposed in the
General Resolution in order for the change to
be in effect, then it must be clearly stated in the General Resolution how many votes that
are required to be in favor for it to be
passed.
= Coordinator Elections =
A Coordinator Election is held when a Coordinator position needs to be filled or whenever
the Registered Project Members demand it
by way of General Resolution.
== The procedure ==
The Coordinator Election procedure is described below:
* The procedure begins when the Project Secretary announcing the Coordinator Election on a
public Project mailing list, asking for
candidates for the Coordinator position that needs to be filled. The Project Secretary
Must include, in the announcement, the
Coordinator Description which describes the area of responsibility and abilities of the
Registered Project Member who receives the
Coordinator position.
* In the following one (1) week from the announcement of the Coordinator Election, each
Registered Project Member May announce on
the same public Project mailing list on which the Coordinator Election was announced, that
they will run as a candidate for the
Coordinator position.
* Once the candidates are found, the Project Secretary announces the candidates for the
Coordinator position and calls for a vote on
the same public Project mailing list on which the Coordinator Election was announced.
* In the following one (1) week from the announcement of the vote, the candidates May do
their campaigning on the same public
Project mailing list on which the vote was announced, and each Registered Project Member
May vote for any of the available
candidates by registering their votes in a public Project information system.
== Vote counting ==
The votes from each Registered Project Member who exercise his or her right to vote are
registered in a public Project information
system. Whichever candidate gets the most valid votes, wins the election. The Project
Secretary Must document the result of the
voting in a public Project information system.