sandbox icon indicating copy to clipboard operation
sandbox copied to clipboard

[Sandbox] OpenEBS - Promotion from Archive -> Sandbox

Open edrob999 opened this issue 1 year ago • 10 comments

Application contact emails

[email protected], [email protected]

Also see OpenEBS project leadership Maintainers team

Project Summary

Cloud native storage

Project Description

OpenEBS was accepted as a Sandbox project in 2019, then moved to archive in Feb 2024. For background on why, see OpenEBS - why we were archived. The project team and sponsoring company have made changes in order to ensure the long term sustainability of OpenEBS. We are asking to unarchive the project, and are challenging ourselves to move forward in the CNCF maturity process.

OpenEBS provides enterprise grade block storage for Kubernetes, enabling persistent resilient cloud native storage (storage is managed-from and contained-within a Kubernetes cluster). OpenEBS is popular, with >25,000 new clusters installed every month. This is a re-application to Sandbox. Project was archived Feb 2024 after TOC vote on 1051. 😢 The team has listened to TOC feedback, has made changes 😄 , and is now seeking readmission to Sandbox. Changes include:

  • Archived older storage engines and consolidated engines from 11 to 4 (75 repos to 38), these are the actively maintained repos that will be further developed in the future.
  • Reworked documentation
  • Reworked all governance docs, and centralized to umbrella Community repo
  • Rewrote project docs including Vision.md, Governance.md, Contributing.md
  • Instituted processes inside the project, so people abide by the project docs
  • Engaged with Linux Foundation brand counsel (DanielC) to bring DataCore’s commercial offering into compliance
  • Project members attended KubeCon Paris, in order to engage with the community on how best to proceed reapplying for sandbox in the most efficient manager possible - we’ve been working with the CNCF Projects team to help us meet the requirements. (ChrisA and JorgeC)
  • Educated parent company DataCore’s staff on open source and CNCF policies and procedures
  • Assigned a CNCF liaison (Ed Robinson), who reports to DataCore CEO to represent the project and take guidance from the TOC We hope to gain admission to Sandbox soon, then work with CNCF towards incubation, then graduation.

Org repo URL (provide if all repos under the org are in scope of the application)

https://github.com/openebs

Project repo URL in scope of application

https://github.com/openebs/mayastor

Additional repos in scope of the application

The new OpenEBS project consists of 5 Storage Engines. The strategy is to eventually unify all 5 into 1 platform. There are sub repos & dependencies, 1 sub project & 1 critical external fork dependency. We took advice from TOC, and advised community, then deprecated, then moved tech-debt of 44 legacy repos to openebs-archive org based on guidance from @caniszczyk and @castrojo. - Our new repo structure is listed below, with engines listed in order of User Adoption:

Name Project Repos
Community https://github.com/openebs/community/
Local PV Hostpath https://github.com/openebs/dynamic-localpv-provisioner
Local PV ZFS https://github.com/openebs/zfs-localpv
Local PV LVM https://github.com/openebs/lvm-localpv
Replicated PV Mayastor https://github.com/openebs/mayastor
https://github.com/openebs/mayastor-control-plane
https://github.com/openebs/mayastor-extensions
https://github.com/openebs/spdk
SPDK fork w/OpenEBS patches https://github.com/openebs/spdk-rs
Local PV Raw Device https://github.com/openebs/rawfile-localpv

Website URL

https://openebs.io

Roadmap

https://github.com/openebs/openebs/blob/main/ROADMAP.md

Roadmap context

The new project roadmap & strategy is to Unify 5 Storage Engines into 1 single Storage platform, covering Local PV, Replicated PV, 3 Backend Storage Mgmt stacks and 7 Tier-1 Cloud Providers. This is a major project change compared to the old roadmap, which did not provide any attention, love or focus on the 4 Local PV engines. This lack of focus on our behalf created a stale & disappointed community with low contribs. - We acknowledge that this was wrong and our new Roadmap + VISION doc now defines a specific commitment to the very large Local PV community (1.7Million users).

In support of the new Roadmap, we defined a VISION doc as part of our new GOVERNANCE structure that supports the roadmap and helps guide us, our devs contribs and the community

Contributing Guide

https://github.com/openebs/community/blob/develop/CONTRIBUTING.md

Code of Conduct (CoC)

https://github.com/openebs/community/blob/develop/CODE_OF_CONDUCT.md

Adopters

https://github.com/openebs/community/blob/develop/ADOPTERS.md

Contributing or Sponsoring Org

https://www.datacore.com/

Maintainers file

https://github.com/openebs/community/blob/develop/MAINTAINERS

IP Policy

  • [X] If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • [X] If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

Why CNCF?

OpenEBS was accepted as a Sandbox project in 2019, then moved to archive in Feb 2024.

We have re-examined why we want to continue to contribute to CNCF. Here is why:

  • We believe cloud native computing is a generational change in how people build, deploy and use software
  • No one should own the future’s platform, it needs to be open source for the world to fully embrace it, and to nurture innovation
  • We see CNCF as an organization able to protect, guide and nurture the Kubernetes open source platform
  • The part we can contribute is block storage. This is “rocket science”, and one of the last last areas of technology to be open sourced, because it takes a large team, months of innovation + years of testing.
  • OpenEBS adds >25,000 clusters to our install base every month, it meets an important requirement for Kubernetes users who choose to manage storage from within their cluster
  • Our project team is proud of our progress, and being able to work with cloud-native adopters, together we are inventing and protecting the future.

Benefit to the Landscape

“No one thinks about their storage until it stops working”

  • Since the OpenEBS project started, we have innovated in a number of areas: we were the first to truly develop container native storage, the first to bring replicated storage with NVMe driver to Kubernetes
  • OpenEBS meets an important requirement for the many many Kubernetes users who choose to manage storage from within their cluster

The four overarching benefits to the landscape are:

  • OpenEBS strengthens the K8s landscape with Enterprise Grade Data Management capabilities
  • We provide the ability to manage and provision storage from within a Kubernetes cluster, with no reliance on external services
  • Data resilience and data protection
  • Simplicity - our goal is to continually make the product simpler, with sensible defaults and “it just works”

Cloud Native 'Fit'

OpenEBS is cloud native storage. Designed from the ground for Kubernetes. Every one of our maintainers, contributors and users are Kubernetes users.

Every K8s user should have the choice to use internal or external storage. Without a cloud native, enterprise storage solution like OpenEBS, people don’t have the choice, and have to rely on external non-cloud-native storage.

Cloud Native 'Integration'

Kubernetes Containerd KubeVirt Kubernetes Etcd NATS HELM gRPC Jaegar OpenTelemetry Prometheus Open Telemetry

Cloud Native Overlap

Longhorn (storage) CubeFS (storage) Rook/Ceph (storage)

Similar projects

Longhorn (storage) CubeFS (storage) Rook/Ceph (storage)

Landscape

Cloud Native Storage

Business Product or Service to Project separation

DataCore has a commercial offering complementing OpenEBS. After consultation with Linux Foundation (DanielC brand counsel), the commercial offering will NOT use the name OpenEBS PRO. The name is being decided, it will comply with LF trademark usage guidelines.

OpenEBS and DataCore’s commercial offering have clearly defined separate scopes (see VISION.md in community docs).

  • OpenEBS provides a core set of storage drivers, resilience, availability and fault tolerance
  • DataCore commercial offering is targeting enterprises, with 24x7 production support, enterprise integrations, platform optimizations (eg: DataCore is providing an optimized product for hosted Kubernetes platforms)

For organization:

  • DataCore’s development uses a different development environment
  • DataCore employees are assigned to work in either the open source project or commercial offering
  • Open source assignment or commercial assignment is clearly delineated and not mixed together

Project presentations

Prior to project-archiving, OpenEBS has participated with TAG Storage (the presentations may have been archived). There have been no presentations post-project-archiving.

Project champions

Jorge Castro Chris Aniszczyk Emily Fox Nick Connolly Alex Chircop

Additional information

OpenEBS was accepted to Sandbox five years ago. Since then the project has become the most widely adopted Kubernetes storage solution.

We have accepted and adopted changes recommended by the TOC in February 2024.

OpenEBS is an important project. People rely on OpenEBS as a foundation for their Kubernetes infrastructure: We have a lot of production installations, including Microsoft who use OpenEBS in Azure Container services; CIVO who use OpenEBS as the basis for their hosted storage; Flipboard, India’s largest eCommerce service who rely on OpenEBS for their storage.

While OpenEBS is in Archive, our users are uncertain of the project’s future, and the future of their own software that depends on OpenEBS.

We request TOC considers a promotion to Sandbox as soon as possible, and we will work with CNCF to develop and execute a plan to move the project to incubation status immediately afterwards.

edrob999 avatar Jun 14 '24 00:06 edrob999

adding prefix [Sandbox]

edrob999 avatar Jun 17 '24 22:06 edrob999

Update: Project team presented to Tag Storage today (7/24). Link to Presentation

edrob999 avatar Jul 24 '24 22:07 edrob999

Update2: Since beginning of June, OpenEBS has held weekly maintainer meetings, and minute the meetings, for transparency. Minutes of the weekly meetings are here

edrob999 avatar Aug 02 '24 16:08 edrob999

@edrob999 Are the meetings recorded? Please link the recording location.

angellk avatar Aug 02 '24 17:08 angellk

Sorry @angellk - b/c project is in archive, most CNCF project resources were turned off. See Reference. We've got some access, but not Zoom or ability to publish community mtgs on CNCF calendar yet. For now, we're using free Google Meet, no recording capability, we're announcing the community mtgs on Slack. Looking forward to getting full access to the project resources again!

edrob999 avatar Aug 02 '24 18:08 edrob999

Hi @edrob999 - many open source projects are not part of an official foundation and do record and upload to various channels for community engagement, including google drive or video channels. The free version of Zoom allows local recording to upload anywhere (including YouTube).

As your project is applying to be promoted from archive, I was interested to see how community meetings are held, how features are discussed, as well as open discussion around the roadmap. Please update if you are able to record community sessions.

angellk avatar Aug 02 '24 20:08 angellk

Hi @angellk. If this is "critical" for our sandbox application, let me know - we'll cancel the existing community mtgs and set them up using free Zoom, although recording is limited to 40 mins. I would prefer we set the vid recording up after we've been accepted to Sandbox and have access to the CNCF Zoom. But let me know - we are happy to take guidance, and are making a genuine effort for transparency. Ed

edrob999 avatar Aug 02 '24 20:08 edrob999

Thank you @edrob999 - having a way for community members to engage with your community meetings would be great - and being able to view the recordings is one way to do that.

Please connect with TAG Contributor Strategy - if you have not already done so - for guidance on building your community.

Also, please update your README and Community Pages for accuracy and to communicate access to your community meetings. I cannot locate a resource that shows how to join your community meetings live.

angellk avatar Aug 03 '24 00:08 angellk

@angellk - good points, I'll make the change to ReadMe as you suggest. I need to push back on switching to recorded Zoom for our community meeting this week (DM me if you want to talk thru it), we do understand the importance of the recordings.

Following @TheFoxAtWork suggestion, I joined Tag Contributor Strategy(governance) working group about 3 weeks ago, both to help OpenEBS, and to contribute. We did a verbal review with @riaankleinhans, @jberkus, @geekygirldawn. Like all projects we have stuff to work on.

Within the project leadership, I have the most interest in governance/contributor strategy. After reviewing with Tag, my four priorities are:

  1. Contributor Ladder / path-to-maintainer. I wrote it. I thought it was clear. I was wrong. I have a PR in-review to improve clarity. We then need to put the policy into practice, and sustain this effort.
  2. Ensuring transparency and easy-to-find resources (we have too much documentation, and it needs to be organized better for people to find).
  3. Growing contributor base + external maintainers. In the last year, we had contributions from 21 sponsor, and 44 non-sponsor people. We will apply energy to grow non-sponsor contributors + maintainers.
  4. Cementing processes with project sponsor (DataCore) to ensure independent governance, and both sponsor + project have well understood boundaries

All of these require work, and I wish progress was faster. Most important for me is to ensure improvements "stick", beyond the tenure of myself + other individuals. I believe our current project governance already compares well against Sandbox projects. But we have more work to do, and I appreciate ongoing guidance and best practices as the project moves forward.

Ed

edrob999 avatar Aug 05 '24 00:08 edrob999

@angellk: We revised the org Readme, so community meetings are easier to find (including the next meeting): https://github.com/openebs/#monthly-community-meeting

The vid from last week's meeting is here: https://www.youtube.com/watch?v=CjjqzrPGxVU

The links to the vids, plus minutes from weekly maintainers meetings are all in the openEBS Community repo discussions: https://github.com/openebs/community/discussions

edrob999 avatar Sep 04 '24 23:09 edrob999

Reviewing the document, fixed some typos. May fix some more

edrob999 avatar Sep 27 '24 16:09 edrob999

The maintainers asked for some language changes made to the submission tracked in this GitHub issue. The change includes removing names of supporters we didn't ask permission from (an honest mistake)

edrob999 avatar Sep 29 '24 22:09 edrob999

Best of luck with the Sandbox Application, we all see the work you're putting in, and Civo relies on OpenEBS for Civo Platform, used by hundreds of companies

DMajrekar avatar Oct 02 '24 18:10 DMajrekar

FYI: OpenEBS has been working with TAG-CS on their governance.

jberkus avatar Oct 03 '24 17:10 jberkus

In February when CNCF archived OpenEBS, we committed to making changes, and re-applying.

This Sandbox application is the first step: we addressed the technical issues and re-worked project governance (including maintainer lifecycle). We put in place transparency: the project is now publishing minutes of regular maintainer meetings, videos of community meetings.

If the Sandbox application is approved, the second step comes next: DataCore commits to ensuring OpenEBS becomes a true community project, with a growing contributor base, and a diverse group of maintainers leading the project. We will work with CNCF to make this happen as the project moves towards incubation then graduation.

Dave Zabrowski CEO, DataCore Software

Zman2356 avatar Oct 06 '24 08:10 Zman2356

Microsoft supports the OpenEBS application to Sandbox. Azure Container Storage is based in part on several OpenEBS components. We are talking with the maintainers about how Microsoft can contribute back to the project.

croomes avatar Oct 07 '24 12:10 croomes

The TAG Storage review is here: https://docs.google.com/document/d/1Biq0gWG8o2npNfjvUiM4WIeFuM9o3I1ZQMDBXz28YAY/edit

TAG recommendation to TOC: Storage TAG recommends YES for sandbox.

chira001 avatar Oct 08 '24 14:10 chira001

Project has been given the okay to move to a vote in today's sandbox review /vote

mrbobbytables avatar Oct 08 '24 17:10 mrbobbytables

Vote created

@mrbobbytables has called for a vote on [Sandbox] OpenEBS - Promotion from Archive -> Sandbox (#104).

The members of the following teams have binding votes:

Team
@cncf/cncf-toc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
👍 👎 👀

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 2months 30days 2h 52m 48s. It will pass if at least 66% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.

git-vote[bot] avatar Oct 08 '24 17:10 git-vote[bot]

As part of my vote in favor of this project I would like to call attention to an important consideration for the project's future success in CNCF:

Ed has been instrumental in bringing the OpenEBS project into alignment with CNCF expectations of sandbox projects. He has engaged CNCF staff and several community members on direction and next steps for the project towards potential incubation-level maturity. The project's current efforts have been largely shouldered by Ed and a few others.

However as with all concerns regarding projects survivability of the lottery factor, it will be paramount to OpenEBS's continued progress that additional community members of OpenEBS step into active leadership roles for the project to more healthfully distribute those efforts beyond a single individual.

TheFoxAtWork avatar Oct 08 '24 17:10 TheFoxAtWork

/check-vote

avishnu avatar Oct 09 '24 05:10 avishnu

Vote status

So far 36.36% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
4 0 0 7

Binding votes (4)

User Vote Timestamp
dims In favor 2024-10-08 18:07:10.0 +00:00:00
rochaporto In favor 2024-10-09 1:03:31.0 +00:00:00
TheFoxAtWork In favor 2024-10-08 17:26:31.0 +00:00:00
angellk In favor 2024-10-08 17:21:21.0 +00:00:00
@mauilion Pending
@linsun Pending
@dzolotusky Pending
@kevin-wangzefeng Pending
@cathyhongzhang Pending
@nikhita Pending
@kgamanji Pending

Non-binding votes (5)

User Vote Timestamp
tamalsaha In favor 2024-10-08 18:01:02.0 +00:00:00
chira001 In favor 2024-10-08 18:21:32.0 +00:00:00
avishnu In favor 2024-10-08 19:12:31.0 +00:00:00
tiagolobocastro In favor 2024-10-08 19:17:33.0 +00:00:00
orville-wright In favor 2024-10-08 23:50:51.0 +00:00:00

git-vote[bot] avatar Oct 09 '24 05:10 git-vote[bot]

/check-vote

avishnu avatar Oct 10 '24 02:10 avishnu

Votes can only be checked once a day.

git-vote[bot] avatar Oct 10 '24 02:10 git-vote[bot]

/check-vote

avishnu avatar Oct 10 '24 06:10 avishnu

Vote status

So far 72.73% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
8 0 0 3

Binding votes (8)

User Vote Timestamp
rochaporto In favor 2024-10-09 1:03:31.0 +00:00:00
kgamanji In favor 2024-10-09 12:51:37.0 +00:00:00
linsun In favor 2024-10-09 15:13:06.0 +00:00:00
angellk In favor 2024-10-08 17:21:21.0 +00:00:00
dims In favor 2024-10-08 18:07:10.0 +00:00:00
nikhita In favor 2024-10-09 6:06:39.0 +00:00:00
cathyhongzhang In favor 2024-10-09 20:45:27.0 +00:00:00
TheFoxAtWork In favor 2024-10-08 17:26:31.0 +00:00:00
@mauilion Pending
@dzolotusky Pending
@kevin-wangzefeng Pending

Non-binding votes (9)

User Vote Timestamp
tamalsaha In favor 2024-10-08 18:01:02.0 +00:00:00
chira001 In favor 2024-10-08 18:21:32.0 +00:00:00
avishnu In favor 2024-10-08 19:12:31.0 +00:00:00
tiagolobocastro In favor 2024-10-08 19:17:33.0 +00:00:00
orville-wright In favor 2024-10-08 23:50:51.0 +00:00:00
dsharma-dc In favor 2024-10-09 5:41:21.0 +00:00:00
croomes In favor 2024-10-09 18:30:34.0 +00:00:00
edreed In favor 2024-10-09 18:55:18.0 +00:00:00
Johnaius In favor 2024-10-09 19:07:36.0 +00:00:00

git-vote[bot] avatar Oct 10 '24 06:10 git-vote[bot]

Vote closed

The vote passed! 🎉

81.82% of the users with binding vote were in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
9 0 0 2

Binding votes (9)

User Vote Timestamp
@linsun In favor 2024-10-09 15:13:06.0 +00:00:00
@angellk In favor 2024-10-08 17:21:21.0 +00:00:00
@dims In favor 2024-10-08 18:07:10.0 +00:00:00
@TheFoxAtWork In favor 2024-10-08 17:26:31.0 +00:00:00
@cathyhongzhang In favor 2024-10-09 20:45:27.0 +00:00:00
@kevin-wangzefeng In favor 2024-10-10 6:54:18.0 +00:00:00
@nikhita In favor 2024-10-09 6:06:39.0 +00:00:00
@kgamanji In favor 2024-10-09 12:51:37.0 +00:00:00
@rochaporto In favor 2024-10-09 1:03:31.0 +00:00:00

Non-binding votes (9)

User Vote Timestamp
@tamalsaha In favor 2024-10-08 18:01:02.0 +00:00:00
@chira001 In favor 2024-10-08 18:21:32.0 +00:00:00
@avishnu In favor 2024-10-08 19:12:31.0 +00:00:00
@tiagolobocastro In favor 2024-10-08 19:17:33.0 +00:00:00
@orville-wright In favor 2024-10-08 23:50:51.0 +00:00:00
@dsharma-dc In favor 2024-10-09 5:41:21.0 +00:00:00
@croomes In favor 2024-10-09 18:30:34.0 +00:00:00
@edreed In favor 2024-10-09 18:55:18.0 +00:00:00
@Johnaius In favor 2024-10-09 19:07:36.0 +00:00:00

git-vote[bot] avatar Oct 10 '24 13:10 git-vote[bot]

Great!

I had a question: What do we do next? Is there something the OpenEBS maintainers could do to help? Sorry if there's some doc I missed. Thanks :). Tagging @chira001.

niladrih avatar Oct 16 '24 14:10 niladrih

Great!

I had a question: What do we do next? Is there something the OpenEBS maintainers could do to help? Sorry if there's some doc I missed. Thanks :). Tagging @chira001.

Hi @niladrih - an onboarding issue will be opened by the CNCF onboarding team. Cc: @krook

angellk avatar Oct 16 '24 18:10 angellk

Congrats on being accepted back into Sandbox from Archived! Here is your onboarding checklist: https://github.com/cncf/sandbox/issues/299

If you have any questions, please don't hesitate to reach out!

Cmierly avatar Oct 17 '24 18:10 Cmierly