Skip to content

Build1 publisher3 min readPublished

OpenJDK's AI policy draws the line at whether a model wrote any part of a contribution

OpenJDK's interim AI policy, approved April 9, bars contributions with even one line of model-generated content but lets AI read and debug code. Java teams that contribute upstream have to sort their tools by the model behind them.

The Engineer · Build desk

What happened

  • The policy FAQ asks whether 100 AI-generated lines can be contributed after ten are edited by hand, and answers with a flat no.
  • Banned content covers text and images as well as code, across Git repositories, pull requests, email, wiki pages and Java Bug System issues.
  • Spell-checking, grammar-checking, auto-completion and refactoring tools remain allowed as long as they are not built on large language models.
  • Enforcement runs through Skara, OpenJDK's pull request tooling, which adds a compliance checkbox that every contributor must tick.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • cost Teams that work with coding agents need a separate hand-written path for anything sent upstream, with bug reports and mailing-list posts held to the same standard as patches.
  • constraint Agent-driven contribution pipelines are shut out of every OpenJDK project channel, since an autonomous agent cannot file even an issue.
  • exposure Compliance rests on each contributor's signed word, so a false tick exposes the individual whose name is on the pull request.

The policy sorts a tool on two tests: whether its output enters the project, and whether a large language model or similar deep-learning system produced it [2][11]. Reading passes the first test. Contributors may use generative AI privately to comprehend, debug and review OpenJDK code and to research changes [9]. The FAQ says analysis of existing code is where these tools perform best on large, established codebases [9]. A model may also review a draft JEP or JavaDoc, provided every submitted word is the contributor's own [10]. The author of a dev.to analysis of the policy wrote: "AI may read, but AI may not write anything that enters the project." [13]

The second test attaches to the model, so a feature's label settles nothing [11]. A completion engine passes or fails on what generates its suggestions. In the dev.to author's reading, classic IDE refactoring is welcome and Copilot-style completions do not belong in the jdk checkout [12].

The rule is one sentence: "Contributions in the OpenJDK Community must not include content generated, in part or in full, by large language models, diffusion models, or similar deep-learning systems." [2] In the FAQ's example, 90 of the 100 lines would reach a reviewer exactly as the model wrote them [1]. The analysis found no percentage threshold and no substantial-transformation test, and puts the bar for write-path AI at one line [4]. Scope is the whole OpenJDK Community, so every project channel is covered, not only the JDK repository [6].

The policy says reliably distinguishing human-generated from AI-generated content is impossible [8]. I think that admission is the best engineering in the document. It does not pretend to have a detector, and it puts the claim on a named person through a checkbox in Skara [7]. The dev.to author wrote: "Tick it falsely and the liability trail points at you." [14]

The policy lists three risks: reviewer burden, safety and security, and intellectual property [15]. The dev.to analysis argues that reviewer burden does not explain banning AI-written bug-report prose [16]. By that account, the safety argument holds for any mature project, yet most such projects stopped short of an outright ban [16]. Intellectual property, tied to the Oracle Contributor Agreement, is the risk the analysis says best explains the breadth [17]. Its author says they have never contributed to OpenJDK and are not a lawyer [18]. In my view the read/write split fits an IP rationale. A model that only reads JDK code adds nothing to the tree whose provenance a contributor has to vouch for.

The Hacker News headline that carried the story said Oracle banned AI-generated code, and it drew 536 points and 381 comments [19]. The dev.to author described the thread as people arguing about a policy most of them had apparently not read [19]. The OpenJDK Governing Board approved it [1].

What to watch

  • Whether the Governing Board replaces the interim policy with a permanent one, and whether that version keeps the one-line bar on write-path AI.
  • Whether the FAQ adds rulings on LLM-based spell-checkers and completion engines that sit inside the editors contributors already use.
  • What the Oracle Contributor Agreement requires on provenance, which the dev.to analysis treats as the reason the ban is so broad.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories