1*f4daad6aSAndreas Gohr# AI Policy 2*f4daad6aSAndreas Gohr 3*f4daad6aSAndreas GohrAI assisted coding is okay if you understand the code you are contributing and can explain it in your own words. 4*f4daad6aSAndreas GohrYou should be able to answer questions about the code you contribute without copying responses from AI. 5*f4daad6aSAndreas Gohr 6*f4daad6aSAndreas GohrAll code merged into the DokuWiki codebase **must be reviewed and approved by a human**, regardless of wether it was 7*f4daad6aSAndreas Gohradded by a long-time maintainer or first-time contributor. Each commit must have a responsible human author attached. 8*f4daad6aSAndreas GohrRefrain from "co-authored-by" or similar tags that attribute the contribution to an AI. 9*f4daad6aSAndreas Gohr 10*f4daad6aSAndreas Gohr**AI may not be used to communicate** with maintainers. This includes comments on pull requests and issues as well as 11*f4daad6aSAndreas Gohrpull request and issue descriptions. If an AI generated output is relevant to the discussion, it should be included in 12*f4daad6aSAndreas Gohra quote block and accompanied by human commentary explaining its relevance and implications. 13*f4daad6aSAndreas Gohr 14*f4daad6aSAndreas Gohr**It's okay to use AI to translate** comments to English as long as it reflects your own voice. Consider including the 15*f4daad6aSAndreas Gohroriginal text in a quote block so readers speaking both languages can refer back to it. 16*f4daad6aSAndreas Gohr 17*f4daad6aSAndreas Gohr**Drive-by AI contributions are not welcome**. If you are a first-time contributor it is expected that you will explain 18*f4daad6aSAndreas Gohryour motivation for contributing to the DokuWiki project. How are you using DokuWiki and why is the code you are 19*f4daad6aSAndreas Gohrcontributing important to you? "I saw the issue and let my AI write a fix" is not an acceptable motivation. Tickets 20*f4daad6aSAndreas Gohrmarked as "good first-issue" are not an invitation for AI fixes - they are meant to be a starting point for new human 21*f4daad6aSAndreas Gohrcontributors to get involved in the project. We want contributions to be driven by people who actually use DokuWiki and 22*f4daad6aSAndreas Gohrcare about the project, not by people who are just looking for an easy way to get a contribution on their GitHub 23*f4daad6aSAndreas Gohrprofile. 24*f4daad6aSAndreas Gohr 25*f4daad6aSAndreas GohrFailure to follow this policy may result in your contribution being rejected and/or your account being blocked. 26*f4daad6aSAndreas Gohr 27*f4daad6aSAndreas Gohr## Background 28*f4daad6aSAndreas Gohr 29*f4daad6aSAndreas GohrIf you are new to the Open-Source world, you might be wondering about the existence of above policy or the hostility 30*f4daad6aSAndreas Gohrtowards AI and your contributions in general. 31*f4daad6aSAndreas Gohr 32*f4daad6aSAndreas GohrIf you really want to contribute to Open-Source projects because you want to help, the list of short quotes and links 33*f4daad6aSAndreas Gohrbelow will give you a starting point to better understand the concerns and issues Open Source maintainers face. 34*f4daad6aSAndreas Gohr 35*f4daad6aSAndreas Gohr> All these people who submit drive-by pull requests to my projects are pushing me to spend more and more of my time 36*f4daad6aSAndreas Gohr> reviewing and merging code that was extruded by machines. 37*f4daad6aSAndreas Gohr> 38*f4daad6aSAndreas Gohr> from ["I Am Not a Reverse Centaur"](https://blog.miguelgrinberg.com/post/i-am-not-a-reverse-centaur) 39*f4daad6aSAndreas Gohr 40*f4daad6aSAndreas Gohr 41*f4daad6aSAndreas Gohr> Since I don't really know you, I always have to assume that you might be trying to sneak in something malicious along 42*f4daad6aSAndreas Gohr> with your changes, which makes reviewing and merging them riskier than implementing them myself.\ 43*f4daad6aSAndreas Gohr> […]\ 44*f4daad6aSAndreas Gohr> For these reasons, it's just easier if I make the code changes myself (with the help of an LLM). 45*f4daad6aSAndreas Gohr> 46*f4daad6aSAndreas Gohr> from ["I don't want your PRs anymore"](https://dpc.pw/posts/i-dont-want-your-prs-anymore/) 47*f4daad6aSAndreas Gohr 48*f4daad6aSAndreas Gohr 49*f4daad6aSAndreas Gohr> What most people don’t realize is that evaluating and merging changes is far harder than writing new code. 50*f4daad6aSAndreas Gohr> Understanding how a change fits into the existing codebase, its history, and its plans requires knowledge that’s 51*f4daad6aSAndreas Gohr> partly 52*f4daad6aSAndreas Gohr> invisible — not in the code, not in the comments, not in the issues. It’s in the maintainer’s head. And some of it is 53*f4daad6aSAndreas Gohr> deeply creative work, requiring the kind of judgment no model can replicate. 54*f4daad6aSAndreas Gohr> 55*f4daad6aSAndreas Gohr> from ["The Maintainer’s Dilemma"](https://spf13.com/p/the-maintainers-dilemma/) 56*f4daad6aSAndreas Gohr 57*f4daad6aSAndreas Gohr 58*f4daad6aSAndreas Gohr> […] a contribution is not finished when the pull request is opened. […] AI changes the cost of creating the first 59*f4daad6aSAndreas Gohr> version. It does not make that second part disappear.\ 60*f4daad6aSAndreas Gohr> […]\ 61*f4daad6aSAndreas Gohr> The useful question is not “did AI touch this?”. The useful question is: does the person submitting this understand 62*f4daad6aSAndreas Gohr> it, validate it, and take responsibility for it? 63*f4daad6aSAndreas Gohr> 64*f4daad6aSAndreas Gohr> from ["Open source was not ready for AI-speed contributions"](https://frenck.dev/open-source-was-not-ready-for-ai-speed-contributions/) 65