Skip to content
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 API Repositories lifecycle with Sandbox / Incubated / Graduated / Archived #159

Open
hdamker opened this issue Aug 22, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@hdamker
Copy link
Collaborator

hdamker commented Aug 22, 2024

Problem description

This issue is replacing the previous issue #129. It utilises the decoupling of API Repositories and CAMARA Sub Projects which was introduced with #142.

The maturity levels Sandbox / Incubated / Graduated / Archived are in this proposal applied to API Repositories.

  • A Sandbox API Repository is meant for the rapid development of a new API proposal through one or multiple initial API versions (0.x.y) until the first public release of an Initial API Version within and under the guidelines of CAMARA. A Sandbox API Repository can be created independent of a CAMARA Sub Project or in context of an existing CAMARA Sub Project.
  • An Incubated API Repository is meant for the further evolution of an API which has been implemented and launched already by at least one operator, fits into the CAMARA API portfolio and gained sufficient support within the CAMARA community. An Incubated API Repository is overseen by a CAMARA Sub Project. 
  • A Graduated API Repository maintains a stable CAMARA API which has been widely adopted within the market (e.g. adopted within at least one complete market or #n operators across #m markets - detailed criteria to be defined later). It is overseen by a CAMARA Sub Project and with  mature processes to replace Maintainers and Codeowners within the API Repository.

With this proposal the decision about the creation of a new CAMARA Sub Project (if no existing Sub Project is fitting) is postponed to the Incubation process where much more information about the API, it's use case and user stories and the API specification and especially it's support by the community is available.

The full proposal including the definition of the lifecycle and the proposed criteria for the maturity levels is available within the Wiki and can be commented also there: https://wiki.camaraproject.org/pages/viewpage.action?pageId=38109400

Possible evolution

  • Present and discuss in the TSC (August 22nd)
  • Offline discussion and commenting here and in wiki (until September 5th)
  • In parallel Preparation of PRs with
    • changes to the ProjectStructureAndRoles
    • replacement of the current API-onboarding.md document with a description of the lifecycle process
  • Decision within the TSC about the approach and the PR to changes to the Governance documents (date?)

Alternative solution

Additional context

Open point: How to differentiate in CAMARA GitHub the different maturity levels to give interested visitors a clear orientation about the important API repositories. Proposals are welcome.

@hdamker
Copy link
Collaborator Author

hdamker commented Aug 22, 2024

@hdamker hdamker self-assigned this Aug 22, 2024
@hdamker
Copy link
Collaborator Author

hdamker commented Sep 24, 2024

Updated the link to the proposal in wiki above.

@FabrizioMoggio
Copy link
Contributor

I think this is good proposal to move forward on APIs that maybe are more innovative and require some more pre-work to be done to capture the attention of the operators or developers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants