Contributing

AI/LLM Policy

Contributions (code, documentation, or issues) assisted or fully-written by AI are not allowed for ethical and quality reasons. See What influenced your AI/LLM policy? for more information.

While not advisable, you are free to use AI/LLMs to help you navigate the source code or help you troubleshoot issues. Be sure to triple-check its output and never share any of it with the project, whether in issues or code.

Failure to comply will result in a warning. A repeated offense will result in a permanent ban.

Process overview

Congratulations, you have made changes that you would like to get merge in the CI-tron project!

Here is a quick overview of the steps:

  • Use of AI/LLM coding assistants: Contributions (code, documentation, or issues) assisted or fully-written by AI are not allowed for ethical and quality reasons. See What influenced your AI/LLM policy? for more information.

  • Code of conduct: Like all Freedesktop.org project, contributing to this project requires accepting the terms of the Contributor Covenant Code of Conduct.

  • Commit history: Please split your changes into atomic commits, and write good commit messages motivating the change.

  • Fork / merge request: This project uses a fork/merge-request workflow:

    1. Fork ci-tron;

    2. Push your tree/commit to a branch in your fork;

    3. Open a merge request by following the link GitLab provided during the push;

    4. Wait for the CI results, then address failures;

    5. Wait for review comments, then address them;

    6. Once the code is deemed ready by a trusted developer, it will be merged.

Frequently Asked Questions

I can’t fork ci-tron, what is going on?

Due to an influx of spam, Freedesktop.org had to impose restrictions on new accounts.

Please see this wiki page for instructions on how to get full permissions.

The automated tests fail due to runner permission issues, what do I do?

Due to serious abuse of Freedesktop’s testing infrastructure (details), the use of the GitLab CI on freedesktop.org got restricted. Only group members can trigger pipelines, everyone else needs the pipeline manually triggered by an existing group member. See Freedesktop’s wiki for more details and possible remediation.

You may however use your CI-tron-based gateway to run your tests by exposing it in your fork. This can be achieved by:

What influenced your AI/LLM policy?

The decision was primarily taken on ethical grounds:

  • Why reward the bad actors who have been consistently DDoS’ing our Freedesktop.org infrastructure?

  • Why spend our limited time interacting with someone else’s machine when we could be training real people who could become future contributors?

  • Why give legitimacy to the tools that are breaking the social contracts of the free software movement, as defined by their software licenses, thus allowing LLM users to effectively bypass FOSS usage conditions?

While these are political stances, the pragmatic reason is that AI/LLM contributions are a risk for the future maintainability of the project:

  • Why risk eroding the core-developers’ understanding of the whole system by outsourcing part of the design?

  • Why make the the quick-and-easy brute force solution practical when we could take the time to research the problem and find a more maintainable fix?

  • Why depend on an external service that we have no control over when it can: regress, price us out, revoke our access, or be weaponized to sabotage our project?

  • Why risk accidentally introducing code released by another open source project using an incompatible license?

We understand that you may not have the time needed to adhere to these ideals. We would thus kindly ask you to open an issue using your own words rather than a merge request: We would rather implement something from scratch rather than reviewing the output of your AI/LLM.