diff --git a/community/3-contributing.mdx b/community/contributing.mdx similarity index 100% rename from community/3-contributing.mdx rename to community/contributing.mdx diff --git a/community/governance.mdx b/community/governance.mdx new file mode 100644 index 000000000..0381e79b4 --- /dev/null +++ b/community/governance.mdx @@ -0,0 +1,95 @@ +--- +title: Governance +date: 2025-01-07 +authors: demirkayaender +tags: + - announcement +--- + +# Cadence Workflow Open Source Governance + +This document outlines the governance model for the Cadence Workflow project. It defines the roles, responsibilities, decision-making processes, and contribution guidelines to ensure transparency, inclusivity, and sustainability within the Cadence open-source community. + +--- + +## Guiding Principles + +The governance of the Cadence project adheres to the following principles: + +1. **Transparency**: Discussions, decisions, and contributions are made in public forums. +2. **Inclusivity**: Contributions are welcome from anyone, regardless of affiliation, experience, or background. +3. **Meritocracy**: Decisions are guided by technical merit and the value of contributions to the community. +4. **Sustainability**: Processes are designed to ensure the long-term health and success of the project. + +--- + +## Roles and Responsibilities + +Ways to contribute to the Cadence project can be found in [this document](https://cadenceworkflow.io/community/how-to-contribute). + +--- + +## Decision-Making Process + +### 1\. Consensus-Based Decisions + +Most decisions are made through open discussions on GitHub or community meetings. Contributors and committers work towards consensus, ensuring that all voices are heard. + +Based on the requests from the past, feedback during planning sessions and the criticality of the features Cadence core team, which is also the technical steering committee, will propose a plan for the next year or 6 months. + +### 2\. Appeals + +If a contributor disagrees with a decision, they can escalate the issue for review through Github or community meetings, explaining why a change in current proposal is necessary by comparing their ideas to existing items in the planning proposal. + +--- + +## Contribution Guidelines + +1. **How to Contribute**: + * Review the [contributing guide](https://github.com/cadence-workflow/cadence/blob/master/CONTRIBUTING.md). + * Submit issues to report bugs, suggest features, or ask questions. + * Create pull requests for code, documentation, or tests. +2. **Review Process**: + * All pull requests must be reviewed by at least one committer. + * Significant changes require approval from the core team. + * Based on your past contributions and future commitments, you may be invited to be a part of Cadence open source teams listed in [cadence-workflow](http://github.com/cadence-workflow) org. +3. **Code Standards**: + * Follow the project's coding styles and guidelines. + * Ensure code includes adequate tests and documentation. +4. **Behavior Expectations**: + * Abide by the [Code of Conduct](https://github.com/uber/.github/blob/dcd96c52f2d1d839208315a2572cf37f48e52e96/CODE_OF_CONDUCT.md). + * Treat all community members with respect and professionalism. + +--- + +## **Code of Conduct** + +The Cadence community follows a [Code of Conduct](https://github.com/uber/.github/blob/dcd96c52f2d1d839208315a2572cf37f48e52e96/CODE_OF_CONDUCT.md) to ensure a welcoming and inclusive environment for all participants. + +--- + +## **Project Roadmap** + +The core team is responsible for maintaining and updating the project roadmap. The roadmap outlines: + +* Upcoming features and milestones. +* Technical debt and areas of improvement. +* Long-term goals for the project. + +The roadmap is published and updated regularly on the [project website](https://cadenceworkflow.io/) and GitHub. + +--- + +## **Licensing** + +All repositories under the Cadence Workflow organization are released under the [MIT License](https://github.com/cadence-workflow/cadence/blob/master/LICENSE), unless otherwise specified. + +--- + +## **Amendments** + +This governance document is a living document. Changes can be proposed by any contributor and must be approved by the core team. Updates will be announced to the community. + +--- + +Thank you for being part of the Cadence Workflow community. Together, we can build resilient and scalable applications\! diff --git a/community/how-to-contribute.mdx b/community/how-to-contribute.mdx new file mode 100644 index 000000000..96ed254d8 --- /dev/null +++ b/community/how-to-contribute.mdx @@ -0,0 +1,109 @@ +--- +title: How to Contribute +date: 2025-01-07 +authors: demirkayaender +tags: + - announcement +--- + +# How to Contribute + +Cadence is a project with high ambitions and we cannot achieve it without a strong community. We would love for you to get involved and be recognized for your efforts through our official channels. + +There are many ways to contribute to the Cadence project including the following list of possible roles but not limited by that list. Join us to be a part of building a modern orchestration engine and feel free to reach out to us if you need help\! + +--- + +## Core Team + +To have the most influence on the Cadence project, join our core team. We announce open roles in the team in our Slack workspace, Linkedin and other mediums we use (or you can use [this query](https://www.uber.com/us/en/careers/list/?query=cadence)). Apply when there’s an opening and join us. Currently we have offices in Seattle (US), Bay Area (US), and Aarhus (Denmark). + +--- + +## User + +This is where our biggest community is and this is how people get to know about Cadence. Here are different ways to become a Cadence user. + +### User / Consumer + +Go to our [Github organization](https://github.com/cadence-workflow) and start using Cadence. That’s it\! Tell us how your first experience was so we can improve. Get into discussions in our Slack workspace to explain your use case. Get help from our support channels. Feel free to ask for free consultation on your design. We learn a lot from our users and from their experiences. + +### Alpha Tester + +While each release goes through weeks of quality assurance process including unit testing, integration testing, benchmark/performance testing, staging and internal tiered rollout to billions of workflows, alpha testers who get their hands on our public releases as soon as they are out provide very meaningful feedback and catch bugs that might only appear in different set-ups. By being an alpha tester you help the entire Cadence community\! + +### Champion + +Champions are the first users or the power users of Cadence in a company. They introduce Cadence to their company and help teams there to get the most out of Cadence. They are the bridge between us and the internal users in their company. By being a champion, we can learn about your challenges, use cases and important feature requests. Then your feedback helps us prioritize addressing your concerns to improve Cadence experience for everyone in the community, more importantly, starting from yourself\! + +### Writer + +Another way to help us cultivate our community is to share documents about Cadence\! Whether it’s writing blogs or technical articles, recording video tutorials or organizing collaborations; sharing how your experience is with Cadence and how others can benefit from it is a great way to help build a community. This also helps gain public visibility on the personal level. + +--- + +## Technical Contributor + +### Developer + +You can become an individual developer by taking up tasks and projects. If this is your first time and want to see how your experience is going to be, you are welcome to take any issue tagged with “good-first-issue” or “up-for-grabs”. We are happy to explain what needs to be done along with providing more details and pointers, if needed. Your journey starts there and can continue with working on bigger and more serious projects based on your past involvement. + +### Reviewer + +Another great way to start contributing is to code review others send in pull requests. You can help us adopt best practices, avoid bugs and find more elegant ways to implement a certain feature. There are always open pull requests to chime in and provide your technical feedback. This process is also a great way to learn about how Cadence works and how we are trying to improve. + +### Bug Reporter + +Reporting bugs is the perfect way to improve reliability and improve the overall experience of the community. You can report bugs in our GitHub repositories. Depending on your understanding explaining the bug, repro steps and potential fixes would help us address the issue as fast as possible. Feel free to send a PR for the fix if you already know the fix and can write it. + +### Tech Lead + +When you become an expert on Cadence codebase and understand all the moving pieces in detail and at a high level, you can get involved in design and technical direction decisions. You can make more in-depth proposals and influence the project more technically. + +--- + +## Partner + +There are several ways to have partnership with the Cadence project. + +### Partner Company + +When you are a company enjoying using Cadence and become a part of our journey by getting more involved and making codebase contributions, you can become a partner with us. We can have exclusive channels and meetings to communicate, plan what needs to be built and execute design and implementation together. This is the way to get the most out of Cadence and always be prioritized based on your needs as well as get more publicity for your company. + +### Organizer + +The Cadence team hosts monthly webinars, joins conferences and presents in different companies. Help us spread the word and become a host for our events\! We are happy to present about Cadence or join your webinars, meetups, conferences etc. Collaborative events like these are great for both parties\! + +### Selling Managed Cadence + +Cadence is an open source project without monetary concerns. We are proud to use the exact same open source version of Cadence at Uber at scale which maps to thousands of use cases, billions of workflows and over 100K+ updates per second\! While we improve the experience with operating Cadence day by day, there are still many companies who would prefer buying a managed version of our technology due to not having resources or just to have a piece of mind. + +We currently work very closely with companies selling Cadence as a such offering to help them succeed so we can build a happier community. + +--- + +## Governance + +### Decision Maker + +Cadence is moving to a more open governance structure starting from January 2025\! This is a big step to plan together, propose/discuss together, and design together. While the core team will organize the final outcomes, the more you are involved, the more you will be able to influence. To learn about our governance model, please refer to [this document](https://cadenceworkflow.io/community/governance). + +--- + +## Expert + +### Consultant + +Consultants are experienced professionals who help others start using Cadence. They can help users set up Cadence for the first time, onboard their domains, design their workflows, and adopt best practices. + +### Critic + +You can provide constructive feedback to the Cadence project to help us do better\! A part of being a true open source project is to receive such feedback. Whether it's technical feedback related to design and codebase or other matters, we might be too used to the ways we have been operating on. Seeing the project through a pair of external eyes would help us notice inefficiencies. + +### Statistician + +We aspire to build the most flexible, reliable and scalable orchestration engine. You can help us collect performance benchmarks and compare them against other engines. This will help both the community to make more educated decisions and us to see the gaps with others. + +### Orchestration Expert + +You can help our community compare Cadence to other orchestration technologies holistically. Starting from the onboarding experience, to feature-set; from observability to performance and scale; from intuitiveness/ease-of-use to contribution experience; you can help others evaluate Cadence. Your comparison will also help us improve Cadence even better\! \ No newline at end of file diff --git a/community/2-resources.mdx b/community/resources.mdx similarity index 100% rename from community/2-resources.mdx rename to community/resources.mdx diff --git a/community/0-support.mdx b/community/support.mdx similarity index 100% rename from community/0-support.mdx rename to community/support.mdx diff --git a/community/1-team.mdx b/community/team.mdx similarity index 100% rename from community/1-team.mdx rename to community/team.mdx diff --git a/sidebarsCommunity.js b/sidebarsCommunity.js index 50fe3263a..13fd812de 100644 --- a/sidebarsCommunity.js +++ b/sidebarsCommunity.js @@ -6,6 +6,8 @@ export default { // dirName: '.', // }, { type: 'doc', id: 'support' }, + { type: 'doc', id: 'how-to-contribute' }, + { type: 'doc', id: 'governance' }, { type: 'doc', id: 'team' }, // { type: 'doc', id: 'resources' }, // { type: 'doc', id: 'contributing' }, @@ -24,5 +26,10 @@ export default { label: 'Chat with us on Slack', href: 'http://t.uber.com/cadence-slack', }, + { + type: 'link', + label: 'Code of Conduct', + href: 'https://github.com/uber/.github/blob/dcd96c52f2d1d839208315a2572cf37f48e52e96/CODE_OF_CONDUCT.md', + }, ], };