Pegasus Enhancement Proposal (PEP)
PEP #: 337
Title: OpenPegasus Binding Vote Processes
Version: 1.1
Created: 04 October 2008
Authors: Denise Eckstein
Status: Approved
Version History:
Version | Date | Author | Change Description |
---|---|---|---|
1.0 | 04 Oct 2008 | Denise Eckstein | Initial Submission |
1.1 | 08 Oct 2008 | Denise Eckstein |
|
Abstract: The purpose of this PEP is to describe the mechanisms used by the OpenPegasus Community to record binding votes.
The OpenPegasus Community supports two mechanisms for recording binding votes, the "OpenPegasus Bugzilla Voting Process" and the "OpenPegasus Review Document Voting Process". The Bugzilla voting process should be used to ballot fixes proposed in Bugzilla reports. The OpenPegasus Review Document voting process should be used for all other types of ballots (e.g., approving PEPs or granting rights).
This section describes the steps for recording binding votes using the OpenPegasus Bugzilla process. This process uses the OpenPegasus Bugzilla flag, FIX-OK, to record binding votes.
1. Creating a Ballot
For a ballot to be created, an individual with binding voter rights for the action must agree to sponsor the proposed change documented in the Bugzilla report. This is done by setting a "FIX-OK" flag on the Bugzilla to "+" and sending a [VOTE] e-mail announcing that the ballot is open. The body of the [VOTE] e-mail should include a pointer to the Bugzilla being balloted. Please refer to PEP#336, OpenPegasus Community Review and Approval Process, for additional details on the ballot process.
2. Voting
Binding votes are cast by setting a "FIX-OK" flag to "+" for yes, "?" for abstain and "-" for no. For a "-" vote to be valid, it must be accompanied by a comment in the bugzilla report explaining why the "No" is appropriate.
3. Tallying Votes
When the ballot period has ended, the sponsoring individual is responsible for tallying the votes and sending an e-mail with the results to the appropriate distribution list.
4. Casting Vetoes after Initial Acceptance Period Ends
For lazy consensus and lazy approval votes, a binding veto may be cast after the patch has received initial acceptance and been submitted. A veto is cast by setting a "FIX-OK" flag to "-". For a "-" vote to be valid, it must be accompanied by a comment in the bugzilla report explaining why the "No" is appropriate.
5. Query Examples
- Search for all bugs with pending vetoes.
"Flag" "contains the string" "FIX-OK-"
- Search for all bugs with pending vetoes set by someone@acme.com
"Flag" "contains the string" "FIX-OK-" AND
"Flag Setter" "contains the string" "someone@acme.com"
- Search for all bugs owned by someone@acme.com with pending vetoes.
"Flag" "contains the string" "FIX-OK-" AND
"AssignedTo" "contains the string" "someone@acme.com"
This section describes the process steps for recording binding votes using Review Documents.
For a ballot to be created, an individual with binding voter rights for the action must agree to sponsor the proposal. The sponsoring individual is responsible for creating and posting the ballot. A Review Document ballot has the following format.
Pegasus Architecture Team Ballot
Ballot <ID NUMBER>
The ballot number is a unique identifier for the ballot. The format for the ballot number is YYYY-MMM-DD-NN (e.g., 2008-10-04-01). The last field of the ballot number will normally be "01". However, if multiple ballots are opened on the same day this number should be incremented to ensure uniqueness.
Ballot Description
<Description>
The ballot description contains a brief description of the item being balloted and, if appropriate a pointer to the item. E.g., " Vote to approve version 1.3 of PEP 999, Way Cool Functionality, http://www.openpegasus.org/pp/upreviews/40/2778/WayCoolFunctionalityPEP.htm." or "Vote to add Jane Doe as an OpenPegasus Committer."
Ballot Approval Type: <Ballot Type>
The ballot approval type describes the type of ballot. Valid values for ballot approval types are: Consensus, 2/3 Majority, Lazy Consensus, and Lazy Approval.
Start Date: <DATE>
The start date is the day the ballot opened. The format for the start date is Time Month, Day, Year (e.g., 4:30PM PST October 4, 2008).
Initial Acceptance End Date: <DATE>
The Initial Acceptance End Date should only be included for lazy votes. It defines when the Initial Acceptance ballot period ends. The format for the end date is Time Month, Day, Year (e.g., 4:30PM PST October 6, 2008).
Final Approval End Date: <DATE>
The Final Approval End Date defines when the Final Approval ballot period ends. The format for the end date is Time Month, Day, Year (e.g., 4:30PM PST October 18, 2008).
Vote
Please enter your vote as a review comment in the table below. A vote can be one of the following three values: "Yes [+1]", Abstain [0], No [-1]. Please refer to PEP 336, OpenPegasus Community Review and Approval Process, for additional details.
Votes and Comments
Once the ballot has been created, it should be posted as a Review Document under the group (e.g., Architecture Team, PMC) that owns responsibility for approving the action. The "Review start date" and "Review end date" for the Review Document should match the "Start Date" and "Final Approval End Date" in the ballot. Once the ballot has been posted, and the sponsoring individual has voted "Yes [+]", the [VOTE] e-mail announcing that the ballot is open may be sent. The body of the [VOTE] e-mail should include a pointer to the Review Document ballot.
Binding votes are entered as review comments in the "Vote and Comments" table in the Review Document ballot.
When the ballot period has ended, the sponsoring individual is responsible for tallying the votes and sending an e-mail with the results to the appropriate distribution list.
Copyright (c) 2004 EMC Corporation; Hewlett-Packard Development
Company, L.P.; IBM Corp.; The Open Group; VERITAS Software Corporation
Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; EMC Corporation; Symantec Corporation; The Open Group.
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE
SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Template last modified: March 26th 2006 by Martin Kirk
Template version: 1.11