Early in 2015, two engineers at AppNexus, Matt Kendall and Paul Yang, worked with Nick Jacob at a publisher called Aplus on a piece of JavaScript that solved an unglamorous problem. Publishers wanted several exchanges to bid on an impression before their ad server saw it. Every exchange had shipped its own way of doing that, which meant a publisher adding a fourth demand partner was editing page code and hoping the timeouts still lined up. The code the three of them wrote became Prebid.js (Prebid.org). It was not a policy intervention. It was an interface.
Ten years later, the United States Department of Justice asked a federal court to require Google to open-source the final auction logic inside its publisher ad server, as part of the remedy for monopolization (AdExchanger, 2025). The two events are not the same thing, and pretending otherwise flatters both. They do sit close enough together to raise a question worth taking seriously: when the industry has already demonstrated that shared code plus neutral governance can restore competition to a chokepoint, what exactly is a court adding?
The Problem Prebid Solved Was a Governance Problem
The mechanic that made header bidding necessary is the subject of The Last Look. The short version is that dynamic allocation let AdX see the price to beat inside Google’s ad server, and rival exchanges got a passback tag instead. Header bidding moved the auction into the browser, ahead of the ad server call, so that the number AdX had to beat was a real competing bid rather than an internal estimate.
The technical fix was straightforward enough that multiple vendors built it independently. That was precisely the problem. Each wrapper was proprietary, which meant that whoever controlled a publisher’s wrapper controlled the order in which demand partners were called, the timeout each partner got, and which partners were available at all. A publisher escaping one company’s structural advantage in the ad server could easily walk into a different company’s structural advantage in the header. Prebid.js was written to make the wrapper layer boring: one adapter interface, one auction loop, one configuration file, no privileged position for the company that wrote it.
That is the part worth naming precisely. Prebid did not add a capability that nobody had. It removed a control point.
AppNexus Gave It Away on Purpose
AppNexus built Prebid.js and then concluded the project was too important to be owned by any one company. In September 2017 the code moved to Prebid.org, an independent organization funded by member dues and chartered to promote fair, transparent, and efficient header bidding across the industry (Prebid.org). Governance moved to product management committees rather than a vendor roadmap. Matt Kendall, who co-wrote the original code, went on to chair the Prebid.js committee (PRWeb, 2019).
The commercial logic was not charity. AppNexus was an exchange, and an exchange competing against a rival with last look benefits enormously from an industry-standard mechanism that neutralizes last look. Handing the wrapper to a foundation made adoption easier for publishers who would never install infrastructure controlled by one of their demand partners, and easier for competing exchanges who would never write adapters for a competitor’s proprietary stack. Neutrality was the feature that made the thing spread.
The structure also survived the corporate churn around it. AppNexus was acquired by AT&T and became Xandr, then was sold to Microsoft. Prebid did not move with it. That is what a foundation buys: the code outlives the sponsor’s cap table (AdMonsters).
What began as one browser script grew into a family. Prebid Server moved the same auction logic server-side for publishers who could not afford the browser latency. Prebid Mobile and the Prebid SDK extended it to apps. The pattern held throughout: a shared reference implementation, adapters contributed by the companies that wanted to be called, and no single vendor holding the sequencing decision.
The governance detail that makes this work, and that gets lost when people describe Prebid as simply open source, is that the adapters are contributed by the demand partners themselves. An exchange that wants publishers to call it writes and maintains its own adapter against a public interface. The foundation does not have to evaluate whether a partner deserves inclusion, and no partner has to trust a competitor with its integration code. Membership dues fund the shared infrastructure, testing, and the release process rather than a product roadmap that any single member controls. That structure is unremarkable in software and almost unheard of at a market chokepoint, which is why it is worth studying as a competition mechanism rather than only as a project.
The Layer Prebid Could Reach, and the Layer It Could Not
It is worth being exact about the boundary, because the boundary is the whole argument of this chapter.
The header is page code. A publisher owns its own pages, can put whatever JavaScript it likes in them, and can change the order of calls at will. That is why an industry consortium could fix the wrapper layer without anybody’s permission. The ad server is a hosted product. A publisher on DFP could configure line items, set priorities, and define pricing rules, but could not inspect how the final allocation decision was computed, could not verify the reported clearing price against the bids actually received, and after 2019 could not price differently against different exchanges. Every one of those constraints lived on the far side of a product boundary that no amount of open-source enthusiasm could cross.
So the industry did the thing it was able to do, at real cost, and stopped precisely where the code stopped being writable. Publishers ran Prebid in the header, Open Bidding in the server, and reconciled the two against a revenue report they had to take on faith. That is not a market that solved its problem. It is a market that solved the part of its problem it had standing to solve.
The DOJ Arrives at the Same Idea, With Subpoena Power
In April 2025, Judge Leonie Brinkema found Google liable for monopolizing the open-web publisher ad server market and the open-web display ad exchange market, and for unlawfully tying DFP to AdX (Simpson Thacher, 2025). That put the case into a remedies phase, where the argument stopped being about what Google did and became about what a court can practically order.
The DOJ’s proposal combined structural and behavioral elements: divestiture of AdX on a defined timeline, open-sourcing the ad server’s final auction logic, and divestiture of the remainder of DFP if the first two proved insufficient (Digiday, 2025). Google countered with behavioral commitments and interoperability undertakings rather than a sale (AdExchanger, 2025).
The open-source component is the one that echoes 2015. The final auction logic is, in plain terms, the code that decides why a given impression went to a given buyer at a given price. Publishing it would make it possible for a publisher to verify that decision rather than accept a report of it, and would lower the cost of building a competing ad server, since the hardest part of matching DFP is not serving creative but reproducing auction behavior that thousands of campaigns are already tuned against (Public Knowledge, 2025).
Judge Brinkema has been openly skeptical that behavioral commitments can do the work, describing a preference for remedies that are less window dressing, while also probing whether there is a credible buyer for AdX at all and what happens to publishers who currently get the exchange bundled at no separate cost (Digiday, 2025). A final remedies order has been expected in 2026. The competing remedy theories, including how the European Commission’s approach differs, are worked through in Remedies.
Prebid Showed Up at Trial as Evidence for Both Sides
Prebid was not a bystander in the litigation. Google’s defense leaned on it: header bidding exists, publishers use it, rival exchanges get bids in, therefore the market is contested. Publisher witnesses used the same facts in the opposite direction. Header bidding was not a market working, it was a market paying an engineering tax to route around a chokepoint, and adoption proved the chokepoint was real (AdExchanger, 2024).
Both readings are partly right, which is why the comparison in this chapter has to be handled carefully. Prebid did restore competition at the layer it touched. It did not restore competition at the layer beneath it. A publisher on Prebid still ran DFP as the ad server, still could not audit the final allocation decision, and still had no bidder-specific floor to price against AdX after 2019. The industry solved the part of the problem that was solvable with code it was allowed to write. The rest sat inside a binary nobody outside Google could read.
What a Court Can Do That a Foundation Cannot
The honest version of the comparison looks like this.
| Prebid.js and Prebid.org | DOJ’s open-source proposal | |
|---|---|---|
| Origin | industry engineers, early 2015 | government remedy filing, 2025 |
| Target | the wrapper layer publishers already controlled | auction logic inside a product publishers do not control |
| Mechanism of adoption | voluntary, driven by publisher self-interest | court order following a liability finding |
| Governance | dues-funded foundation, product committees | to be specified by the court, then supervised |
| What it fixes | who gets called, in what order, with what timeout | why a given impression was awarded at a given price |
| What it cannot fix | ownership of the ad server or the exchange | the incentive to own both, absent divestiture |
The category difference is consent. Prebid worked because the companies that adopted it wanted the outcome, and because the layer in question was one publishers could legally rewrite. The final auction logic is not that layer. No amount of industry goodwill produces it, which is why it took a monopolization finding to put it on the table.
There is also a real risk the comparison understates. Critics of the DOJ proposal have argued that open-sourcing a live auction implementation creates its own problems, from gaming by sophisticated bidders to freezing the code against improvements, and that mandated technical disclosure has a poor track record as a competition remedy (ITIF, 2025). Prebid did not face that objection, because it was a reference implementation for a coordination problem rather than a disclosure of a dominant firm’s pricing engine.
So the answer to whether regulators are catching up to what the market already proved is: partly, and about ten years late, on the narrow question of whether shared code and neutral governance can reduce a chokepoint’s value. The market proved that. The market also proved the limit of the method, which is that you cannot open-source something you cannot see, and the code that mattered most was on the other side of a product boundary. Whether the fee that boundary protects ever moved is the subject of The 20% That Never Moved.
Key Sources
| Source | Author/Org | Year | Link | Why it matters |
|---|---|---|---|---|
| About Prebid.js for Header Bidding | Prebid.org | current | docs | Primary record of authorship in early 2015 by Kendall, Yang, and Jacob |
| What is Prebid.org? | Prebid.org | current | docs | States the September 2017 formation and the independent, dues-funded charter |
| Ad Ops Decoder: What Is Prebid.org? | AdMonsters | current | article | Explains why AppNexus concluded the project should not be vendor-owned |
| Blockthrough Names Prebid.js Co-Creator Matt Kendall as Head of Engineering | PRWeb | 2019 | release | Confirms Kendall’s co-authorship and his Prebid.js committee chair role |
| District Court Rules Google Is a Monopolist in Ad Tech | Simpson Thacher | 2025 | analysis | Summarizes exactly which markets Brinkema found monopolized and the tying holding |
| The DOJ And Google Sharpen Their Remedy Proposals | AdExchanger | 2025 | article | Source for the open-source final auction logic request alongside AdX divestiture |
| The Rundown: What Google and the DOJ Are Proposing | Digiday | 2025 | article | Side-by-side of the structural and behavioral proposals |
| How DOJ’s Proposed Ad Tech Remedies Could Do What the Court Would Not | Public Knowledge | 2025 | analysis | Argues open-sourcing lowers switching costs and ad server entry barriers |
| The DOJ’s Problematic Remedies Proposal in the Google Ad Tech Case | ITIF | 2025 | blog | The strongest published objection to mandated auction-logic disclosure |
| DOJ vs. Google, Day Five Rewind: Prebid Reality Check | AdExchanger | 2024 | article | Shows both sides using Prebid’s existence as evidence at trial |
PM Lens
Papers referenced
- About Prebid.js for Header Bidding Prebid.org · 2025
- What is Prebid.org? Prebid.org · 2025
- Ad Ops Decoder: What Is Prebid.org? AdMonsters · 2018
- Blockthrough Names Prebid.js Co-Creator Matt Kendall as New Head of Engineering PRWeb · 2019
- District Court Rules Google Is a Monopolist in Ad Tech Simpson Thacher · 2025
- The DOJ And Google Sharpen Their Remedy Proposals As The Two Sides Prepare For Closing Arguments AdExchanger · 2025
- Google's Proposed Fix To Its Ad Tech Monopoly Is At Odds With The DOJ's Remedies AdExchanger · 2025
- The Rundown: What Google and the DOJ are proposing for ad tech antitrust remedies Digiday · 2025
- Google's ad tech antitrust remedy phase explained, and where the Judge might land Digiday · 2025
- How DOJ's Proposed Ad Tech Remedies Could Do What the Court Would Not in Online Search Public Knowledge · 2025
- The DOJ's Problematic Remedies Proposal in the Google Ad Tech Case ITIF · 2025
- DOJ vs. Google, Day Five Rewind: Prebid Reality Check, Unfair Rev Share And Jedi Blue (Sorta) AdExchanger · 2024