punctuation
[dbsrgits/DBIx-Class.git] / GOVERNANCE
CommitLineData
d8cf3aa3 1DBIx::Class Core Team and Voting System
2
3Non normative section:
4
5DBIx::Class originally operated under a BDFL system, but one where it was
6expected that an informal core team would be maintained, and that where
7consensus could not be pre-assumed, the core team and/or the user base
8would be consulted publically such that measured decisions could be made.
9
10This document is intended to formalise a form of this system, while still
11providing room for the system to adapt later as required.
12
13It is intended that this system provides confidence to the user base that
14decisions will be made in the open and that their wishes will be taken into
15account.
16
17It is also intended that this system allows business as usual to happen
18without unnecessary red tape.
19
20It is not intended that this system becomes the primary decision making
21process in and of itself; instead, it is intended that this system is used
22to ratify consensus as formed by discussion, and only sparingly as a tie
23breaking system when consensus cannot be reached.
24
25Normative section:
26
27Terms: VM - Voting Member - part of the benevolent dictatorship
28 LS - List Subscriber - a subscriber to the mailing list
29 LAV - List Aggregate Vote - the aggregate vote of the non-VM LSes
30
31Voting Members are:
32
33 Matt S Trout (mst) cpan:MSTROUT
34 Dagfinn Ilmari Mansaker (ilmari) cpan:ILMARI
35 Frew Schmidt (frew) cpan:FREW
36 Jess Robinson (castaway) cpan:JROBINSON
37
38PAUSE release perms are to be held by:
39
40 Matt S Trout (mst) cpan:MSTROUT
41 Dagfinn Ilmari Mansaker (ilmari) cpan:ILMARI
42 Frew Schmidt (frew) cpan:FREW
43 Jess Robinson (castaway) cpan:JROBINSON
44
45First come permissions are to be held by FREW.
46
47(the above two lists may or may not be identical at any given time)
48
49A resolution must be proposed and then successfully voted upon to:
50
51 - Make a PAUSE-indexed (i.e. non-dev) release of DBIx::Class
52 - Make changes to the master and blead branches of the repository
53 - Amend this document
54
55This document is currently in bootstrap phase, and as such no merges will be
56made to master or blead until this sentence is removed.
57
58A resolution that amends the 'PAUSE release perms' list is to be assumed to
59also intend the permission within PAUSE itself to be updated accordingly.
60
61Adding or removing entries from the list of situations requiring resolutions
62is absolutely a valid topic for resolutions.
63
64A resolution may be proposed for reasons including, but not limited to:
65
66 - Force/revert/block a branch merge
67 - Add/remove a commit bit
68 - Resolve a design discussion
69 - Anything you like, under the assumption frivolous proposals will be
70 voted down naturally anyway
71
72Merges to topic branches and similar actions that do not have a resolution
73attached may be made at the discretion of those with ability to do so, but
74a developer unsure if the merge will be uncontroversial is expected to ping
75the list first so a vote can be called if people believe it to be required.
76
77Rules that restrict this "ask unless you're sure" trust-by-default position
78are also absolutely a valid topic for resolutions.
79
80Resolution proposal:
81
82A resolution is proposed by starting a new thread entitled 'PROPOSAL: ...'
83
84A resolution must be seconded before it is voted upon.
85
86If a VM makes or seconds a proposal, they are required to abstain from
87voting upon it.
88
89If a non-VM LS makes or seconds a proposal, no such restriction applies.
90
91Resolution voting:
92
93Once a proposal is seconded, the initial proposer may start a new thread
94entitled 'VOTE: ...' (voting does not automatically begin after seconding
95in case other feedback leads the proposer to wish to alter and re-present
96their proposal).
97
98Each VM may cast one vote, either +1, -1 or abstain.
99
100Each non-VM LS may post +1 or -1, and the aggregate of those form the LAV.
101
102Voting closes after 72h from when the proposal was first posted.
103
104A resolution passes if the VM total is at least +1 and the LAV is
105non-negative, to avoid requiring the list members to expend time to vote on
106business as usual while still providing them a veto.
107
108Resolution forcing:
109
110If a resolution gains a positive LAV, but is voted down by the VMs, a force
111vote may be proposed. This requires two list members who did not propose or
112second the initial resolution to propose and second the force vote.
113
114A force vote also lasts 72h, and is LAV-only. If it receives at least 25%
115more +1s than -1s, the resolution passes no matter the VM vote.
116
117This mechanism is not intended to be needed on a regular basis, but exists
118to permit the list to forcibly recall a VM if they believe it to be necessary.
119
120Once a resolution has passed, the resolution will be carried out by those with
121the power to do so. It will not be reverted without a new resolution
122amending or reversing the decision of the previous once.
123
124Passed resolutions will be recorded in a RESOLUTIONS file maintained next
125to this document.