-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal for new API Project lifecycle approach (Sandbox + Incubated) #129
Comments
As presented within TSC on May 16th: The proposed criteria are currently available within https://wiki.camaraproject.org/display/CAM/API+Sub+Project+Maturity+Levels Please leave your comments here. |
On the mean time that a decision is taken, it is needed to define which APIs are suitable to be sent for aproval to TSC (from the API Backlog). Proposal is to have at least 2 companies supporting them (API owner + additional supporter) this is in order to ensure that the subgroup can work properly (one company propose PRs so the other one may approve them) as it is required regarding the minimun GitHub Workflow Ref. #122 |
I support some form of labelling in the GitHub repository to distinguish the more mature sub-projects from those that are just getting started or have not made much progress. Whilst there are clues to be had from GitHub itself (number of contributors, number of commits, etc.), clear labelling would help external viewers to focus on the more "important" of CAMARA's activities. And for sure we need clear criteria to move from "Sandboxed" to "Incubated", and I broadly agree with the above proposals. My comments are:
|
Agreed that labelling would help understanding the status of each subgroup, differentiating just created groups from those that are much more advanced (with stable releases available, for example). Agree Eric that dedicated sandbox WG is not convenient, neither the usage of "sandbox" name. That system will allow a subgroup to be slowly starting, until scope is clear, user stories... and then evolve to a issue/PR based discussion where surely more companies will participate. But a dedicated subgroup per API (or family, as currently) still need to apply, avoiding re-working when migrating from one status to other. But, in any case, the issue remains. Which rules are to be set for a group to start? Physical limitation is 2 companies, for the PRs to be approved. Do we all agree to maintain that as a base for a subgroup to be created, and to try to specify a labelling system to separate the phases of the groups?
|
Are 2 companies (one company propose PRs so the other one may approve them) actually required for minimum GitHub Workflow or is the minimum GitHub Workflow something defined within CAMARA (looking for a reference)? |
@lbertz02 Technically: We are protecting the main branch so that at minimum one Codeowner review is needed to be able to merge a PR (and no direct commits allowed into main). If one of the Codeowners is opening a PR there must be at least a second one to approve. But that's only the technically minimum. The process for "Changes and contributions to CAMARA" is described within ProjectStructureAndRoles.md and has more requirements. |
@hdamker Thank you. There in Step 4 of "Changes and contributions to CAMARA" is the statement that it is ideal for multiple companies to be involved - not required. I agree that it is ideal but it is important to note that it is not currently required unless I missed other text. |
@lbertz02 There is an indirect requirement, as we currently require to have Maintainers from at least two companies before we create a Sub Project. They shall be invited to the review (but yes, they don't need to make a review/approval - silence is agreement). |
Problem Statement
Currently we have within CAMARA only two states defined for the development of APIs:
With that there is a need to have a relativ high barrier for the approval of a new API Sub Projects to limit the number of API Sub Project which need to be managed and supervised. That has to happen at a point of time when relativ few details about an API proposal are known. There is e.g. the proposal to require three supporting companies for a new proposal - due to the early state of a proposal it is difficult to get such commitments.
Solution Proposal
Introduce two different lifecycle states for an API Sub Project:
Principles:
Criteria for a Sandbox Project to get "incubated" (draft):
Expected Actions
The TSC should kindly discuss the proposal as an alternative to #122. If adapted:
The text was updated successfully, but these errors were encountered: