diff --git a/developer/contributing.rst b/developer/contributing.rst index 4cf597df..c5af38bd 100644 --- a/developer/contributing.rst +++ b/developer/contributing.rst @@ -8,6 +8,15 @@ We are glad and thankful that you want to contribute to OpenWISP. Please read these guidelines carefully, it will help to save precious time for everyone involved. +.. warning:: + + Contributions which shift the burden of understanding, implementation, + testing, and review entirely onto maintainers are not acceptable. This + includes abusing AI tools to generate pull requests which the + contributor does not fully understand, explain, maintain, and test. + Please read the :ref:`Anti AI Spam Policy ` before + opening a pull request. + **Table of Contents:** .. contents:: diff --git a/general/code-of-conduct.rst b/general/code-of-conduct.rst index 0966da9d..bae24cd6 100644 --- a/general/code-of-conduct.rst +++ b/general/code-of-conduct.rst @@ -2,3 +2,48 @@ Code of Conduct =============== Open source doesn't mean "anything goes". **Be respectful, or be gone**. + +.. _anti_spam_policy: + +Anti AI Spam Policy +------------------- + +OpenWISP welcomes meaningful contributions from people who take the time +to understand the project, the problem they are trying to solve, and the +impact of their changes. + +Contributions which shift the burden of understanding, implementation, +testing, and review entirely onto maintainers are harmful to the project. +This includes AI abuse: using AI coding agents, chatbots, or other +automation to generate pull requests without adequate human understanding, +verification, and testing. + +AI tools do not turn an inexperienced person into an experienced software +developer. Contributors are responsible for understanding the project, the +issue, and every change they submit. If a contributor cannot explain, +maintain, and properly test the code they are proposing, they should not +open a pull request. + +Maintainers reserve the right to close pull requests considered spammy or +harmful to the project, including but not limited to: + +- unsolicited pull requests which do not have a related issue; +- pull requests targeting issues which have not been opened, acknowledged, + validated, or accepted by maintainers; +- pull requests with poor, incomplete, or untested implementations; +- pull requests generated by AI tools or automation without enough human + understanding, review, and testing; +- pull requests with repeated pushes over a short period of time, repeated + failed CI builds, or excessive automated review activity which wastes + maintainer time and consumes the limited CI and review tool credits + sponsored to the project. If these costs grow too much, sponsored + services may run out or stop being available to OpenWISP; +- pull requests which show little or no evidence that the contributor + understands the project, the issue, or the proposed solution. + +Maintainers may temporarily limit contributions from contributors who +violate this policy. Contributors who continue violating this policy after +a temporary restriction may be banned permanently. + +When a pull request or contribution is closed under this policy, +maintainers may provide only a link to this policy as the explanation. diff --git a/spelling_wordlist.txt b/spelling_wordlist.txt index ba930449..3ef78618 100644 --- a/spelling_wordlist.txt +++ b/spelling_wordlist.txt @@ -33,6 +33,8 @@ captcha cd certbot changelog +chatbot +chatbots checksum checksums Chilli