Add Sandbox guidelines

Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
This commit is contained in:
Chris Aniszczyk 2018-02-27 14:34:14 -06:00
parent 6d51c72439
commit 7699babccf
2 changed files with 104 additions and 0 deletions

104
process/sandbox.md Normal file
View File

@ -0,0 +1,104 @@
# CNCF Sandbox Guidelines v1.0
![CNCF Sandbox](https://github.com/cncf/artwork/blob/master/other/cncf-sandbox/horizontal/color/cncf-sandbox-horizontal-color.png)
The CNCF Sandbox is the entry point for early stage projects and has four goals:
* Encourage public visibility of experiments or other early work that can add value to the CNCF mission and build the ingredients of a successful Incubation level project
* Facilitate alignment with existing projects if (and only if) this is desired
* Nurture projects (e.g. via CNCF [Service Desk](https://github.com/cncf/servicedesk) requests)
* Remove possible legal and governance obstacles to adoption and contribution by ensuring all projects adhere to CNCF legal, code of conduct and IP Policy requirements
This proposal is to move all Inception level projects to the Sandbox and provide clarity on what Sandbox projects stand for.
## What is the CNCF Sandbox
Theres been a desire within the CNCF TOC and community to provide further clarity around project maturity levels in CNCF.
When we initially created the Inception project level, it was intended to provide an avenue for technically interesting early-stage projects that were beneficial to the cloud-native community. We are transitioning Inception projects to the Sandbox. Sandbox projects should be early-stage projects that the CNCF TOC believes warrant experimentation. The Sandbox should provide a beneficial, neutral home for such projects, in order to foster collaborative development. We aspire to make the Sandbox the preferred path for early-stage projects to enter the CNCF. More mature projects can continue to jump directly to incubation, but as the cloud-native ecosystem grows, we expect to see proportionally more early-stage projects.
## Early Stage
When we say that Sandbox projects are "early stage" this covers the following examples:
1. New projects that are designed to extend one or more CNCF projects with functionality or interoperability libraries. Eg. in the case of Kubernetes, the Sandbox is intended as a home for projects that would previously have [started in the Kubernetes Incubator](https://github.com/kubernetes/community/blob/master/incubator.md).
2. Independent projects that fit the CNCF mission and provide potential for a novel approach to existing functional areas, or are an attempt to meet an unfulfilled need
3. Projects commissioned or sanctioned by the CNCF, including initial code for CNCF WG collaborations, and "experimental" projects
4. Any project that realistically intends to join CNCF Incubation in future and wishes to lay the foundations for that
## Roadmap for Sandbox Projects
![CNCF Sandbox Roadmap](sandbox.png)
## Caveat Utilitor
The CNCF hopes that all early stage projects will achieve the success they desire. And the organisation will help as appropriate. But certain caveats must be stated nonetheless.
End users should treat early stage projects with care. It is expected that some Sandbox projects may fail. They may never move to the next maturity level. While many early projects are safe to try out, users must exercise their own judgment. Some projects may be alpha quality software. There is no guarantee of production readiness, users, or professional level support. Where projects enjoy the public support of one or more professional software organisations, those may be seed stage. In short: The CNCF Operating Principle about "no kingmakers" is of special importance in the Sandbox.
## Sandbox Governance and Benefits
### Advantages of Sandbox vs non-Sandbox for new projects
CNCF will remain fair and open to all projects no matter what their initial provenance. Should a project apply for CNCF Incubation, the TOC will use the same criteria regardless of origin. This means the TOC will not discriminate in favour of Sandbox projects vs. non-Sandbox projects.
Therefore the advantages of being in the Sandbox apply prior to application for Incubation, ie.:
1. That a project has a legally neutral home that is stable and known
2. And that a project *may *attain Incubation-level success faster:
1. Due to public visibility and association with the CNCF mission
2. Through alignment with other CNCF projects (if and only if desired)
3. Via CNCF Service Desk etc.
3. The CNCF will help projects adopt good principles of governance
### Neutral Home
A neutral home for your project increases the willingness of developers from other companies and independent developers to collaborate, contribute, and become committers. Neutrality requires that projects contribute their trademark to CNCF so that:
* no company is favored over any other
* CNCF ensures project governance is transparent and fair for everyone.
### Clarifying Marketing Expectations
To date the CNCF has invested in marketing to educate users and grow awareness of cloud native purpose and benefits, to foster community, and to accelerate production use of projects.
Investments fall into at least three types:
* Developer community support: hangouts, meetups, events and (some) conferences
* Digital marketing: help with online content, interactive tutorials, webinars, and social
* Product marketing: conference promotion, certification, case studies, AR/PR
Since the Sandbox is for early stage, sandbox projects will receive minimal marketing support from the foundation. The Sandbox group as a whole may be promoted from time to time.
The CNCF will lean towards developer community support and the CNCF service desk, to help discovery and initial steps towards CNCF Incubation. There will only be limited CNCF investment in Digital and Product marketing for individual Sandbox projects, and these should be factual and informative.
Some key points:
* Sandbox projects will be listed separately from other CNCF projects (cncf.io/sandbox)
* They will not be prominently listed at our events or issued a press release
* Reviewed on an annual basis; submit a report to the TOC for review
* CNCF Sandbox projects can stay in the sandbox indefinitely
### Sandbox Entry Requirements
* Require 2 TOC sponsors to enter the sandbox
* Require presentation to the TOC community twice-a-month meeting
* Require adherence to CNCF IP Policy (including trademark transferred)
* Require sandbox projects to list their sandbox status prominently on website/readme
### Sandbox Exit Requirements
* Existing incubation criteria: [https://github.com/cncf/toc/blob/master/process/graduation_criteria.adoc](https://github.com/cncf/toc/blob/master/process/graduation_criteria.adoc)
* Require 2/3 vote from the TOC to enter incubation
* Used successfully in production by at least three independent end users which, in the TOCs judgement, are of adequate quality and scope.
* Have a healthy number of committers
* Archiving criteria: projects may be archived via a 2/3 vote from the TOC

BIN
process/sandbox.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB