On 29 January 2011 the Hudson community voted 214 to 14 to rename the project Jenkins, cutting it loose from the infrastructure and the trademark held by Oracle (proposal of 11 January). The first release under the new name — Jenkins 1.396, derived straight from Hudson 1.395 — has just shipped. The code had always carried a free licence; what broke was everything else.
Context
Hudson is a continuous integration server written in Java by Kohsuke Kawaguchi at Sun Microsystems, from 2005 onwards. Over the years it became the most widely used open source CI tool: a plugin architecture, distributed master/slave builds, a bare web interface, integration with the main Java build tools. The licence is MIT, so anyone can copy, modify and redistribute the source.
In January 2010 Oracle closed its acquisition of Sun. Hudson landed under Oracle along with the rest of the Sun portfolio, and with it the assets around the project that the code licence does not cover: the “Hudson” trademark and the hosting on java.net.
The problem
The friction arose on ground the MIT licence does not touch: where the project lives, and what it is called.
In autumn 2010 the committers ran into repeated trouble with the java.net infrastructure. An internal migration towards the Kenai system left developers without access to the repository for some time; the notice sent to Kawaguchi had gone to an address that no longer existed, and no one else had been told (Kawaguchi, 23 November 2010). The community discussed it on the mailing list and decided to move the source to GitHub and the lists to Google Groups and Nabble, with no serious objection for nearly a week.
Oracle treated that move as a fait accompli decided behind its back. From there the discussion narrowed to two explicit claims:
- Trademark. Oracle stated that it owned the “Hudson” trademark, which had come with the rest of Sun (“We do however own the trademark to the name”, thus Oracle’s Ted Farrell in The Register, 1 December 2010). Using the name outside the perimeter Oracle set therefore fell under its control.
- Governance. Oracle wanted to bring the infrastructure back onto its own servers and keep the final word on project decisions. The community wanted a model in which technical choices did not go through the vendor’s permission.
The knot is that neither point sits in the code. You fork the source whenever you like; the registered name and the machine that hosts the official site, you cannot.
The architecture of the separation
The proposal of 11 January 2011 lined up three distinct moves, each aimed at a specific dependency on Oracle.
The first is the name. Renaming to Jenkins removes the trademark claim at its root: if Oracle controls “Hudson”, the community simply stops using that string. Kawaguchi would register “Jenkins” with the intent of transferring the trademark to a third-party body — the Software Freedom Conservancy — once the project was admitted. Here is the point: the trademark stays not with a person or a company, but with an organisation whose whole reason to exist is to hold the assets of open source projects.
The second is the infrastructure. Source already on GitHub, lists already on Google Groups and Nabble: no critical part of the project would any longer depend on machines a single party could switch off or reconfigure.
The third is governance. An interim board of three members (Andrew Bayer, Kohsuke Kawaguchi, and a seat offered to an Oracle representative) for the next three to six months, with a commitment to settle a stable model and call elections. The proposal went to a community vote after Oracle had put forward its counter-proposal; the result was 214 to 14 in favour of the fork.
The critical point
An open source licence guarantees the right to fork the code. It does not guarantee that the fork can keep the original’s name, nor that it stays reachable at the address users know.
Hudson was MIT, but “Hudson” as a trademark and hudson as a project on java.net were not. These are axes of control separate from the licence, and they are exactly the ones the dispute turned on. A vendor that owns the name and the hosting can leave the source free and still keep a heavy lever: it decides who can call their release “official”, and where new users end up when they look for the project.
The community resolved it by deliberately giving up the one thing Oracle genuinely owned — the name — and rebuilding everything else around it on foundations no single party controls. The price is not small: changing the name means burning five years of recognition and realigning documentation, plugins, bookmarks and search results.
Implications
For anyone assessing an open source project, the code licence is a necessary but not sufficient condition. It is worth checking three further properties the licence does not cover:
- Trademark — who owns it, and whether it sits with a neutral body or a single commercial party.
- Infrastructure — who controls the servers that host source, artefact repositories, site and lists, and whether the community could rebuild them elsewhere within a reasonable time.
- Decision process — who has the final word on releases and on accepting contributions, and whether that power is written down somewhere or held in practice by a sponsor.
When these three properties concentrate in the same party that owns the trademark, the freedom the licence grants holds only until that party decides to pull the other levers. The model the community chose — trademark with a third-party body, distributed infrastructure, a board with a stated process — keeps these axes explicitly separate.
Limits
A few days after the first release it is early to say how it will turn out. Jenkins starts with the majority of the committers, the plugin ecosystem and the original author; Hudson stays with Oracle, which maintains it is continuing development and considers Jenkins the fork, not the other way round. Which of the two keeps relevance will become clear over the months, and will depend on where the real activity migrates: contributions, plugins, installations.
The Jenkins board is avowedly interim, and the transfer of the trademark to the Conservancy remains an intent, not yet a fact. The separation described here is the design; how well it holds will be measured against the concrete decisions of the next releases, not against today’s intentions.
https://www.jenkins.io/blog/2011/01/11/hudsons-future/ https://www.jenkins.io/blog/2010/11/30/whos-driving-this-thing/ https://www.jenkins.io/blog/2010/11/23/java-net-migration-status-update/ https://www.theregister.com/2010/12/01/oracle_owns_hudson/ https://www.theregister.com/2011/01/11/hudson_renamed_jenkins/ https://blog.csanchez.org/2011/01/25/hudson-and-jenkins-can-brands-and-trademarks-affect-an-open-source-project/ https://www.noze.it/en/insights/jenkins-fork-hudson/
Cover image: Jenkins logo: a stylized butler mascot with a moustache and bow tie, symbol of the continuous integration server — logo by The Jenkins project, CC BY-SA 3.0 — https://commons.wikimedia.org/wiki/File:Jenkins_logo.svg