Clone wiki

javarosa / PSCguide

JavaRosa Project Steering Committee (PSC)

Written by Jon Jackson, KieranSS, based on OpenLayers' PSC


This document describes how the JavaRosa Project Steering Committee determines its membership, and makes decisions on JavaRosa project issues.

In brief, the committee votes on proposals on the JavaRosa dev mailing list. Proposals are available for review for at least two days, and a single veto is sufficient to delay progress though ultimately a majority of members can pass a proposal.

Detailed Process

  1. Proposals are written up and submitted on the JavaRosa dev mailing list for discussion and voting, by any interested party, not just committee members.
  2. Proposals need to be available for review for at least two business days before a final decision can be made.
  3. Respondents may vote "+1" to indicate support for the proposal and a willingness to support implementation.
  4. Respondents may vote "-1" to veto a proposal, but must provide clear reasoning and alternate approaches to resolving the problem within the two days.
  5. A vote of -0 indicates mild disagreement, but has no effect. A 0 indicates no opinion. A +0 indicate mild support, but has no effect.
  6. Anyone may comment on proposals on the list, but only members of the Project Steering Committee's votes will be counted.
  7. A proposal will be accepted if it receives +2 (including the proposer) and no vetos (-1) except in the case where the issue requires a unanimous approval (see below).
  8. If a proposal is vetoed, and it cannot be revised to satisfy all parties, then it can be resubmitted for an override vote in which a majority of all eligible voters indicating +1 is sufficient to pass it. Note that this is a majority of all committee members, not just those who actively vote.
  9. Upon completion of discussion and voting the proposer should announce whether they are proceeding (proposal accepted) or are withdrawing their proposal (vetoed).
  10. The Committee Chair is responsible for facilitating discussion of proposals, and is responsible for keeping track of who is a member of the Project Steering Committee.
  11. Addition and removal of members from the committee, as well as selection of a Chair should be handled as a proposal to the committee.
  12. The Chair adjudicates in cases of disputes about voting.

When is a Vote Required?

  • Before any changes that could cause backward compatibility issues or changes the published API.
  • Before adding substantial amounts of new code.
  • Issues of procedure.
  • When releases should take place.
  • Anything that might be controversial.
  • Issues Requiring Unanimous Approval
  • Changing the License for the project or repositories