AI Policy#
“AI” herein refers to generative AI tools like large language models (LLMs) that can generate, edit, and review software code, create and manipulate images, or generate human-like communication.
Responsibility#
You are responsible for any code you submit to pyFAI’s repositories, regardless of whether it was manually written or generated by AI. You must understand and be able to explain the code you submit as well as the existing related code. It is not acceptable to submit a patch that you cannot understand and explain yourself. In explaining your contribution, do not use AI to automatically generate descriptions.
Disclosure#
You must disclose whether AI has been used to assist in the development of your pull request. If so, you must document which tool(s) have been used, how they were used, and specify what code or text is AI generated. We might reject any pull request that does not include the disclosure.
Code Quality#
Code generated by AI can be of low quality. Contributors are expected to submit code that meets pyFAI’s standards. We will reject pull requests that we deem being AI slop. Do not waste developers’ time by submitting code that is fully or mostly generated by AI, and doesn’t meet our standards.
Copyright#
All code in pyFAI is released under the MIT copyright license. Contributors to pyFAI agree to license their code under the same license used by the project when it is included into the version control repository. That means contributors must own the copyright of any code submitted to pyFAI or must include the MIT-compatible open source license(s) associated with the submitted code in the patch. Code generated by AI may infringe on copyright and it is the submitter’s responsibility to not infringe. We reserve the right to reject any pull requests, AI generated or not, where the copyright is in question.
Communication#
When interacting with developers (forum, discussions, issues, pull requests, etc.) do not use AI to speak for you, except for translation or grammar editing. If the developers want to chat with a chatbot, they can do so themselves. Human-to-human communication is essential for an open source community to thrive.
AI Agents#
The use of an AI agent that writes code and then submits a pull request autonomously is not permitted. A human must check any generated code and submit a pull request in accordance with the ‘Responsibility’ section above.
Other Resources#
While these do not formally form part of pyFAI’s AI policy, the following resources may be helpful in understanding some pitfalls associated with using AI to contribute to pyFAI:
https://llvm.org/docs/AIToolPolicy.html
https://blog.scientific-python.org/scientific-python/community-considerations-around-ai/
Acknowledgements#
We thank the SciPy/SymPy developers for their AI policy, upon which this document is largely based.