The “Open Service Broker API” is an API specification hosted at the Cloud Foundry Foundation (CFF). While the API was initially developed specifically for the Cloud Foundry platform, this specification is distinct from the Cloud Foundry platform’s implementation(s). The purpose of governing the API specification as a distinct effort is to ensure an open process of collaboration and evolution of the API, as well as to support implementations of the API by other platforms and services.
The Open Service Broker API is governed by the “Open Service Broker API” Project Management Committee (PMC). See the “Background on CFF Technical Governance” section of this document for the relevant governance background.
Approach to Collaboration
Collaboration and participation in the Open Service Broker API effort is open to any interested person, with the only requirement being that the individual is covered by an ICLA or CCLA prior to contributing any intellectual property to the effort. Membership in the CFF is not required for any individual or corporation contributing to the effort. However, Dedicated Committers should either be employed by a member of the CFF or be an individual member of the CFF. There is no cost associated with individual membership.
Primary collaboration on the Open Service Broker API will be done via a combination of Pull Requests to the project’s GitHub repository and proposal documents to describe major areas of new work.
The Open Service Broker API PMC will meet weekly via teleconference. The purpose of these meetings is to:
- Review the status of all outstanding PR’s and proposals that are in progress.
- Allow the community to hold real-time discussion of any issues related to ongoing PR reviews or proposals.
- Discuss any new project proposals or life-cycle events.
It is the responsibility of the PMC to ensure that notes from all meetings, in particular votes of the PMC, will be documented and published publicly. Any Dedicated Committer (whether present at a meeting or not) may request an electronic vote for any decision (reached via vote or consensus of attendees) made during the meeting.
All projects in this PMC will use the CFF Distributed Committer Model (see Development Operations Policy).
All group email communication uses the firstname.lastname@example.org mailing list publicly available at https://groups.google.com/forum/#!forum/open-service-broker-api
Any sub-group specific email lists will be established within the same mailing list infrastructure.
The https://openservicebrokerapi.slack.com/ Slack team is available for the community.
The Open Service Broker API Project is hosted in the following repository: https://github.com/openservicebrokerapi/
Commit access to the projects is provided to all Dedicated Committers within the PMC.
All retired projects from the PMC will be moved into the cloudfoundry-attic GitHub organization as read-only.
Technical Decision Making
All CFF technical collaborations strive for consensus first. If consensus is not achieved for any decision, then the PMC shall hold a vote of its Dedicated Committers. Votes with a majority of the Dedicated Committers voting in the affirmative will be considered “passed”. Majority is defined as more than 50%.
The Dedicated Committers will establish, and document, the process by which changes are made to the specification. This should include topics such as:
- How many approvals are required before a change is accepted/merged?
- How are disapprovals managed? Any one Dedicated Committer can veto?
- Is there a time limit for reviews?
- How to deal with merged changes whose impact may not have been fully realized at the time?
- Define the release process.
The Open Service Broker API specification will be released at varying points in time, as agreed upon by the PMC. The API specification release process will include an electronic vote of the Dedicated Committers, using GitHub issues to document agreement.
The PMC may designate a release manager to help manage the process of gathering consensus on making a release, or may decide that any Dedicated Committer can propose that a new release be made.
The CFF will host a public website with pointers to all released versions of the specification.
PMC Lead, Project Lead and Dedicated Committers
Given that each PMC within the CFF has autonomy to create its own rules for what constitutes a Dedicated Committer, the Open Service Broker API PMC has defined Dedicated Committers as a group of named individuals.
The Co-Chairs of the PMC are:
- Sam Gunaratne (VMware)
- Florian Müller (SAP)
The named individuals are:
- Zach Robinson (VMware & CFF CAPI Project Lead)
- Jatin Naik (VMware)
- Jonathan Berkhahn (IBM)
- Rodrigo Vaz (Salesforce)
New Dedicated Committers can be added to the PMC, based on a majority vote of the current Dedicated Committers within the PMC. The PMC should take into account the contributions of that individual to the PMCs projects.
Any Dedicated Committer can choose to resign the role at any time. The PMC may also choose to remove any Dedicated Committer, based on a 100% vote of the Dedicated Committers within the PMC (excluding that committer).
Votes regarding changes to Dedicated Committers must be done electronically via a private email thread including all Dedicated Committers, to try and avoid any negative consequences to the person in question through public archival of the discussion.
Licensing and Trademarks
The licensing and copyright of the API specification and any software produced within the PMC will follow the CFF Intellectual Property Policy, including:
- All contributions to the Open Service Broker API and related projects require the individual contributing to be covered by a CLA.
- All work of the Open Service Broker PMC will be licensed using the Apache Software License version 2.
- Labeling of all artifacts as “Copyright (c) YYYY CloudFoundry.org Foundation, Inc. All Rights Reserved.”
The use of the CFF trademarks and word marks is governed by CFF’s Trademark Usage Guidelines.
Implementations (consumer or provider) of the Open Service Broker API are encouraged to document which version(s) of the Open Service Broker API they support. References to the API itself should be referred to as the “Open Service Broker API”.
Background on CFF Technical Governance
All technical collaboration within the CFF is governed by a set of policies approved by the Foundation’s Board of Directors.
Of specific interest:
- Development Governance Policy
- Development Operations Policy
- Intellectual Property Policy
- Individual Contributor License Agreement
- Corporate Contributor License Agreement
Governance of technical collaboration within the CFF is structured as follows:
- PMC Council – Generally responsible for creation and life-cycle management of PMCs, as well as helping resolve inter-PMC disputes.
- Project Management Committees (PMCs) – Technical communities focused on one or more related projects.
- Projects – Specific technical collaboration efforts hosted within a PMC.
At all levels, technical collaboration at the CFF assumes consensus as the normal approach for making decisions. In cases where consensus is not achieved, decisions are made using a majority vote of Dedicated Committers within the relevant PMC.
Each PMC has autonomy to establish rules for determining what constitutes a Dedicated Committer. Each PMC has autonomy to approve new projects, graduate projects from incubating to active status, and retire projects.