diff --git a/_includes/documentation.html b/_includes/documentation.html index 42a8a757276..c7e564d3fbc 100644 --- a/_includes/documentation.html +++ b/_includes/documentation.html @@ -26,7 +26,7 @@

{{ version }}

{{ latestRelease.date }}
-
{{ latestRelease.summary }}
+
{{ latestRelease.summary | truncate: 120 }}
More info     @@ -71,7 +71,7 @@

{{ version }}

{{ latestRelease.date }}
-
{{ latestRelease.summary }}
+
{{ latestRelease.summary | truncate: 120 }}
More info     diff --git a/_includes/menu.html b/_includes/menu.html index ad5947547ac..2b5a4adb94e 100644 --- a/_includes/menu.html +++ b/_includes/menu.html @@ -18,11 +18,15 @@
- {% if page.url contains "releases" %} -
  • - {% else %} -
  • - {% endif %} +
  • Releases @@ -110,52 +110,24 @@ {% endfor %}
  • - {% if page.url == "/documentation/online-resources" %} -
  • - {% else %} -
  • - {% endif %} +
  • Resources on the Web
  • - {% if page.url == "/community/users" %} -
  • - {% else %} -
  • - {% endif %} +
  • Who's using Debezium?
  • - {% if page.url == "/roadmap" %} -
  • - {% else %} -
  • - {% endif %} +
  • Roadmap
  • - {% if page.url == "/community/contribute" %} -
  • - {% else %} -
  • - {% endif %} +
  • Contribute
  • - {% if page.url == "/community/code-of-conduct" %} -
  • - {% else %} -
  • - {% endif %} - Code of Conduct -
    -
  • - {% if page.url == "/documentation/faq" %} -
  • - {% else %} -
  • - {% endif %} - FAQ +
  • + FAQ
  • @@ -171,18 +143,12 @@ Issues
    -
  • - Twitter -
    -
  • Chat
  • - Mailing List + Mailing List
  • diff --git a/community/code-of-conduct.asciidoc b/community/code-of-conduct.asciidoc deleted file mode 100644 index 343671d76a8..00000000000 --- a/community/code-of-conduct.asciidoc +++ /dev/null @@ -1,77 +0,0 @@ ---- -layout: page-menu -title: Debezium Code of Conduct -permalink: /community/code-of-conduct/ ---- -:linkattrs: -:icons: font - -== Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -== Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -== Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -== Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -== Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at mailto:debezium@gmail.com[debezium@gmail.com]. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -== Attribution - -This Code of Conduct is adapted from the https://contributor-covenant.org[Contributor Covenant], version 1.4, -available at https://contributor-covenant.org/version/1/4. diff --git a/community/contribute.asciidoc b/community/contribute.asciidoc index 627755dc4f6..db9346f2997 100644 --- a/community/contribute.asciidoc +++ b/community/contribute.asciidoc @@ -41,10 +41,3 @@ All of our code is in the https://github.com/debezium/[Debezium Organization] on == Website Our website is also a community effort, and we welcome suggestions, fixes, improvements, and even new blog posts related to Debezium. Everything for our website is also in https://github.com/debezium/debezium.github.io[on GitHub]. Follow the instructions in https://github.com/debezium/debezium.github.io/blob/develop/CONTRIBUTING.md[CONTRIBUTE.md] to get your environment set up with the latest source and to make your changes. - -[[governance]] -== Governance - -Debezium is an open source project owned and sponsored by https://www.redhat.com/[Red Hat]. The Debezium name and logo are trademarks of Red Hat. - -The Debezium project is operated as a community-centric open source project. While Red Hat product management has a voice, it is akin to the same voice of any member of the community, whether they contribute code, bug reports, bug fixes or documentation. diff --git a/community/governance.asciidoc b/community/governance.asciidoc new file mode 100644 index 00000000000..fef0ac86c00 --- /dev/null +++ b/community/governance.asciidoc @@ -0,0 +1,194 @@ +--- +layout: page-menu +title: Governance +permalink: /community/governance/ +--- +:linkattrs: +:icons: font + +This document outlines the governance model for Debezium projects. + +== Overview + +Anyone can contribute to Debezium by following the https://github.com/debezium/debezium/blob/main/CONTRIBUTING.md[contribution workflow] or discussing features and improvements on GitHub issues. +To become a committer in the Debezium project, start by making approved pull requests. +After sufficient trust is built working on Debezium, any current Debezium committer can nominate you to the steering committee for a committer role. + +[[project-roles]] +== Project Roles + +For governance purposes, there are three formal roles for the Debezium project. + +* **Contributor**: + +Any community member who is not yet a committer. +* **Committers**: + +A group of contributors with the right to merge pull requests into the Debezium repositories and publish releases. +* **Steering Committee**: + +A committee composed of committers with the final authority over all decisions made on the project. + +[[contributor]] +=== Contributor + +Anyone who actively participates in the Debezium project is recognized as a contributor. +While this often includes individuals who submit code changes via pull requests, contributors also encompass those who engage in discussions on GitHub issues and pull requests. + +Contributors form the foundation of the Debezium community. +We welcome and encourage everyone to get involved in any way they can. + +[[committer]] +=== Committer + +A committer is an individual who has been granted the right to merge pull requests into one of several Debezium GitHub repositories. +A pull request requires a voting/review procedure prior to merging, outlined below in the [Pull Requests] section. + +A list of Debezium's committers can be found in https://github.com/debezium/governance/blob/main/committers.yml[committers.yml]. + +[[steering-committee]] +=== Steering Committee + +The Debezium Steering committee is a group of committers who have the final authority over all decisions regarding the Debezium project, including but not limited to: + +* Whether pull requests are merged or retained in the event of a dispute. +* Who should become a committer or member of the steering committee. +* Whether any changes are necessary to the project's governance or other assets in the https://github.com/debezium/governance[Governance] repository. + +A list of Debezium's steering committee members can be found in https://github.com/debezium/governance/blob/main/steering-committee.yml[steering-committee.yml]. + +[[pull-requests]] +== Pull Requests + +Pull requests against most repositories may be merged after receiving at least two positive committer or steering committee member votes. +Voting for pull requests can be done by providing a comment, a thumbs-up, or using the pull request approval workflow. + +Pull requests that are small, low-risk, uncontroversial, or prefixed with `[ci]` or `[docs]` may be merged freely by anyone with commit privileges without a vote. +Examples of such pull requests may include, but are not limited to: + +* Refactoring redundant code within a small number of files (2-5) that yields no behavior change. +* Adding or changing logged output. +* Adding or improving the test suite code with no loss of test coverage. +* Updating an action used by GitHub Actions, which commits should be prefixed with `[ci]`. +* Fixing typos or very small clarifications to the documentation, which commits should be prefixed with `[docs]`. + +**Whenever in doubt about a pull request's scope or risk, fallback to the two positive vote requirement.** + +The following repositories use a separate workflow and are excluded from this workflow: + +* https://github.com/debezium/debezium-design-documents, see the link:#proposals[Proposals] section. +* https://github.com/debezium/governance, see the link:#project-governance-changes[Project Governance Changes] section. + +[[proposals]] +== Proposals + +Proposals, often referred to as _Debezium Design Documents_, are used to define changes to the Debezium project that could significantly impact its users or the project's direction. +Opening a proposal provides an opportunity for maintainers to review a concept before coding begins. +A proposal can be opened in the https://github.com/debezium/debezium-design-documents[Debezium Design Documents] repository by creating a pull request. + +Proposals require link:#lazy-consensus-voting[lazy consensus voting], a procedure where steering committee members cast binding votes. +Any non-steering committee member may freely cast non-binding votes. +Non-binding votes are highly encouraged as they provide an indication to the proposals broader acceptance in the Debezium community. + +Votes can be expressed by approving the pull request or specifying `+1` (thumbs-up emoji) on the original comment of the pull request. +Any other votes or positions can be expressed in a separate comment on the proposal. + +**If you wish to express a disapproval with a `-1` (thumbs-down emoji), a reason must be given for the vote to be valid.** + +[[project-governance-changes]] +== Project Governance Changes + +The https://github.com/debezium/governance[Debezium governance] repository outlines the project's governance, code of conduct, along with a record of changes to steering committee and committer roles. + +cAny change in this repository requires an link:#explicit-majority-voting[explicit majority vote] except for when a steering committee member marks themselves as Emeritus, which indicates they're transitioning to an inactive status. +The vote is held by the steering committee where each non-Emeritus committee member can cast a binding vote and there are no non-binding votes. + +The outcome of the vote will be made publicly available after the vote has concluded. + +[[add-remove-committers]] +== Adding or Removing Committers + +The process to add or remove someone as a committer requires an link:#explicit-majority-voting[explicit majority vote]. +The vote is held by the steering committee, where each non-Emeritus committee member can cast a binding vote. + +The outcome of the vote will be made publicly available, the https://github.com/debezium/governance/blob/main/committers.yml[committers.yml] file updated, and GitHub teams adjusted accordingly after the vote ends. + +[[add-remove-steering-committee-members]] +== Adding or Removing Steering Committee members + +The process to add or remove someone as a steering committee member requires an link:#explicit-majority-voting[explicit majority vote]. +The vote is held by the steering committee, where each non-Emeritus committee member can cast a binding vote. + +The outcome of the vote will be made publicly available, the https://github.com/debezium/governance/blob/main/steering-committee.yml[steering-committee.yml] file updated, and GitHub teams adjusted accordingly after the vote ends. + +=== Extended absence + +If a steering committee member is absent for more than 6-months, the committee will contact the member directly via email. +If there is no response from the committee member after a 1-month period, the committee member will be moved to Emeritus status by updating the https://github.com/debezium/governance/blob/main/steering-committee.yml[steering-committee.yml] accordingly. + +=== Other changes + +Unless already specified in herein, all other changes to the project require an link:#explicit-majority-voting[explicit majority vote] of steering committee members. +Additionally, any committee member, at any time, may request that any change require an explicit majority vote by the steering committee. + +[[voting-strategies]] +== Voting Strategies + +The Debezium project uses a voting system to guarantee no single member or entity can dominate the project, and ensures continued success and diversity in the project's forward vision. + +The formal voting process involves the creation of a GitHub issue or pull request. +A vote is indicated by specifying `yes` or `no` on the issue or pull request, which can include the thumbs-up or thumbs-down emojis, or the use of the GitHub approval workflow. +After a defined period of time, votes are tallied, and the outcome is published. + +Debezium uses several different strategies to handle voting, shown here: + +* link:#lazy-consensus-voting[Lazy consensus voting] +* link:#explicit-majority-voting[Explicit majority voting] + +Each of these strategies rely on two types of votes: + +* **Binding**: a vote from a member with specific roles used to tally the outcome of the vote. +The determination of what roles are considered for binding votes is based on the subject area of the vote, such as a project proposal or governance changes as examples. +* **Non-Binding**: any other vote cast by individuals who do not meet the binding vote requirements. +While these votes do not count toward the outcome tally, they are heavily relied upon to guide those with binding-vote rights to the outcome that beset fits all involved. +The use of non-binding votes, where applicable, is highly encouraged. + +[[lazy-consensus-voting]] +=== Lazy consensus voting + +A lazy consensus vote uses `+1`, `0`, or `-1` to indicate one's position on a topic. + +* `+1` indicates you approve +* `-1` indicates you disapprove +* `0` indicates you have no specific opinion + +The voting process concludes when there are at least three `+1` binding votes, and no `-1` binding votes. +The vote should be open for at least 3 days to allow everyone to participate. + +[[explicit-majority-voting]] +=== Explicit majority voting + +An explicit majority vote uses `+1` or `-1` to indicate one's position on a topic. + +* `+1` indicates you approve +* `-1` indicates you disapprove +* If you have no opinion, you should abstain from voting + +The vote succeeds when at least three binding votes are cast, and two-thirds of cast binding values are `+1`. +The vote should be open for at least 3 days to allow everyone to participate. + +[[code-of-conduct]] +== Code of Conduct + +We are committed to making participation in the Commonhaus Foundation a harassment-free experience for everyone, based on respect and ethical conduct. +For the complete Code of Conduct, see the https://github.com/commonhaus/foundation/blob/main/policies/code-of-conduct.md[Commonhaus Foundation Code of Conduct]. +Please ensure you are familiar with its guidelines and expectations, as it's essential for maintaining a positive and collaborative environment. + +[[trackmark-policy]] +== Trademark Policy + +The Debezium logos, icons, and domain names are protected by trademark rights. +Usage of these trademarks must adhere to our https://www.commonhaus.org/policies/trademark-policy/[Trademark Policy]. + +[[contributing]] +== Contributing + +We welcome all forms of contributors, from code improvements to documentation and design. +For details on how to contribute and the process your contributions will follow, please read our https://github.com/debezium/debezium/blob/main/CONTRIBUTING.md[Contributing Guidelines]. \ No newline at end of file