Constitution

From ReactOS Wiki
Revision as of 14:02, 16 October 2005 by Chorns (talk | contribs)
Jump to: navigation, search

This is very much a work-in-progress and not approved by the project members yet. The following is inspired by the successful Debian project. Feel free to comment.

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 Windows® applications and drivers.

ReactOS Project: A community of individuals and organisations dedicated to making a Free/Open Source Operating System compatible with Microsoft Windows® 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 Windows® 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.

Project Member: Registered or Unregistered Project Member.

Coordinator Description: Defined 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 addition, removal or change of a Project Rule.

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 person 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 decisions, Project Rules, and responsibilities and powers of Area Coordinators 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 Coordinator or Area Coordinator.
  • Appoint or dismiss the Project Coordinator or Area 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 for 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 doesn't 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 are collectively called the 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 powers for a particular area as defined by the Project Coordinator. The Area Coordinator holds the position until the Area Coordinator resigns or until Coordinator Election for that area occur.

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 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 Project Rule or Coordinator appointment 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 a 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 minimum discussion period is one (1) week from 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 the it, then the discussion period is restarted, and thus runs for at least one (1) week from 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 minimum 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 sent to the public Project mailing list on which the draft General Resolution was first sent to and on which the vote was called for.
  • Unless specified otherwise, the default option is Further Discussion.
  • The voting period is one (1) week from the the time the vote was announced 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 proposers May reinstate it again, in which case the first person 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 Project Secretary Must collect votes from each Registered Project Member and document the votes 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.

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.
  • 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 General Resolution in order for it to be passed, 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 demands it by way of General Resolution.

The procedure

The Coordinator Election procedure is described below:

  • The procedure begins when the Project Secretary announces 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, Registered Project Members 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 candiates are found, the Project Secretary announces the candiates for the Coordinator position and calls for a vote on the same 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 Registered Project Members May may vote for any of the available candidates.

Vote counting

The Project Secretary Must collect votes from each Registered Project Member and document the votes in a public Project information system. Whichever candidate gets the most valid votes, wins.