Hudson

2005 - 2020
dead
a java continuous integration server that one engineer at sun wrote in 2005 and most of the java world ended up running. oracle inherited it along with sun and decided the name was an asset worth defending, so in january 2011 the developers voted to leave and took the code with them under a different one. hudson kept the trademark and jenkins kept the community. the eclipse foundation looked after what was left until the site went dark in january 2020.

~ the eulogy ~

Hudson is the program Jenkins used to be. That is most of the difficulty in writing about it, because the code that survived is the same code, and the thing that actually died is a name which in 2010 had most of the Java builds on earth attached to it.

Kohsuke Kawaguchi wrote it at Sun Microsystems and put the first release out on 7 February 2005. It was a web application you dropped into a servlet container, and it watched your source repository and ran your build every time somebody committed. Continuous integration existed before it, mostly as CruiseControl and mostly as XML files edited by hand. Hudson's contribution was that you could set up a job by clicking things in a browser, and that it took plugins, so anybody with a build tool nobody else used could still make it fit.

The plugin model is why it spread. By the end of the decade Hudson was the default answer to how a Java team ran its builds, and the update center serving those plugins was as much the product as the server was.

The build server I know by name from working life is Jenkins, and I met it already called that. Hudson is a stretch of the same tool's history I never had to touch, which is close to what the whole industry experienced after 2011. Everyone kept using it under a different name without ever having to think about the one it lost.

~ the dossier ~

Born7 February 2005, written at Sun Microsystems by Kohsuke Kawaguchi
Peakthe default answer for Java builds before the fork, later under 0.1% of the CI market
Killedhudson-ci.org and the update center went offline 31 January 2020
Lifespanjust under fifteen years
Made byKohsuke Kawaguchi at Sun, then Oracle, then the Eclipse Foundation
Killed bya trademark argument that cost it its own developers

~ the fork ~

Oracle finished buying Sun in January 2010 and inherited Hudson along with Java. Late that year the project's infrastructure kept failing and the community proposed moving the code to GitHub, which meant moving it off Oracle's servers. Oracle's answer was that it held the Hudson trademark and intended to keep control of the name. The argument ran through the end of 2010 without landing anywhere.

On 29 January 2011 the developers voted to rename the project and continue elsewhere. Kawaguchi went with them. The new name was Jenkins, chosen partly because it was another English butler and partly because it was not Hudson. Oracle kept the trademark and kept publishing releases, so for a while there were two continuous integration servers with one ancestry, one holding the name and one holding the people.

~ what oracle actually wanted ~

The trademark was never the asset, and Oracle worked that out slowly. In May 2011 it proposed handing Hudson to the Eclipse Foundation, and the transfer finished at the end of 2012. Hudson 3.0 arrived on 23 January 2013 as an Eclipse project, rebuilt on Eclipse infrastructure, with a plugin architecture reworked to be stricter than the one it had inherited.

It was a competent release and it landed two years after the audience had gone. Plugins are a network effect, and by 2013 anybody writing one wrote it for Jenkins. Hudson spent the rest of its life as the technically respectable option nobody had a reason to pick.

~ the long tail ~

The last Eclipse Hudson release was 3.4.0 on 2 September 2016. Development stopped after that, and the project was being described as obsolete by February 2017. The Eclipse Foundation ran its formal termination review on 20 February 2019 and recorded the outcome in one line: development had ceased, so the project would be terminated and archived. On 31 January 2020 hudson-ci.org went offline along with the update center, which is the point where a surviving installation stopped being able to fetch anything.

Jenkins now sits at something near half the continuous integration market and Hudson at well under a tenth of one percent, which is a strange way to measure a program that is still, in every way a compiler cares about, the same program. The fork did not win on technical merit. It won because the developers were the asset and the trademark was not, and Oracle spent a year finding that out in public.

~ leave a rose ~

an anonymous tribute. one rose per visitor per day.

@}-->-- ... roses left here

~ leave a wreath ~

a rose fades by morning. a wreath stays on this grave for good, with your name on it.

from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.

» one email a week: new graves and the anniversaries of the dead. subscribe

~ leave a note ~

visitors before you have left these graveside notes. anonymous welcome.

other software: Macromedia, Google Gears, Active Channel, Sourcetrail

also died in the 2020s: Sourcetrail, Kidzworld, Hungarian Spectrum

« previous  ·  random  ·  next »