From 656c8d4b8acd2605221bd00051dc4ef7df2e4a6f Mon Sep 17 00:00:00 2001 From: Tiago Castro Date: Thu, 12 Dec 2024 18:23:46 +0000 Subject: [PATCH] chore: community updates (#163) Add meeting details to README Update contributing Add ROADMAP link Signed-off-by: Tiago Castro --- CONTRIBUTING.md | 81 ++++++++++++++++++++++++++++--------------------- GOVERNANCE.md | 38 +++++++++++++++++------ README.md | 16 ++++++++-- ROADMAP.md | 3 ++ VISION.md | 23 +++++++++----- 5 files changed, 106 insertions(+), 55 deletions(-) create mode 100644 ROADMAP.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fb0e688..9efb669 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,9 +1,11 @@ # OpenEBS Umbrella Contributing Guidelines +> > [!Important] > OpenEBS is an "umbrella" project, composed as a federation of individual sub projects (repositories). The umbrella project, every sub project, repository/repo and file in the OpenEBS organization adopts and follows the same set of umbrella policies in the OpenEBS Community repo. This is the Umbrella Contributing Guidelines.
There are many exciting ways you can contribute to OpenEBS ❤️
+ - We are a large GitHub project that consists of many active members operating globally, across all time zones, 24 x 7 x 365. - There are many different methods, processes, forums, and project tools to use when contributing. - This means that contributing can be a little scary at times (like many large CNCF Open source GitHub hosted projects).
@@ -11,10 +13,8 @@ There are many exciting ways you can contribute to OpenEBS ❤️
This document will help guide [your workflow](#a-good-contributor-workflow) and experience to provide you with the best and most efficient interaction possible. -
- ## Ask a question :question: | [](https://kubernetes.slack.com/messages/openebs) | **Try our Slack channel First**
If you have questions about using OpenEBS, please use the CNCF Kubernetes **OpenEBS slack channel**, it is open for [anyone to ask a question](https://kubernetes.slack.com/messages/openebs/)
| @@ -22,14 +22,16 @@ This document will help guide [your workflow](#a-good-contributor-workflow) and
+## Issues :bangbang: -# Issues :bangbang: ```Issues``` are a standard way of working and contributing to GitHub projects. GitHub Issues are the **2nd most** common way [after Slack](https://kubernetes.slack.com/messages/openebs) that users interact and contribute to the project. Working with Issues requires you to make a few simple decisions. + - Is my issue more of a discussion topic? - Does my Issue relate to a Product? - Is it an issue that spans Horizontally across all products? - Is my issue related to technology, bugs, product, code? - Is my issue more relevant to roadmap, strategy, docs (not technology, bugs, product, code)? + ```ruby After this, you're ready to create an Issue and know where to create it. ``` @@ -38,6 +40,7 @@ After this, you're ready to create an Issue and know where to create it. > [!NOTE] > Issues come in 3 basic flavors +> > 1. ```Organizational``` issues that aren't specifically related to individual products, technology, or code > - For this type of issue, [create your issue here](https://github.com/openebs/openebs/issues) > - You might also consider creating a discussion in the [parent org discussions area](https://github.com/orgs/openebs/discussions) @@ -50,21 +53,21 @@ After this, you're ready to create an Issue and know where to create it. ### Reporting a product issue - If you have a problem using OpenEBS, first check the [troubleshooting guide](https://openebs.io/docs/troubleshooting), you can also ask a question in the CNCF Kubernetes **OpenEBS slack channel**. > [!NOTE] +> > - Our support and engineering teams ```primarily``` focus their support on the **OpenEBS STANDARD** (OSS) [parent project](https://github.com/openebs).
> - Questions & issues relating to the [Legacy Archived, Deprecated & Migrated OpenEBS projects](https://github.com/openebs-archive), repos, code & dependencies are **not the focus** of the parent OSS project; and may be provided on a ```best effort``` basis by the team.
> - The OpenEBS slack community provides most of the support for the **Legacy** ```Archived```, ```Deprecated``` & ```Migrated``` OpenEBS projects. > - please **```Do Not```** post [```Deprecated & Archived project```](https://github.com/openebs-archive) Discussions, Issues or PR's into the **OpenEBS STANDARD** (OSS) parent project. - > If you have an issue not solved by the troubleshooting guide or by asking a question in Slack, first check the GitHub issue list to see if the issue is already recorded, then add a new Issue in the correct repo issue management section.
### Multiple products + Our project spans multiple product components. We ```don't``` use a single centralized GitHub issue tracker for all product issues. We like to group product issues tightly into their specific product Issue trackers. (Please try to do this). Currently OpenEBS Unifies 5 main Storage engines... | ID | Data-Engines | Where to create your issues | @@ -77,23 +80,28 @@ Our project spans multiple product components. We ```don't``` use a single centr | 3. | [LocalPV-ZFS](https://github.com/openebs/zfs-localpv) | [Create your Issues here](https://github.com/openebs/zfs-localpv/issues) | | 4. | [LocalPV-LVM](https://github.com/openebs/lvm-localpv) | [Create your Issues here](https://github.com/openebs/lvm-localpv/issues) | | 5. | [LocalPV-Rawfile](https://github.com/openebs/rawfile-localpv) | [Create your Issues here](https://github.com/openebs/rawfile-localpv/issues) | +

-### When creating a new issue, please use this simple template: -* Summary of the issue -* Expected result and the observed result -* Errors and log messages -* Setup details, and steps for reproducing the issue, so a reviewer can easily replicate the issue, and confirm the fix +### When creating a new issue, please use this simple template + +- Summary of the issue + +- Expected result and the observed result +- Errors and log messages +- Setup details, and steps for reproducing the issue, so a reviewer can easily replicate the issue, and confirm the fix --- ## Report a documentation issue + We use the same GitHub issue tracker for documentation issues, with a label for documentation:
:arrow_forward: [OpenEBS Documentation Issues](https://github.com/openebs/openebs/labels/documentation%2Fdevel)
+ - Issues are triaged and prioritized in the regular community meeting
@@ -111,6 +119,7 @@ We use the same GitHub issue tracker for documentation issues, with a label for ## Contribute to Source Code and Bug Fixes We encourage users to engage in and contribute code. Doing this can be complex and requires following the GitHub methodology that we subscribe to as a member of CNCF. In a nutshell, the GitHub methodology is:
+ - Discussion/Proposal :fast_forward: Create Issue :fast_forward: PR draft + code :fast_forward: PR Review(s) + code changes :arrows_counterclockwise: PR approve :fast_forward: DCO Sign-off :twisted_rightwards_arrows: Merge

@@ -125,6 +134,7 @@ We encourage users to engage in and contribute code. Doing this can be complex a
## Solve Existing Issues + Head over to [Parent org issues](https://github.com/openebs/openebs/issues) to find issues where help is needed from contributors, or check the issues section of the [product component](./CONTRIBUTING.md#multiple-products) that you are interested in. See our [list of labels guide](https://github.com/openebs/openebs/blob/main/contribute/labels-of-issues.md) to help you find issues that you can solve faster. @@ -135,6 +145,7 @@ A person looking to contribute can take up an issue by claiming it as a comment/
## Sponsor a new feature or enhancement + New enhancements are referred to as OpenEBS Enhancement Proposals (OEPs). Anyone can sponsor a new OEP. Here is the process: @@ -147,8 +158,8 @@ Anyone can sponsor a new OEP. Here is the process: --- - ### Sign your work +
> [!Important] @@ -159,11 +170,11 @@ Anyone can sponsor a new OEP. Here is the process: > - Please read [developer-certificate-of-origin](https://github.com/openebs/openebs/blob/main/contribute/developer-certificate-of-origin) ```release statement``` to understand what you are **```consenting```** to and **```agreeing```** to adhere to when you create a commit and a PR.
> - ALL PR's will automatically have their status set to **```FAILED```** if any commits in a Pull Request do not contain a valid ```Signed-off-by``` line. - You must certify that your commits and PR's are your own work and authorized by you by adding a line to every git commit message. Any PR with Commits that Do Not have DCO Signoff will not be accepted:

### Examples of how to DCO Sign-off your work...
+
> Example of manual DCO signoff commit signature message:
@@ -171,22 +182,25 @@ You must certify that your commits and PR's are your own work and authorized by > > Example of automated git cli command:
> ```git commit -s -m "Sign off details and message. Does not include DCO signature line"``` +> > ```ruby > NOTE: the cli -s flag will auto add your DCO sign-off signature as a extra line in your commit message > if you have setup you git Global config correctly. > ``` +> > :information_source: **```INFO```:**
> :no_entry_sign: When using the GitHub Web App, you cannot auto DCO sign-off your commits. Your DCO signature line must be manually added each time, in each commit message. This is by design and enforced by the GitHub WebApp.
> :white_check_mark: When using GitHub Desktop App, you can generate automatic DCO sign-off commits if your underlying git cli config is setup correctly.

The generally accepted GitHub DCO policy requires that all committing users must provide their ```real name``` in their DCO signature message (sorry, no pseudonyms or anonymous contributions).
+ - If you set your ```user.name``` and ```user.email``` git configs, you can DCO sign-off your commits automatically with ```git commit -s```.
- You can also use git [aliases](https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases) like: ``` git config --global alias.ci 'commit -s' ```. Now you can commit with git ci and the commit will be signed.

--- -We use the GitHub Integration Merge BOT App called ``` BORS-NG ``` as a CI Pipeline automation workflow front tool.
+Some of the repos use the GitHub Integration Merge BOT App called ``` BORS-NG ``` as a CI Pipeline automation workflow front tool.
Some of the BORS commands are as follows: | Syntax | Description @@ -207,16 +221,12 @@ Some of the BORS commands are as follows: | bors r+ p=[priority] | Set the priority, run the test suite, and push to master (shorthand for doing p= and r+ one after the other). | bors merge p=[priority] | Equivalent to `bors r+ p=[priority]` ---- +\ +We are evaluating bringing BORS to all repos or alternatively switch to the new [GitHub Merge queues](https://github.blog/news-insights/product-news/github-merge-queue-is-generally-available/). -## Regular Community Meeting +--- -OpenEBS hosts a bi-weekly (fortnightly) community meeting on Tuesday 7:00 am Americas/Los Angeles time, using the [CNCF's community event platform](https://community.cncf.io/openebs-community/). Please register for the event, prior to the meeting. You'd have to register for the meeting before the actual meeting time. -
-:arrow_forward: [Add agenda items for the next meeting](https://hackmd.io/tRmnyg9AQPShxFAXOyFpSA?edit) -
-:arrow_forward: [Review minutes from previous meetings](https://hackmd.io/tRmnyg9AQPShxFAXOyFpSA?edit) -
+## [Monthly Community Meetings](./README.md#monthly-community-meetings) ## Other ways to keep in touch @@ -224,26 +234,26 @@ OpenEBS hosts a bi-weekly (fortnightly) community meeting on Tuesday 7:00 am Ame You can email the maintainers at any time:
-:arrow_forward: [Email OpenEBS maintainers](mailto:cncf-openebs-maintainers@lists.cncf.io) - -### Mailing List - -OpenEBS announces new features and enhancements to a CNCF email group +:arrow_forward: [CNCF Mailing List](mailto:cncf-openebs-maintainers@lists.cncf.io)
-:arrow_forward: [CNCF OpenEBS announcements](https://lists.cncf.io/g/cncf-openebs-announcements) +:arrow_forward: [Google Groups](mailto:openebs-team@googlegroups.com) ### Social Media + Social media links
-:arrow_forward: [TwitterX OpenEBS page](https://twitter.com/openebs/) +:arrow_forward: [TwitterX](https://twitter.com/openebs/)
-:arrow_forward: [LinkedIn OpenEBS page](https://www.linkedin.com/company/openebs/) +:arrow_forward: [LinkedIn](https://www.linkedin.com/company/openebs/) +
+:arrow_forward: [Youtube](https://www.youtube.com/@openebscommunity6021)
--- ## A good contributor workflow + ```ruby The following table is a guide to help you decide which channel, method and mechanism to use when contributing. - In most cases, consider starting at the top (post a Slack channel question) @@ -253,9 +263,10 @@ The following table is a guide to help you decide which channel, method and mech | Priority | Type | Description | | :---: | :--- | :--- | -| 1. | Global Slack | CNCF provides the **OpenEBS project** with a [```global Slack support Channel```](https://kubernetes.slack.com/messages/openebs/). All users and community members are welcome to engage all project members via the Slack channel. | -| 2. | [Org Discussions](https://github.com/orgs/openebs/discussions) | Our GitHub Discussions are enabled at the **Parent OpenEBS** ```Org level``` and aggregate all project/repo discussions into ONE Unified Umbrella scope for the best community discussion experience. Individual projects/repos ```Do Not``` have repos level GitHub discussions enabled. | -| 3. | [Org Issues](https://github.com/openebs/openebs/issues) | Non-Product Issues not related to technology, bugs, or product code are managed in the top-level [```Org repo```](https://github.com/openebs/openebs). You can create/submit ORG level issues as per the normal GitHub methodology & rules. Consider doing this for issues that are ```horizontal``` across [all projects/repos/products](https://github.com/openebs/openebs/issues). | -| 4. | Product Issues | Product Issues are managed for each ```individual repo```. You can create/submit issues as per the normal GitHub methodology & rules. Please choose carefully if you are engaging the team in a [```General Discussion```](https://github.com/orgs/openebs/discussions) or need help with a very specific **Product ```Issue```**. This will help you get the best community experience. Please create your interactions in the **correct** GitHub forum/tool. | -| 5 | Our Projects | We manage some major initiatives via the **GitHub Projects tool**. Users and community members are welcome to contribute, comment and participate in Public projects. Projects are enabled and managed on a ```per-repo basis```. Few sub-projects may have their specific CONTRIBUTING guides, please refer them as well. | -| 6. | Repo PR's | You may engage and contribute via the standard **GitHub PR** ```(Pull Request)``` methodology. PR's are low-level repo/product/component focused engineering process used to manage **```low-level changes to code```**. For the best community experience, ```Do Not``` create PR's for **Discussions**, **Issues** or **support tickets**. (such items may be migrated to the appropriate forum/tool and could become stale and/or be closed without action/comment. | +| 1. | Global Slack | CNCF provides the **OpenEBS project** with a [```global Slack support Channel```](https://kubernetes.slack.com/messages/openebs/).
All users and community members are welcome to engage all project members via the Slack channel. | +| 2. | [Org Discussions](https://github.com/orgs/openebs/discussions) | Our GitHub Discussions are enabled at the **Parent OpenEBS** ```Org level``` and aggregate all project/repo discussions into ONE Unified Umbrella scope for the best community discussion experience.
Individual projects/repos ```Do Not``` have repos level GitHub discussions enabled. | +| 3. | [Org Issues](https://github.com/openebs/openebs/issues) | Non-Product Issues not related to technology, bugs, or product code are managed in the top-level [```Org repo```](https://github.com/openebs/openebs).
You can create/submit ORG level issues as per the normal GitHub methodology & rules. Consider doing this for issues that are ```horizontal``` across [all projects/repos/products](https://github.com/openebs/openebs/issues). | +| 4. | Product Issues | Product Issues are managed for each ```individual repo```.
You can create/submit issues as per the normal GitHub methodology & rules. Please choose carefully if you are engaging the team in a [```General Discussion```](https://github.com/orgs/openebs/discussions) or need help with a very specific **Product ```Issue```**. This will help you get the best community experience. Please create your interactions in the **correct** GitHub forum/tool. | +| 5 | Our Projects | We manage some major initiatives via the **GitHub Projects tool**.
Users and community members are welcome to contribute, comment and participate in Public projects.
Projects are enabled and managed on a ```per-repo basis```. Few sub-projects may have their specific CONTRIBUTING guides, please refer them as well. | +| 6. | Repo PR's | You may engage and contribute via the standard **GitHub PR** ```(Pull Request)``` methodology.
PR's are low-level repo/product/component focused engineering process used to manage **```low-level changes to code```**.
For the best community experience, ```Do Not``` create PR's for **Discussions**, **Issues** or **support tickets**. (such items may be migrated to the appropriate forum/tool and could become stale and/or be closed without action/comment. | +| 7. | OEP's | You may propose features via an OpenEBS Enhancement Proposal (OEP) through a **GitHub PR** ```(Pull Request)``` methodology.
For more information please refer to the [OEP process](https://github.com/openebs/openebs/blob/main/designs/oep-process.md). | diff --git a/GOVERNANCE.md b/GOVERNANCE.md index c536eda..6bc2af6 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -1,15 +1,18 @@ # OpenEBS Umbrella Project Governance +> > [!Important] > OpenEBS is an "umbrella" project, composed as a federation of individual sub projects (repositories). The umbrella project, every sub project, repository/repo and file in the OpenEBS organization adopts and follows the same set of umbrella policies located in the OpenEBS Community repo. This is the Umbrella Project Governance policy.
-## Key references: +## Key references + Please familiarize yourself with our [Project Vision](./VISION.md) and [Contributing Guidelines](./CONTRIBUTING.md). Together with this Governance document, these provide useful info on what and who we are, and how we operate. ---
The **OpenEBS project** is managed on a daily basis by a senior governance & leadership team, that currently consists of the following OpenEBS ```Maintainers``` and ```Special Maintainers```: +> > | Name | Handle | Flags | Roles | > | :--- | :--- | :--- | :--- | > | [Vishnu Attur](https://www.linkedin.com/in/vishnu-attur-5309a333/ "Bengaluru, Karnataka, India (GMT+5:30) Timezone")| :octocat: **[@avishnu](https://github.com/avishnu "Vishnu Govind Attur")** | ![](/images/flags/de_je/in.png) | ```Maintainer``` | @@ -35,11 +38,13 @@ The OpenEBS project has five roles. All project members operate in one (or more) | 2 | **Special**
**Maintainer**| Have special expertise in a particular domain within the OpenEBS umbrella project. The domain may be a sub-project, repo or other responsibility as defined by the Maintainers. The maintainers grant a special maintainer a set of authorities and responsibilities for the domain. A special maintainer is expected to join maintainer and community meetings when required. A special maintainer has no responsibilities for the umbrella project, or projects outside their domain.| | 3 | **Contributor** | Contribute code, test, document the project. A contributor’s authority applies to one or more sub projects. | | 4 | **Adopter** | Use the OpenEBS product, with or without contributing to the project. An adopter has authority to raise issues, participate in discussions on sub projects within a public forum. | +
These roles are described in more detail below: ### Maintainer + Maintainers are an elected group that share responsibility in the OpenEBS project success. They make a long-term, dedicated commitment to improve and govern the project. Maintainers are expected to be responsive, available, and to make regular and substantial contributions. Maintainers also perform the admin non-code-related Github tasks such as updating permissions, configuring integrations and other administrative tasks.
@@ -48,6 +53,7 @@ Maintainers work for the OpenEBS community. A maintainer is someone the communit
Maintainers have authority over all projects, sub projects and repos within the OpenEBS organization, with responsibility for: + * Project roadmap * Reviewing, approving and denying contributions * Maintaining coding, testing and documentation standards @@ -57,19 +63,26 @@ Maintainers have authority over all projects, sub projects and repos within the * Activities that move the project towards graduation status #### Contributor Ladder: How to become a maintainer + The process for becoming a maintainer: + 1. You need to get involved with the OpenEBS project on GitHub, and demonstrate four qualities: - * Participation. For three months or more. For example: participation in discussions, contributions, code or documentation reviews. - * Collaboration. Demonstrate the ability to work with others, to take on new ideas and help others succeed. - * Availability. Be available on Slack, GitHub, email so you’re helping move the project forward in a timely way. - * Alignment with CNCF code of conduct and guiding principles -2. Email the OpenEBS maintainers (openebs-team@googlegroups.com) and let them know you’re interested in becoming a maintainer + + * Participation. For three months or more. For example: participation in discussions, contributions, code or documentation reviews. + * Collaboration. Demonstrate the ability to work with others, to take on new ideas and help others succeed. + * Availability. Be available on Slack, GitHub, email so you’re helping move the project forward in a timely way. + * Alignment with CNCF code of conduct and guiding principles + +2. Email the OpenEBS maintainers () and let them know you’re interested in becoming a maintainer 3. The maintainers set up time to meet you, and after discussion will agree a process (typically this means a special maintainer assignment for a set period) 4. At the end of the process, the maintainers review your contribution. A maintainer will nominate you for voting-in. #### Remaining a Maintainer + If a maintainer can no longer meet their commitments, they are expected to consult with the other maintainers and either take a sabbatical from maintainership, or resign as a maintainer. It is the responsibility of all maintainers to ensure the maintainer group operates with the same level of commitment. If a maintainer is not meeting their commitments, they may be voted-out by the maintainers. -#### Voting-in and voting-out maintainers: + +#### Voting-in and voting-out maintainers + 1. Maintainers make an announcement in their weekly meeting, and this is minuted 2. During this meeting, a maintainer nominates to add a new maintainer or remove an existing maintainer, 3. The nominator opens a PR in the OpenEBS Community Repo, @@ -80,12 +93,13 @@ If a maintainer can no longer meet their commitments, they are expected to consu Changes to the maintainer list (from voting-in, voting-out or resignations) are recorded in the maintainer meeting weekly minutes, and reflected in the [MAINTAINERS](./MAINTAINERS) document. For maintainers voted-in, permissions are immediately added. For maintainers voted-out permissions are immediately removed. - ### Special Maintainer + A Special Maintainer is appointed by the maintainers to recognize a contributor with expertise and authority in a specific domain. Special Maintainers are appointed to have elevated privilege, authority and specific responsibilities. The special maintainer role is part of the OpenEBS contributor ladder, and is the primary path from contributor to maintainer. Special maintainers are assigned or removed by the maintainers, by vote with 66% approval, and their role and responsibilities are scoped. A person can have one or more Special Maintainer responsibilities OpenEBS has appointed or may appoint special maintainers for following roles: + * CNCF Liaison. To be a primary point of contact between the project and CNCF * Project manager. To keep track of tasks, and make sure maintainers, special maintainers and contributors deliver on time * Sub-project maintainer. To own specific project (typically an engine), and to ensure coding standards, issue resolution, documentation, roadmap is in compliance for the sub-project @@ -99,27 +113,31 @@ Special maintainers are enabled to act independently. They do not have responsib Special Maintainers are listed in the [MAINTAINERS](./MAINTAINERS) document. ### Contributor + OpenEBS is a very welcoming community and is eager to onboard and help anyone from the open source community to contribute to the project. To facilitate onboarding of the community members, OpenEBS contributors participate in Hacktoberfest events and are responsive on the slack, community meetings and github. Any individual with intent to contribute to open source in general or fix a specific issue they are having the OpenEBS project can contribute. If anyone is looking for ideas for contributing, the open issue backlog maintained under the OpenEBS GitHub projects is a great place to start. A maintainer may assign a regular contributor write access to the GitHub project to allow them to directly request other organization members as reviewers for their PRs and to help them being added as reviewers for contributions coming from other contributors or OpenEBS organization members. A maintainer may also revoke the write access to the GitHub project. - ### Adopter + OpenEBS welcomes people who simply want to Adopt the OpenEBS product, and welcomes them as part of our community. Adopters may use the OpenEBS product as they wish, contribute ideas or code, or create a fork of the code. ## Adding and Removing Sub Projects + The maintainers may add or remove sub projects or repositories. The maintainers take a conservative policy towards changing the sub projects: a new sub project must have a long term purpose that is distinct from existing sub projects; removed sub projects must be demonstrated to have outlived their purpose or have become unmaintainable. When a sub project is removed, it is moved as-is to the OpenEBS-archive organization, along-with the related repositories. - ## How are decisions made? + [See CONTRIBUTING guidelines and rules doc](./CONTRIBUTING.md) ## Conflict Resolution + If you have a technical dispute that you feel has reached an impasse with a subset of the community, any contributor may open an issue, specifically calling for a resolution vote of the current maintainers to resolve the dispute. The same voting quorums required (2/3) for removing maintainers will apply to conflict resolution. ## Changes to this document + Changes to governance policy and any supporting documents must be agreed and approved by 66% of the Maintainers either by vote, or by review and approval of a PR on the document. diff --git a/README.md b/README.md index 44395e3..ab30431 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ ### Community Repo Cafe [![OpenEBS Welcome to Community Repo Coffee SHop](/images/coffe-shop-hacker-pixel-art_HERO_banner.png)](https://www.openebs.io/) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fopenebs%2Fcommunity.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fopenebs%2Fcommunity?ref=badge_shield) +[![Slack](https://img.shields.io/badge/chat-slack-ff1493.svg?style=flat-square)](https://kubernetes.slack.com/messages/openebs/)
> [!Important] @@ -33,16 +34,25 @@ and operational matters. We curate the daily operations of the project, product,
## Who we are -We are a community of innovative Data Storage engineers that contribute to this project. We are grateful for the major sponsorship provided by [DataCore](https://datacore.com), who donate a large team of dedicated Dev/QA/Engineers, Product Mgmt, Marketing, Business and Operational leadership as well as significant engineering infrastructure resources and financial funding. Without DataCore, Inc... OpenEBS would not be the successful product that it is today. OpenEBS is the result of hundreds of amazing individuals, contributors and storage engineers who provide brainstorming ideas, feedback, code reviews and high-quality code to the project. Anyone who is passionate about storage and data is welcome here.
+We are a community of innovative Data Storage engineers that contribute to this project. We are grateful for the major sponsorship provided by [DataCore](https://datacore.com), who donate a team of dedicated Dev/QA/Engineers, Product Mgmt, Marketing, Business and Operational leadership as well as significant engineering infrastructure resources and financial funding. Without DataCore, Inc... OpenEBS would not be the successful product that it is today. OpenEBS is the result of hundreds of amazing individuals, contributors and storage engineers who provide brainstorming ideas, feedback, code reviews and high-quality code to the project. Anyone who is passionate about storage and data is welcome here.
+ + +## Monthly Community Meetings + +OpenEBS holds a monthly community meeting via Zoom on the last Thursday of the month, at 14:00 UTC. + +Meeting Link: https://us05web.zoom.us/j/87535654586?pwd=CigbXigJPn38USc6Vuzt7qSVFoO79X.1 +Starting from August 2024, the meetings are recorded and posted on YouTube: https://www.youtube.com/@openebscommunity6021 --- [![OpenEBS Welcome Banner](/images/community_banner_retro_gamer_level-up-2024_transp.png)](https://www.openebs.io/) > [!NOTE] -> CNCF Project status: ARCHIVE
+> CNCF Project status: SANDBOX
> ```⚠️```   In Jan 2024, under the guidance of CNCF TOC, our project moved from Sandbox level to Archive level, enabling us to implement an extensive restructuring initiative. We are actively working to archive legacy sub projects, repositories and dependencies to a CNCF owned GitHub organization called: [OpenEBS-Archive](https://github.com/openebs-archive), plus updating our governance and operating procedures.
-> ```⚠️```   On 13 June 2024, under guidance of CNCF TOC, our project re-Applied for CNCF promotion from ```Archive``` up to ```Sandbox``` level. See our Sandbox promotion [application here](https://github.com/cncf/sandbox/issues/104) +> ```⚠️```   On 13 June 2024, under guidance of CNCF TOC, our project re-Applied for CNCF promotion from ```Archive``` up to ```Sandbox``` level and was accepted back into +```Sandbox``` in Oct 2024. See our Sandbox promotion [application here](https://github.com/cncf/sandbox/issues/104) > * What's changing in the technology stack? The product team is unifying ``` Five ``` major Storage Engines (Mayastor, LocalPV-LVM, LocalPV-ZFS, LocalPV-Hostpath, RawFile) into one core OpenEBS code-base. > * For more information, see [the parent issue]( https://github.com/openebs/openebs/issues/3701) in our main repo for more detail. > diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..29a0206 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,3 @@ +# ROADMAP + +The [OpenEBS ROADMAP](https://github.com/openebs/openebs/blob/HEAD/ROADMAP.md) lives within the main repo. diff --git a/VISION.md b/VISION.md index 0fd5a56..6bdc862 100644 --- a/VISION.md +++ b/VISION.md @@ -7,6 +7,7 @@ OpenEBS (Open-Elastic-Block-Storage) aims to provide fast, resilient, available, enterprise-grade storage; natively inside a Kubernetes cluster as Hyper-Converged storage. OpenEBS Users provision OpenEBS storage services to Kubernetes applications running natively inside a Kubernetes cluster. This document presents the project: + * Vision, Mission Statement and Scope * Values * Restraints @@ -14,6 +15,7 @@ This document presents the project: * Rules and governance ## Vision, Mission Statement and Scope + **Our Vision:** The Kubernetes enterprise storage standard
**Our Mission Statement:** OpenEBS is a *CNCF project* that provides fast, resilient, available, native, enterprise-grade storage to applications running in *Kubernetes clusters*. @@ -26,6 +28,7 @@ This document presents the project: | *Native* | Implemented as ```container native storage```, a Kubernetes natively integrated component, optimized for storage contained inside a Kubernetes cluster (Hyper-converged). | | *Enterprise grade* | A fully featured, community-proven, rigorously tested, trustworthy, Mission Critical product. | | *Kubernetes* | OpenEBS focus is for Kubernetes-on-Linux. | +
> [!IMPORTANT] @@ -33,7 +36,8 @@ This document presents the project:
### Scope -In the past, the OpenEBS project has tried to accomplish too much. Our scope was too broad and not clearly defined enough for our community. We are explicitly naming the following capabilities as ```in-scope`` and ```out-of-scope`` for the project: + +In the past, the OpenEBS project has tried to accomplish too much. Our scope was too broad and not clearly defined enough for our community. We are explicitly naming the following capabilities as ```in-scope`` and```out-of-scope`` for the project: > **In Scope**
@@ -49,7 +53,8 @@ In the past, the OpenEBS project has tried to accomplish too much. Our scope was | 9. | ```Rest API```, ```CLI``` and Extensibility for using, embedding, and extending OpenEBS capabilities | | 10. | Storage Reporting, alerting, monitoring, metrics | | 11. | Read/Write Access Modes for RWO, ROX, RWOP - (*RWX with strict limitations) | -| 12. | Deployable as ```On-premise``, ```SaaS/PaaS in-cloud``, ```Bare Metal```, ```Hypervisor``` infrastructure | +| 12. | Deployable as ```On-premise``,```SaaS/PaaS in-cloud``, ```Bare Metal```, ```Hypervisor``` infrastructure | +
> **Out-of-Scope** @@ -64,7 +69,6 @@ In the past, the OpenEBS project has tried to accomplish too much. Our scope was | 6. | Complex Business Application Logic optimizations that can't be easily supported or publicly discussed via/in a free open-source Slack support channel without compromising the user/businesses) | 7. | K8s cluster-specific, Non-storage related business logic. (logic that applies ``` primarily ``` to the K8s cluster space and not the storage space -
**ALL** Issues, Pull Requests, feature requests (OEPs), contributions, and roadmap requests will be evaluated against these scopes, and the OpenEBS mission statement. @@ -72,46 +76,51 @@ In the past, the OpenEBS project has tried to accomplish too much. Our scope was --- ## Values + The OpenEBS project and its leadership embrace the [values of CNCF](https://github.com/kubernetes/community/blob/master/values.md) ## Restraints + OpenEBS is a self-governing project, and operates within the following restraints: ### CNCF + * OpenEBS is a [CNCF (Cloud Native Computing Foundation)](https://cncf.io) project. * The OpenEBS project is open source, and operations are governed by CNCF rules set up for CNCF projects. * The OpenEBS project adds ```domain-specific Governance```, ```Contribution``` and ```operating rules``` on **top of the CNCF rules**. We provide for exceptions from the CNCF rules if approved by the CNCF Technical Oversight Committee (TOC). - [![CNCF logo](/images/CNCF_member-silver-color.svg)](https://www.datacore.com/) DataCore, Inc. is a CNCF Silver member. DataCore supports CNCF extensively and funds all OpenEBS CNCF events. The project team is managed under the CNCF Storage Landscape and contributes to the CNCF CSI and TAG Storage project initiatives at the CNCF membership level that funding allows. OpenEBS proudly supports CNCF Cloud Native Community Groups initiatives.

- | Container Storage Interface group | Storage Technical Advisory Group |     Cloud Native Community Groups | | :--- | :---: | ---: | - ### DataCore +> > [!IMPORTANT] +> > * OpenEBS was created by MayaData (now part of [DataCore Software, Inc.](https://datacore.com) ), and donated to [CNCF](https://cncf.io) in 2019. > * DataCore engineers contribute a majority of the contributions, program management, Engineering, Dev, and QA resources as well as considerable infrastructure funding to the daily operations of the project. > * The project requires multiple Full-Time ```Subject Matter Experts```, Full-Time storage engineers and Full-Time QA Engineers/testers. While the project requires this commitment, it is expected DataCore engineers may be a majority of the contributing Eng/Dev/QA/PM community. > * OpenEBS is a community project, and DataCore has been and continues to be a significant part of the community ## Conformance + The OpenEBS project produces the OpenEBS product referred to as **```Open Source STANDARD```** (OSS).
Many commercial and non-commercial vendors have incorporated, or wish to incorporate a version of OpenEBS as a component or integrated service within their own product offering, including Microsoft Azure, DataCore, and Civo. [see ADOPTERS file](./ADOPTERS.md) The OpenEBS project and CNCF recognize the importance of supporting this and maintaining a conformance program for vendors to use OpenEBS technology and OpenEBS marks. ## Rules and Governance -The [OpenEBS GitHub organization](https://github.com/openebs) has multiple repositories, for the purpose of organizing project information, source code, assets, Intellectual property (IP), and resources. Every repository in the organization follows the same set of “umbrella” Project Rules and [Governance](./GOVERNANCE.md). All community-wide information is located in the [OpenEBS Community Repository](https://github.com/openebs/community). +The [OpenEBS GitHub organization](https://github.com/openebs) has multiple repositories, for the purpose of organizing project information, source code, assets, Intellectual property (IP), and resources. Every repository in the organization follows the same set of “umbrella” Project Rules and [Governance](./GOVERNANCE.md). All community-wide information is located in the [OpenEBS Community Repository](https://github.com/openebs/community). ## Archive Organization +> > [!IMPORTANT] > The OpenEBS project Leadership/Maintainers also administer the affiliated [**OpenEBS-archive organization**](https://github.com/openebs-archive).
+> > 1. This parallel organization is **OWNED by CNCF** and administrated as a reference archive for OpenEBS ```Legacy``` and ```Deprecated``` OpenEBS repositories, assets, IP, source code, dependencies and resources.
> 2. From time to time, we reserve the right to selectively Deprecate and Archive OpenEBS components and physically migrate them **```out-of ``** the OpenEBS Parent project; and into the Archive organization. This process **``` officially removes```** those OpenEBS components from the parent OpenEBS project/product. All entities held within the Archive org are **NO LONGER** an active component of the OpenEBS Parent project/product.
> 3. The Archive org is **NOT** intended for active code or community contributions. The [Project Rules and Governance](./GOVERNANCE.md) also apply to the OpenEBS-archive organization, unless explicitly stated otherwise in the OpenEBS-archive organization README.