|
| 1 | +# SOME DESCRIPTIVE TITLE. |
| 2 | +# Copyright (C) 2003-2026, LLVM Project |
| 3 | +# This file is distributed under the same license as the LLVM package. |
| 4 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
| 5 | +# |
| 6 | +#, fuzzy |
| 7 | +msgid "" |
| 8 | +msgstr "" |
| 9 | +"Project-Id-Version: LLVM main\n" |
| 10 | +"Report-Msgid-Bugs-To: \n" |
| 11 | +"POT-Creation-Date: 2026-02-23 08:56+0000\n" |
| 12 | +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
| 13 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
| 14 | +"Language-Team: LANGUAGE <LL@li.org>\n" |
| 15 | +"MIME-Version: 1.0\n" |
| 16 | +"Content-Type: text/plain; charset=UTF-8\n" |
| 17 | +"Content-Transfer-Encoding: 8bit\n" |
| 18 | + |
| 19 | +#: ../../../AIToolPolicy.md:1 |
| 20 | +msgid "LLVM AI Tool Use Policy" |
| 21 | +msgstr "" |
| 22 | + |
| 23 | +#: ../../../AIToolPolicy.md:3 |
| 24 | +msgid "Policy" |
| 25 | +msgstr "" |
| 26 | + |
| 27 | +#: ../../../AIToolPolicy.md:5 |
| 28 | +msgid "" |
| 29 | +"LLVM's policy is that contributors can use whatever tools they would like to " |
| 30 | +"craft their contributions, but there must be a **human in the loop**. " |
| 31 | +"**Contributors must read and review all LLM-generated code or text before " |
| 32 | +"they ask other project members to review it.** The contributor is always the " |
| 33 | +"author and is fully accountable for their contributions. Contributors should " |
| 34 | +"be sufficiently confident that the contribution is high enough quality that " |
| 35 | +"asking for a review is a good use of scarce maintainer time, and they should " |
| 36 | +"be **able to answer questions about their work** during review." |
| 37 | +msgstr "" |
| 38 | + |
| 39 | +#: ../../../AIToolPolicy.md:14 |
| 40 | +msgid "" |
| 41 | +"We expect that new contributors will be less confident in their " |
| 42 | +"contributions, and our guidance to them is to **start with small " |
| 43 | +"contributions** that they can fully understand to build confidence. We " |
| 44 | +"aspire to be a welcoming community that helps new contributors grow their " |
| 45 | +"expertise, but learning involves taking small steps, getting feedback, and " |
| 46 | +"iterating. Passing maintainer feedback to an LLM doesn't help anyone grow, " |
| 47 | +"and does not sustain our community." |
| 48 | +msgstr "" |
| 49 | + |
| 50 | +#: ../../../AIToolPolicy.md:21 |
| 51 | +msgid "" |
| 52 | +"Contributors are expected to **be transparent and label contributions that " |
| 53 | +"contain substantial amounts of tool-generated content**. Our policy on " |
| 54 | +"labelling is intended to facilitate reviews, and not to track which parts of " |
| 55 | +"LLVM are generated. Contributors should note tool usage in their pull " |
| 56 | +"request description, commit message, or wherever authorship is normally " |
| 57 | +"indicated for the work. For instance, use a commit message trailer like " |
| 58 | +"Assisted-by: <name of code assistant>. This transparency helps the community " |
| 59 | +"develop best practices and understand the role of these new tools." |
| 60 | +msgstr "" |
| 61 | + |
| 62 | +#: ../../../AIToolPolicy.md:21 |
| 63 | +msgid "" |
| 64 | +"<name of\n" |
| 65 | +"code assistant>" |
| 66 | +msgstr "" |
| 67 | + |
| 68 | +#: ../../../AIToolPolicy.md:30 |
| 69 | +msgid "" |
| 70 | +"This policy includes, but is not limited to, the following kinds of " |
| 71 | +"contributions:" |
| 72 | +msgstr "" |
| 73 | + |
| 74 | +#: ../../../AIToolPolicy.md:33 |
| 75 | +msgid "Code, usually in the form of a pull request" |
| 76 | +msgstr "" |
| 77 | + |
| 78 | +#: ../../../AIToolPolicy.md:34 |
| 79 | +msgid "RFCs or design proposals" |
| 80 | +msgstr "" |
| 81 | + |
| 82 | +#: ../../../AIToolPolicy.md:35 |
| 83 | +msgid "Issues or security vulnerabilities" |
| 84 | +msgstr "" |
| 85 | + |
| 86 | +#: ../../../AIToolPolicy.md:36 |
| 87 | +msgid "Comments and feedback on pull requests" |
| 88 | +msgstr "" |
| 89 | + |
| 90 | +#: ../../../AIToolPolicy.md:38 |
| 91 | +msgid "Details" |
| 92 | +msgstr "" |
| 93 | + |
| 94 | +#: ../../../AIToolPolicy.md:40 |
| 95 | +msgid "" |
| 96 | +"To ensure sufficient self review and understanding of the work, it is " |
| 97 | +"strongly recommended that contributors write PR descriptions themselves (if " |
| 98 | +"needed, using tools for translation or copy-editing). The description should " |
| 99 | +"explain the motivation, implementation approach, expected impact, and any " |
| 100 | +"open questions or uncertainties to the same extent as a contribution made " |
| 101 | +"without tool assistance." |
| 102 | +msgstr "" |
| 103 | + |
| 104 | +#: ../../../AIToolPolicy.md:47 |
| 105 | +msgid "" |
| 106 | +"An important implication of this policy is that it bans agents that take " |
| 107 | +"action in our digital spaces without human approval, such as the GitHub " |
| 108 | +"[`@claude` agent](https://github.com/claude/). Similarly, automated review " |
| 109 | +"tools that publish comments without human review are not allowed. However, " |
| 110 | +"an opt-in review tool that **keeps a human in the loop** is acceptable under " |
| 111 | +"this policy. As another example, using an LLM to generate documentation, " |
| 112 | +"which a contributor manually reviews for correctness, edits, and then posts " |
| 113 | +"as a PR, is an approved use of tools under this policy." |
| 114 | +msgstr "" |
| 115 | + |
| 116 | +#: ../../../AIToolPolicy.md:56 |
| 117 | +msgid "" |
| 118 | +"AI tools must not be used to fix GitHub issues labelled [`good first issue`]" |
| 119 | +"[good-first-issue]. These issues are generally not urgent, and are intended " |
| 120 | +"to be learning opportunities for new contributors to get familiar with the " |
| 121 | +"codebase. Whether you are a newcomer or not, fully automating the process of " |
| 122 | +"fixing this issue squanders the learning opportunity and doesn't add much " |
| 123 | +"value to the project. **Using AI tools to fix issues labelled as \"good " |
| 124 | +"first issues\" is forbidden**." |
| 125 | +msgstr "" |
| 126 | + |
| 127 | +#: ../../../AIToolPolicy.md:66 |
| 128 | +msgid "Extractive Contributions" |
| 129 | +msgstr "" |
| 130 | + |
| 131 | +#: ../../../AIToolPolicy.md:68 |
| 132 | +msgid "" |
| 133 | +"The reason for our \"human-in-the-loop\" contribution policy is that " |
| 134 | +"processing patches, PRs, RFCs, and comments to LLVM is not free -- it takes " |
| 135 | +"a lot of maintainer time and energy to review those contributions! Sending " |
| 136 | +"the unreviewed output of an LLM to open source project maintainers " |
| 137 | +"*extracts* work from them in the form of design and code review, so we call " |
| 138 | +"this kind of contribution an \"extractive contribution\"." |
| 139 | +msgstr "" |
| 140 | + |
| 141 | +#: ../../../AIToolPolicy.md:75 |
| 142 | +msgid "" |
| 143 | +"Our **golden rule** is that a contribution should be worth more to the " |
| 144 | +"project than the time it takes to review it. These ideas are captured by " |
| 145 | +"this quote from the book [Working in Public][public] by Nadia Eghbal:" |
| 146 | +msgstr "" |
| 147 | + |
| 148 | +#: ../../../AIToolPolicy.md:81 |
| 149 | +msgid "" |
| 150 | +"\\\"When attention is being appropriated, producers need to weigh the costs " |
| 151 | +"and benefits of the transaction. To assess whether the appropriation of " |
| 152 | +"attention is net-positive, it's useful to distinguish between *extractive* " |
| 153 | +"and *non-extractive* contributions. Extractive contributions are those where " |
| 154 | +"the marginal cost of reviewing and merging that contribution is greater than " |
| 155 | +"the marginal benefit to the project's producers. In the case of a code " |
| 156 | +"contribution, it might be a pull request that's too complex or unwieldy to " |
| 157 | +"review, given the potential upside.\\\" \\-- Nadia Eghbal" |
| 158 | +msgstr "" |
| 159 | + |
| 160 | +#: ../../../AIToolPolicy.md:90 |
| 161 | +msgid "" |
| 162 | +"Prior to the advent of LLMs, open source project maintainers would often " |
| 163 | +"review any and all changes sent to the project simply because posting a " |
| 164 | +"change for review was a sign of interest from a potential long-term " |
| 165 | +"contributor. While new tools enable more development, it shifts effort from " |
| 166 | +"the implementor to the reviewer, and our policy exists to ensure that we " |
| 167 | +"value and do not squander maintainer time." |
| 168 | +msgstr "" |
| 169 | + |
| 170 | +#: ../../../AIToolPolicy.md:97 |
| 171 | +msgid "" |
| 172 | +"Reviewing changes from new contributors is part of growing the next " |
| 173 | +"generation of contributors and sustaining the project. We want the LLVM " |
| 174 | +"project to be welcoming and open to aspiring compiler engineers who are " |
| 175 | +"willing to invest time and effort to learn and grow, because growing our " |
| 176 | +"contributor base and recruiting new maintainers helps sustain the project " |
| 177 | +"over the long term. Being open to contributions and [liberally granting " |
| 178 | +"commit access][commit-access] is a big part of how LLVM has grown and " |
| 179 | +"successfully been adopted all across the industry. We therefore " |
| 180 | +"automatically post a greeting comment to pull requests from new contributors " |
| 181 | +"and encourage maintainers to spend their time to help new contributors learn." |
| 182 | +msgstr "" |
| 183 | + |
| 184 | +#: ../../../AIToolPolicy.md:110 |
| 185 | +msgid "Handling Violations" |
| 186 | +msgstr "" |
| 187 | + |
| 188 | +#: ../../../AIToolPolicy.md:112 |
| 189 | +msgid "" |
| 190 | +"If a maintainer judges that a contribution doesn't comply with this policy, " |
| 191 | +"they should paste the following response to request changes:" |
| 192 | +msgstr "" |
| 193 | + |
| 194 | +#: ../../../AIToolPolicy.md:120 |
| 195 | +msgid "" |
| 196 | +"The best ways to make a change less extractive and more valuable are to " |
| 197 | +"reduce its size or complexity or to increase its usefulness to the " |
| 198 | +"community. These factors are impossible to weigh objectively, and our " |
| 199 | +"project policy leaves this determination up to the maintainers of the " |
| 200 | +"project, i.e. those who are doing the work of sustaining the project." |
| 201 | +msgstr "" |
| 202 | + |
| 203 | +#: ../../../AIToolPolicy.md:126 |
| 204 | +msgid "" |
| 205 | +"If or when it becomes clear that a GitHub issue or PR is off-track and not " |
| 206 | +"moving in the right direction, maintainers should apply the `extractive` " |
| 207 | +"label to help other reviewers prioritize their review time." |
| 208 | +msgstr "" |
| 209 | + |
| 210 | +#: ../../../AIToolPolicy.md:130 |
| 211 | +msgid "" |
| 212 | +"If a contributor fails to make their change meaningfully less extractive, " |
| 213 | +"maintainers should escalate to the relevant moderation or admin team for the " |
| 214 | +"space (GitHub, Discourse, Discord, etc) to lock the conversation." |
| 215 | +msgstr "" |
| 216 | + |
| 217 | +#: ../../../AIToolPolicy.md:134 |
| 218 | +msgid "Copyright" |
| 219 | +msgstr "" |
| 220 | + |
| 221 | +#: ../../../AIToolPolicy.md:136 |
| 222 | +msgid "" |
| 223 | +"Artificial intelligence systems raise many questions around copyright that " |
| 224 | +"have yet to be answered. Our policy on AI tools is similar to our copyright " |
| 225 | +"policy: Contributors are responsible for ensuring that they have the right " |
| 226 | +"to contribute code under the terms of our license, typically meaning that " |
| 227 | +"either they, their employer, or their collaborators hold the copyright. " |
| 228 | +"Using AI tools to regenerate copyrighted material does not remove the " |
| 229 | +"copyright, and contributors are responsible for ensuring that such material " |
| 230 | +"does not appear in their contributions. Contributions found to violate this " |
| 231 | +"policy will be removed just like any other offending contribution." |
| 232 | +msgstr "" |
| 233 | + |
| 234 | +#: ../../../AIToolPolicy.md:146 |
| 235 | +msgid "Examples" |
| 236 | +msgstr "" |
| 237 | + |
| 238 | +#: ../../../AIToolPolicy.md:148 |
| 239 | +msgid "" |
| 240 | +"Here are some examples of contributions that demonstrate how to apply the " |
| 241 | +"principles of this policy:" |
| 242 | +msgstr "" |
| 243 | + |
| 244 | +#: ../../../AIToolPolicy.md:151 |
| 245 | +msgid "" |
| 246 | +"[This PR][alive-pr] contains a proof from Alive2, which is a strong signal " |
| 247 | +"of value and correctness." |
| 248 | +msgstr "" |
| 249 | + |
| 250 | +#: ../../../AIToolPolicy.md:153 |
| 251 | +msgid "" |
| 252 | +"This [generated documentation][gsym-docs] was reviewed for correctness by a " |
| 253 | +"human before being posted." |
| 254 | +msgstr "" |
| 255 | + |
| 256 | +#: ../../../AIToolPolicy.md:159 |
| 257 | +msgid "References" |
| 258 | +msgstr "" |
| 259 | + |
| 260 | +#: ../../../AIToolPolicy.md:161 |
| 261 | +msgid "Our policy was informed by experiences in other communities:" |
| 262 | +msgstr "" |
| 263 | + |
| 264 | +#: ../../../AIToolPolicy.md:163 |
| 265 | +msgid "" |
| 266 | +"[Fedora Council Policy Proposal: Policy on AI-Assisted Contributions " |
| 267 | +"(fetched 2025-10-01)][fedora]: Some of the text above was copied from the " |
| 268 | +"Fedora project policy proposal, which is licensed under the [Creative " |
| 269 | +"Commons Attribution 4.0 International License][cca]. This link serves as " |
| 270 | +"attribution." |
| 271 | +msgstr "" |
| 272 | + |
| 273 | +#: ../../../AIToolPolicy.md:167 |
| 274 | +msgid "[Rust draft policy on burdensome PRs][rust-burdensome]" |
| 275 | +msgstr "" |
| 276 | + |
| 277 | +#: ../../../AIToolPolicy.md:168 |
| 278 | +msgid "" |
| 279 | +"[Seth Larson's post][security-slop] on slop security reports in the Python " |
| 280 | +"ecosystem" |
| 281 | +msgstr "" |
| 282 | + |
| 283 | +#: ../../../AIToolPolicy.md:170 |
| 284 | +msgid "" |
| 285 | +"The METR paper [Measuring the Impact of Early-2025 AI on Experienced Open-" |
| 286 | +"Source Developer Productivity][metr-paper]." |
| 287 | +msgstr "" |
| 288 | + |
| 289 | +#: ../../../AIToolPolicy.md:172 |
| 290 | +msgid "[QEMU bans use of AI content generators][qemu-ban]" |
| 291 | +msgstr "" |
| 292 | + |
| 293 | +#: ../../../AIToolPolicy.md:173 |
| 294 | +msgid "[Slop is the new name for unwanted AI-generated content][ai-slop]" |
| 295 | +msgstr "" |
0 commit comments