Governance/DesignatedSections

The DefCore Committee maintains this page

Designated Sections Selection Guidance
_Approved 2014 Dec 2_

There DefCore committee identified 10 selection criteria. The first seven are technical from the TC and last three allow the Board to resolve issues without needed a technical judgement.


 * 1) Designated if the code provides the project external REST API
 * 2) Designated if the code is shared and provides common functionality for all options
 * 3) Designated if the code implements logic that is critical for cross­platform operation
 * 4) NOT Designated if project design explicitly intended this section to be replaceable
 * 5) NOT Designated if code extends the project external REST API in a new or different way
 * 6) NOT Designated if code is being deprecated
 * 7) NOT Designated if code interfaces to vendor­specific functions
 * 8) NOT Designated by Default
 * 9) Unless code is designated, it is assumed to be undesignated.
 * 10) This aligns with the Apache license.
 * 11) We have a preference for smaller core.
 * 12) Designated by Consensus
 * 13) If the community cannot reach a consensus about designation then it is considered undesignated.
 * 14) Time to reach consensus will be short: days, not months
 * 15) Except obvious trolling, this prevents endless wrangling.
 * 16) If there’s a difference of opinion then the safe choice is UNdesignated.
 * 17) Designated is Guidance
 * 18) Loose descriptions of designated sections are acceptable.
 * 19) The goal is guidance on where we want upstream contributions not a code inspection police state.�. Guidance will be revised per release as part of the DefCore process.

Havana
The Board approve the following Sections on 2014 Dec 2:
 * Havana Nova is by default designated except scheduler, filter, drivers, API extensions and networking.
 * Havana Cinder designated sections are the API implementation code
 * Havana Glance designated sections are the API implementation code and domain model.
 * Havana Swift designated sections are proxy server, object server, container server, account server and select middleware (complete list provided by PTL).