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
  • Fixed typo.
  • Approved - Architecture Team Ballot 158
  •  


    Abstract:  The purpose of this PEP is to describe the mechanisms used by the OpenPegasus Community to record binding votes.


    Definition of the Problem

    PEP#336, OpenPegasus Community Review and Approval Process, defines an offline review and approval process for enhancements, controversial bug fixes and Concept and Functional PEPs.  This PEP extends PEP#336 by describing the mechanisms used by the OpenPegasus Community to record binding votes.  Please refer to PEP#336, OpenPegasus Community Review and Approval Process, for details on the overall review and approval process.

    Note: All developers are encouraged to express their opinion by voting.  And although only the votes of individuals who have earned merit are counted (i.e., are binding),  non-binding votes provide invaluable input to those with binding rights.  A non-binding vote is cast by sending a reply to the original "[VOTE]" e-mail announcing the opening of the ballot.  The body of the e-mail should include the vote (i.e., "Yes [+1]", "Abstain [0]" or "No [-1]").  

    Requirements

    The following set of requirements have been defined for the voting mechanisms described in this PEP.
    1. Allow full participation in the process by a geographically distributed community.
    2. Allow binding votes to be easily tallied.
    3. Provides a historical record of voting.

    Proposed Solution

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

    OpenPegasus Bugzilla Voting Process

    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

    "Flag" "contains the string" "FIX-OK-"

              "Flag" "contains the string" "FIX-OK-" AND
                     "Flag Setter" "contains the string" "someone@acme.com"

              "Flag" "contains the string" "FIX-OK-" AND
                      "AssignedTo" "contains the string" "someone@acme.com"

    OpenPegasus Review Document Voting Process

    This section describes the process steps for recording binding votes using Review Documents.


    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