From 572982e0b7651c94b5ee86f4c23a6d436e59782b Mon Sep 17 00:00:00 2001 From: Christian Lechner Date: Mon, 9 Sep 2024 18:11:00 +0200 Subject: [PATCH] docs: upate contribution guidelines (#900) --- CONTRIBUTING.md | 50 +++++++++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fd10c5fc..c8a3b55b 100755 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,38 +1,34 @@ -# Contributing +# Contributing to an SAP Open Source Project -## Code of Conduct +## General Remarks -All project community members must abide by the [SAP Open Source Code of Conduct](https://github.com/SAP/.github/blob/main/CODE_OF_CONDUCT.md). -Only by respecting each other, we can develop a productive, collaborative community. -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting [a project maintainer](.reuse/dep5). +You are welcome to contribute content (code, documentation etc.) to this open source project. -## Engaging in Our Project +There are some important things to know: -We use GitHub to manage reviews of pull requests. +1. You must **comply to the license of this project**, **accept the Developer Certificate of Origin** (see below) before being able to contribute. The acknowledgement to the DCO will usually be requested from you as part of your first pull request to this project. +2. Please **adhere to our [Code of Conduct](https://github.com/SAP/.github/blob/main/CODE_OF_CONDUCT.md)**. +3. If you plan to use **generative AI for your contribution**, please see our guideline below. +4. **Not all proposed contributions can be accepted**. Some features may fit another project better or doesn't fit the general direction of this project. Of course, this doesn't apply to most bug fixes, but a major feature implementation for instance needs to be discussed with one of the maintainers first. Possibly, one who touched the related code or module recently. The more effort you invest, the better you should clarify in advance whether the contribution will match the project's direction. The best way would be to just open an issue to discuss the feature you plan to implement (make it clear that you intend to contribute). We will then forward the proposal to the respective code owner. This avoids disappointment. -* If you are a new contributor, see: [Steps to Contribute](#steps-to-contribute) +## Developer Certificate of Origin (DCO) -* Before implementing your change, create an issue describing the problem you want to solve or the code that should be enhanced. Please note that you are willing to work on that issue. +Contributors will be asked to accept a DCO before they submit the first pull request to this projects, this happens in an automated fashion during the submission process. SAP uses [the standard DCO text of the Linux Foundation](https://developercertificate.org/). -* The team will review the issue and decide whether it should be implemented as a pull request. In that case, they will assign the issue to you. If the team decides against picking up the issue, the team will post a comment with an explanation. +## Contributing with AI-generated code -## Steps to Contribute +As artificial intelligence evolves, AI-generated code is becoming valuable for many software projects, including open-source initiatives. While we recognize the potential benefits of incorporating AI-generated content into our open-source projects there a certain requirements that need to be reflected and adhered to when making contributions. -If you wish to work on an issue, we kindly ask you to claim it first by commenting on the GitHub issue that you want to work on. This is to prevent duplicated efforts from other contributors on the same issue. +Please see our [guideline for AI-generated code contributions to SAP Open Source Software Projects](https://github.com/SAP/.github/blob/main/CONTRIBUTING_USING_GENAI.md) for these requirements. -If you have questions about one of the issues, please comment on them, and one of the maintainers will clarify. +## How to Contribute -## Contributing Code or Documentation - -You are welcome to contribute code in order to fix a bug or to implement a new feature that is logged as an issue. - -The following rule governs code contributions: - -* Contributions must be licensed under the [Apache 2.0 License](./LICENSE) -* Due to legal reasons, contributors will be asked to accept a Developer Certificate of Origin (DCO) when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses [the standard DCO text of the Linux Foundation](https://developercertificate.org/). - -## Issues and Planning - -* We use GitHub issues to track bugs and enhancement requests. - -* Please provide as much context as possible when you open an issue. Your information must be comprehensive enough to reproduce that issue for the assignee. +1. Make sure the change is welcome (see [General Remarks](#general-remarks)). +2. Create a branch by forking the repository and apply your change. +3. Commit and push your change on that branch. +4. Create a pull request in the repository using this branch. +5. Follow the link posted by the CLA assistant to your pull request and accept it, as described above. +6. Wait for our code review and approval, possibly enhancing your change on request. + - Note that the maintainers have many duties. So, depending on the required effort for reviewing, testing, and clarification, this may take a while. +7. Once the change has been approved and merged, we will inform you in a comment. +8. Celebrate!