Skip to content
System nominalUTC --:--:--Articles 080
Regulation 7 min read

Ninth Circuit: Copilot's Output Is Not a Copy

The Ninth Circuit affirmed dismissal of the DMCA claim against GitHub, Microsoft and OpenAI, while the open-source licence claims survive in district court.

Cover graphic for: Ninth Circuit: Copilot's Output Is Not a Copy

GitHub, Microsoft and OpenAI have won the part of Doe v. GitHub that would have been most expensive to lose. On 16 September the Ninth Circuit affirmed the dismissal of the plaintiffs' claim under section 1202(b) of the Digital Millennium Copyright Act, holding that Copilot's suggestions are not copies with copyright management information stripped out of them. Writing for the panel, Judge Eric Miller read "remove or alter" to require an affirmative act on something that already exists, and Copilot generates a new work rather than retrieving a stored file.

The claim that survives is the one built on open-source licence terms. The plaintiffs' breach-of-contract theory stays alive in the district court, which means the exposure this case creates has not gone away. It has moved from a statutory damages claim under the DMCA to a contract claim about the conditions attached to the code Copilot was trained on.

The missing ingredient is a copy

Section 1202(b) prohibits removing or altering copyright management information, the title, author, copyright notice and terms-of-use metadata that travels with a work. The plaintiffs' theory was that Copilot emits code without the licence header or attribution that accompanied the original, and that each suggestion therefore violates the statute separately. The appeal turned on whether that is the right description of what Copilot does.

The panel concluded it is not. Two of the verbs in the statute are "remove" and "alter", and both presuppose a thing that exists before the act. Copilot does not hold a library of files and hand one back minus its header. It produces a completion. There is no stored copy with metadata on it at the moment of generation, so there is nothing for the model to have removed, and the claim fails at the definition rather than at the evidence.

That is a narrower ruling than "AI output does not infringe copyright", and the court said so. The opinion did not decide whether AI outputs infringe copyright at all. It also warned that minor cosmetic edits will not save a defendant who reproduces a work wholesale, which is the caveat that keeps the substantial-similarity question open for another day and another plaintiff.

The caveat is not decorative. A defendant could read this opinion as permission to reproduce a file and rename a variable, and the panel closed that door in advance. If the output is the original work with trivial changes, the analysis moves to infringement, where the absence of a stored file is no defence at all.

Nor did the court have to decide where a copy lives. Nothing in the reported analysis of the opinion addresses whether a model's weights contain a retrievable copy of a specific repository, and the panel did not reach the question. A theory of that kind would be argued as reproduction rather than as metadata stripping, and it would be decided under a different section of the statute.

What the court did accept is that a generated string can be identical to protected expression and still fall outside section 1202(b), because the statute targets an act performed on a copy rather than the similarity of an output. The plaintiffs' best answer was that this reading lets a defendant escape the metadata provision by generating text instead of copying a file. The panel's response was structural: the same conduct can infringe copyright, and the remedy for that sits in the infringement provisions rather than in the metadata provision.

Two damage ceilings, and why the difference matters

Statutory damages for ordinary copyright infringement cap at $30,000 per work, while section 1202 carries up to $25,000 per violation. The distinction that made the DMCA theory attractive is that "per violation" is not "per work". A model that emits a stripped snippet on thousands of occasions can be characterised as committing thousands of violations of one work, and that arithmetic produces numbers a class action can be built around. A per-work measure does not.

So the immediate effect of the decision is to close an aggressive route to multiplied statutory damages against code generators in the Ninth Circuit. The plaintiffs can still pursue infringement, but they have to do it work by work, with the ownership and substantial-similarity problems that entails. The court left the contract claims untouched.

There is a class action dimension to that. A per-work measure rewards a plaintiff who owns a large number of works and limits a plaintiff who owns a few that were reproduced many times. A per-violation measure does the opposite, and it is the second shape that suits a case brought on behalf of many part-time maintainers who each own one or two files. Closing the per-violation route does not only reduce a number; it changes which kinds of plaintiff can finance a case.

The panel also leaned on a Fifth Circuit decision issued on 21 August 2026 that reached a similar conclusion. Two circuits agreeing is the beginning of a settled rule rather than a single district court's view, though only the Ninth Circuit's decision binds courts within the Ninth Circuit.

The input theory was forfeited, not rejected

The plaintiffs had a second version of the same claim: that copyright management information was stripped during training, on the way in rather than on the way out. The Ninth Circuit did not reach the merits. The theory was forfeited because the plaintiffs failed to correct the district court's repeated statements that the case was not about training.

Forfeiture is a procedural outcome, and it is worth being precise about what it does and does not establish. The appellate court has not held that stripping metadata during training is lawful. It has held that this plaintiff did not preserve the argument in the right court at the right time. A different plaintiff, presenting the input theory cleanly from the first filing, is not bound by this disposition, and there is no appellate holding here to cite against them.

That is the gap worth watching. The training-stage question is the same one at issue in the separate line of cases about crawling and dataset construction, and it remains undecided in the Ninth Circuit by this opinion.

The contract claims are where the money now is

Open-source licences are conditions, not permissions in the abstract. If a licence requires attribution or requires derivative works to carry the same terms, and a tool trained on that code produces output without them, the licensor's argument is that the conditions were breached. That is a contract claim, and it does not need a copy, a registration or a statutory damages calculation.

The remedies are also different. A breach claim can support damages measured by the harm caused, and in the right case an injunction requiring the behaviour to change. It does not come with the statutory multiplier of the DMCA, which makes it less dramatic and, for many plaintiffs, more durable.

For anyone shipping a code assistant, the practical exposure has therefore shifted to licence compliance rather than to the copying statute. The question a court will ask is not whether the model stored a file, but what the training corpus's licences required of derivative works and whether the product honours them.

What to check in your own pipeline

Start with the licence inventory. If you cannot say which licences cover the code in your training data, and which of them carry attribution or copyleft conditions, you have the same fact pattern the surviving claims describe.

Then look at your output path. If your tool accepts a suggestion from a repository under a licence with an attribution requirement, does anything in the product preserve that attribution? Filters that block verbatim reproduction of long passages are a different control from one that tracks which licence a near-match came from, and only the second addresses a contract claim.

Keep the provenance records. In a contract dispute, the useful evidence is what the licence said, when you acquired the code and what your system did with it. None of that survives on its own unless you collected it before the complaint arrived.

Read the licence text as an obligation rather than a disclaimer. Most permissive licences impose a notice requirement that only bites when a substantial portion of the work is redistributed, and a model that emits a function is usually not that. Copyleft licences go further and attach conditions to derivative works, which is where the argument becomes a question about what the product is rather than what it produced on one occasion. Answering that question for your own pipeline is cheaper than answering it in discovery.

Finally, diarise the district court. The contract claims are pending, and the next substantive ruling on them will say more about the cost of shipping a code assistant than this opinion did. The appellate decision settles the DMCA question in the Ninth Circuit; it does not settle the case.

Primary sources

More from the wire