Constitution 2.0

From ReactOS Wiki
Jump to: navigation, search

The following is inspired by the successful Debian project. This version is going to supersede the outdated existing Constitution.

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

Project: See ReactOS Project.

ReactOS Foundation: Non-profit organisation registered in Russia (registration number 1021301112876) 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® based applications and drivers.

Foundation: See ReactOS Foundation.

Constitution: Document explaining decision making entities, their abilities and decision making processes of an organisation.

Repository: Central database containing the source code, documentation, and other files used by the Project.

Project Member: ???

Project Leader: A person who officially represents the Project.

(? )General Resolution: Document containing a proposal and rationale for a change within the Project.

(?) Standard Resolution Procedure: Procedure used to make a decision.

(?) Project Rules: Formal rules established by way of General Resolution that Must be adhered to by all Project Members.

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 must inform the Project Leader about her or his decision, and optionally 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.
  • All Project Rules and results of votings 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 Developers.
  • The Project Leader.
  • The individual Developer.

(??) 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.

(change) The Project Leader

The Project Leader 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 Developer

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.

See Also

ReactOS Project Development Policy