PKP Policy on AI Contributions to Software
PKP welcomes community contributions to its software. These can include documentation, plugins, code, bug reports, security reports, or forum posts. When generative AI is used to create these materials, we ask that contributors follow these practices:
- The use of AI should be clearly disclosed. Please indicate if and how you used generative AI in order for us to effectively review the contribution.
- Example disclosure: “I generated the pull requests to go with this feature request using [model] because my SQL skills are rusty. I reviewed the code and tested it locally, and it seems to work well.”
- Do not post AI-generated material without any guidance for the PKP team. This is much harder to review appropriately, and we may treat it as an extractive contribution. (See below for more on extractive contributions.)
- A qualified “human in the loop” is always required. Please review the contribution before submitting it, and ensure that it is at a level of quality that you are comfortable attaching to your name. If the contribution is in the form of code, make sure that you have tested it adequately.
- Example: If using generative AI to code a plugin, please use human effort to review the generated code for quality and security, and let us know that this has been done when making the contribution.
- Do not trust AI-generated tests and reports without reviewing and verifying them yourself. These appear authoritative but cannot be trusted without review.
- Do not iterate by submitting code review feedback to a generative AI and posting its output for further review.
- Do not submit code, comments, or any other contribution using an unmonitored AI agent.
- Do not submit contributions that you do not have the skillset to understand. This is an extractive contribution. (See below for more on extractive contributions.)
Extractive Contributions
The term extractive contribution was coined by Nadia Eghbal in Working in Public:
“Extractive contributions are those where the marginal cost of reviewing and merging that contribution is greater than the marginal benefit to the project’s producers. In the case of a code contribution, it might be a pull request that’s too complex or unwieldy to review, given the potential upside.”
Reviewing contributions is labour-intensive, and every contribution represents risk in the form of security issues, technical debt, and decreased quality. Our time is limited, and we must take care to balance multiple priorities.
Extractive contributions are not unique to generative AI. Any contribution, AI- or human-written, that creates high amounts of technical debt for the benefit of a small user community may represent an extractive contribution in that accepting it represents an unjustifiable workload for the development team. However, generative AI makes it easy to create large volumes of confident-looking outputs; turning these into open-source contributions creates a significant workload and risk for the maintainers of those projects.
We ask that our contributors be aware of the risk of extractive contribution and help keep the quality of the software as high as possible by participating fully in the review and quality control parts of the process.
Contributions as Learning Spaces
PKP engages with its community to build skills around Free and Open Source Software contribution. This can take the form of reserving easier issues with a “Try Me” label, helping contributors with the mechanics of pull requests, and guiding new contributors with in-depth code reviews to help them internalize best practices as they work on their first contribution.
The use of generative AI in a learning space detracts from PKP’s efforts to build and sustain a skilled and healthy contributor community.
PKP’s Commitment
PKP commits to allocating our efforts in ways that serve the existing needs and future growth of our community. This includes working with contributions involving generative AI.
We reserve the right to decline or remove low-value contributions when they do not contribute to community knowledge. We reserve the right to decline AI contributions to certain areas of the software, such as when they resolve issues reserved for new contributors.