Skip to content

Latest commit

 

History

History
56 lines (33 loc) · 4.19 KB

File metadata and controls

56 lines (33 loc) · 4.19 KB

Contributing

We would absolutely love to get the community involved and we welcome any form of contributions - comments and questions, issues, pull request and anything that you build and share using our project.

Communication channels

  • Communication is primarily done using issues.
  • If you need support as soon as possible and you can't wait for any pull request, feel free to use our support.
  • As a last resort measure or on otherwise important matter you may also contact us directly.

Ways to help

  • Report bugs
    Create an issue and send a pull request
  • Send pull requests
    If you want to contribute code, check out the development instructions below.
    • However when contributing larger new features, please first discuss the change you wish to make via issue with the owners of this repository before making it.
      Otherwise your work might be rejected and your effort was pointless.
    • Please also note that your pull request might not be noticed immediately when it's not attached to an issue.

We also encourage you to read the contribution instructions by GitHub.

Developing

Project specific development instructions can be found in DEVELOPING.md

On AI use / LLM generated content

Our reason for the strict policy is due to unqualified people using the technology.

This policy was inspired by the AI policies of curl, MESA, matplotlib and Ghostty.

Issues and security reports

If you asked an AI tool to find problems in the project, you must make sure to reveal this fact in your issue.

You must also double-check the findings carefully before reporting them to us to validate that the issue is indeed existing and working exactly as the AI says. AI-based tools frequently generate inaccurate or fabricated results.

Further: It is rarely a good idea to copy and paste an AI generated report to the project. Those are typically too wordy and rarely to the point - in addition to the common fabricated details.
If you actually find a problem with an AI and you have verified it yourself to be true: Write the issue/report yourself and explain the problem as you have learned it. This makes sure the AI-generated inaccuracies and invented issues are filtered out early before they waste more people's time.

As we take security reports seriously, we investigate each report with priority. This work is both time and energy consuming and pulls us away from doing other meaningful work. Fake and otherwise made up security problems effectively prevent us from doing real project work and make us waste time and resources.

We will ban and report users who submit made up fake reports.

Pull requests

When contributing content to the project, you give us permission to use it as-is and you must make sure you are allowed to distribute it to us. By submitting a change to us, you agree that the changes can and should be adopted and get redistributed under the project's license. Authors should be explicitly aware that the burden is on them to ensure no unlicensed code is submitted to the project.

This is independent if AI is used or not.

When contributing a pull request you should of course always make sure that the proposal is good quality and a best effort that follows our guidelines. A basic rule of thumb is that if someone can spot that the contribution was made with the help of AI, you have more work to do.

We can accept code written with the help of AI into the project, but the code must still follow coding standards, be written clearly and adhere to all the normal requirements we have.

Further notices

  • External AI tooling (e.g. bots, agents) directly interacting with the project - without a human - are not allowed and will be banned and reported.
  • For commit messages the same guidelines as described above for issues apply - fully generated messages are not allowed.
  • AI assisted/generated commits can NOT use the Co-authored-by tag as this is reserved for humans - use Assisted-by/Generated-by instead.