452

It took me an hour or so to work out Hudson has only branched recently (Jan/2011)
I have no idea how rapid the change of each branch is now, but more importantly, what is the direction each branch is taking and what are key points so one could make a choice between which to go with?

Anybody have links to product roadmap and feature differences?

Jonik
  • 74,291
  • 66
  • 249
  • 356
Greg Domjan
  • 13,307
  • 6
  • 39
  • 59
  • 4
    what did you end up selecting between Jenkins vs Hudson? – chmullig Mar 21 '11 at 15:22
  • @chmullig - no firm decision yet. We have a number of projects using different servers (not shareing). Most remain Hudson at the moment, some are switched to Jenkins. No particular difference for our purposes yet so no urgency to pick. – Greg Domjan Mar 22 '11 at 01:20
  • @chmullig - I'm leaning toward Jenkins myself for future updates but I figure I'll wait until there is actually an update that I need so that I can defer the decision until later. I figure this way I can wait to see how it pans out. – jpierson Apr 12 '11 at 01:39
  • 110
    @Kev: I disagree, that this question is not constructive. It is not a debate like "x vs. y, which to prefer", but it is about a branch of Hudson, which is a very useful information. – tanascius Jan 09 '12 at 16:36
  • @tanascius - please feel free to bring this up on [meta] if you disagree. – Kev Jan 10 '12 at 17:01
  • @Kev, no it is OK, I just voted for reopen ... – tanascius Jan 10 '12 at 18:08
  • 10
    Yeah, this thread needs to be reopened for more up to date answers. – djangofan Sep 09 '13 at 17:47
  • 2
    @djangofan There was already a follow-up question one year on: http://stackoverflow.com/q/11433083/234938 — and now, a further year later, the situation is still the same. – Christopher Orr Oct 10 '13 at 09:12
  • @tanascius: I think you should bring your concern up on meta. – lpapp Dec 13 '13 at 04:11
  • 6
    I understand the dangerous nature of that type of question, but it seems to me that (i) it has brought up some very interesting information, (ii) has not started any kind of dispute and (iii) is legitimate for it is not easy to choose without this kind of information – lab419 May 13 '14 at 12:23
  • Please reword the question to fit the rules!!! Seriously, it seems like the worthwhile questionable questions are usually the ones to get zotted. – bvj May 24 '14 at 01:03
  • http://www.coderanch.com/t/622298/tools/Difference-Hudson-Jenkins – bvj May 24 '14 at 01:06
  • 3
    Since this question was asked and answered, Oracle decided to hand Hudson over to the Eclipse foundation. See https://eclipse.org/hudson/ for details. As of 2016-10-03 it appears a bit stale, and the promised 3.4.0 minor release is now a month late. According to http://git.eclipse.org/c/hudson/org.eclipse.hudson.core.git/stats?period=q&ofs=10 there has been a total of 10 commits in core Hudson in the first half of 2016 and none after that. It appears for all practical purposes to have been abandoned. – Thorbjørn Ravn Andersen Oct 03 '16 at 15:01
  • 1
    "closed as not constructive", and yet this question got 403 upvotes... – dr_ Jan 24 '17 at 09:10
  • This type of question belongs in https://softwarerecs.stackexchange.com/ – Ben Creasy Feb 06 '18 at 16:12
  • I disagree with Kev, this is indeed a very good question – learner May 12 '18 at 11:01

8 Answers8

504

Use Jenkins.

Jenkins is the recent fork by the core developers of Hudson. To understand why, you need to know the history of the project. It was originally open source and supported by Sun. Like much of what Sun did, it was fairly open, but there was a bit of benign neglect. The source, trackers, website, etc. were hosted by Sun on their relatively closed java.net platform.

Then Oracle bought Sun. For various reasons Oracle has not been shy about leveraging what it perceives as its assets. Those include some control over the logistic platform of Hudson, and particularly control over the Hudson name. Many users and contributors weren't comfortable with that and decided to leave.

So it comes down to what Hudson vs Jenkins offers. Both Oracle's Hudson and Jenkins have the code. Hudson has Oracle and Sonatype's corporate support and the brand. Jenkins has most of the core developers, the community, and (so far) much more actual work.

Read that post I linked up top, then read the rest of these in chronological order. For balance you can read the Hudson/Oracle take on it. It's pretty clear to me who is playing defensive and who has real intentions for the project.

Kelsius
  • 383
  • 1
  • 4
  • 18
chmullig
  • 12,106
  • 5
  • 32
  • 52
  • 10
    "most of the people behind it" - this seems to be true of the project founders, but it should be noted that Sonotype (Maven inc) have committed themselves to the Hudson side of the divide, with a raft of architectural changes in the pipeline. Will be interesting to see if team Jenkins still have enough inovation up their sleeves to retain the developer/user mindshare – magicduncan Feb 18 '11 at 09:59
  • 5
    @magic: At least based on [this brief comparison](http://daniel.gredler.net/2011/02/15/hudson-and-jenkins-two-weeks-later/), a fortnight after the split, Jenkins is by far more active. In any case, while [I'm with Jenkins](http://stackoverflow.com/questions/4973981/how-to-choose-between-hudson-and-jenkins/5054271#5054271), it's interesting to see what the Sonatype guys are up to. – Jonik Feb 19 '11 at 23:56
  • 14
    Here's [another update](http://daniel.gredler.net/2011/04/04/hudson-and-jenkins-two-months-later/) by the person who wrote @Jonik's brief comparison. This one is ~2 months later. – chmullig May 13 '11 at 17:34
  • 17
    And now five years later, Jenkins is thriving, and Oracle has dumped Hudson on the Eclipse elephant graveyard where it is but in name abandoned. – Thorbjørn Ravn Andersen Oct 14 '16 at 13:52
115

As chmullig wrote, use Jenkins. Some additional points:

...and a little background info:

The creator of Hudson, Kohsuke Kawaguchi, started the project on his free time, even if he was working for Sun Microsystems and later paid by them to develop it further. As @erickson noted at another SO question,

[Hudson/Jenkins] is the product of a single genius intellect—Kohsuke Kawaguchi. Because of that, it's consistent, coherent, and rock solid.

After the acquisition by Oracle, Kohsuke didn't hang around for long (due to lack of monitors...? ;-]), and went to work for CloudBees. What started in late 2010 as conflict over tools between the dev community and Oracle and ended in the rename/fork/split is well documented in the links chmullig provided. To me, that whole conundrum speaks, perhaps more than anything else, to Oracle's utter inability or unwillingness to sponsor an open-source project in a way that keeps all parties (Oracle, developers, users) happy. It's not in their DNA or something, as we've seen in other cases too.

Given all of the above, I would personally follow Kohsuke and other core developers in this matter, and go with Jenkins.

Community
  • 1
  • 1
Jonik
  • 74,291
  • 66
  • 249
  • 356
90

Just my take on the matter, three months later:

Jenkins has continued the path well-trodden by the original Hudson with frequent releases including many minor updates.

Oracle seems to have largely delegated work on the future path for Hudson to the Sonatype team, who has performed some significant changes, especially with respect to Maven. They have jointly moved it to the Eclipse foundation.

I would suggest that if you like the sound of:

  • less frequent releases but ones that are more heavily tested for backwards compatibility (more of an "enterprise-style" release cycle)
  • a product focused primarily on strong Maven and/or Nexus integration (i.e., you have no interest in Gradle and Artifactory etc)
  • professional support offerings from Sonatype or maybe Oracle in preference to Cloudbees etc
  • you don't mind having a smaller community of plugin developers etc.

, then I would suggest Hudson.

Conversely, if you prefer:

  • more frequent updates, even if they require a bit more frequent tweaking and are perhaps slightly riskier in terms of compatibility (more of a "latest and greatest" release cycle)
  • a system with more active community support for e.g., other build systems / artifact repositories
  • support offerings from the original creator et al. and/or you have no interest in professional support (e.g., you're happy as long as you can get a fix in next week's "latest and greatest")
  • a classical OSS-style witches' brew of a development ecosystem

then I would suggest Jenkins. (and as a commenter noted, Jenkins now also has "LTS" releases which are maintained on a more "stable" branch)


The conservative course would be to choose Hudson now and migrate to Jenkins if must-have features are unavailable. The dynamic course would be to choose Jenkins now and migrate to Hudson if chasing updates becomes too time-consuming to justify.

Zac Thompson
  • 11,645
  • 40
  • 55
48

Up front .. I am a Hudson committer and author of the Hudson book, but I was not involved in the whole split of the projects.

In any case here is my advice:

Check out both and see what fits your needs better.

Hudson is going to complete the migration to be a top level Eclipse projects later this year and has gotten a whole bunch of full time developers, QA and others working on the project. It is still going strong and has a lot of users and with being the default CI server at Eclipse it will continue to serve the needs of many Java developers. Looking at the roadmap and plans for the future you can see that after the Maven 3 integration accomplished with the 2.1.0 release a whole bunch of other interesting feature are ahead.

http://www.eclipse.org/hudson

Jenkins on the other side has won over many original Hudson users and has a large user community across multiple technologies and also has a whole bunch of developers working on it.

At this stage both CI servers are great tools to use and depending on your needs in terms of technology to integrate with one or the other might be better. Both products are available as open source and you can get commercial support from various companies for both.

In any case .. if you are not using a CI server yet.. start now with either of them and you will see huge benefits.

Update Jan 2013: After a long process of IP cleanup and further improvements Hudson 3.0 as the first Eclipse foundation approved release is now available.

Manfred Moser
  • 28,342
  • 13
  • 87
  • 120
38

Jenkins is the new Hudson. It really is more like a rename, not a fork, since the whole development community moved to Jenkins. (Oracle is left sitting in a corner holding their old ball "Hudson", but it's just a soul-less project now.)

C.f. Ethereal -> WireShark

Nathan Kidd
  • 2,799
  • 18
  • 22
  • What do I have to do with my running Hudson Build server? I guess it will not automatically update to the new Jenkins fork/branch/rename. Do I have to setup the build server from scratch? – Michael Küller Feb 11 '11 at 21:24
  • 4
    You can "upgrade" to Jenkins just like you used to upgrade from one version of Hudson to another. – nrobey Feb 12 '11 at 03:21
  • I am currently running Hudson 1.395. Currently it doesn't show my available updates. Is the update that makes the name change coming up later? – Michael Küller Feb 14 '11 at 08:32
  • 3
    No, Hudson (Oracle) won't[1] ever give an update to Jenkins; if Oracle were willing to work with the community there wouldn't have been a split in the first place. [1] Barring pigs flying, Mr. Ellison becoming your kind friendly neighbour, etc. – Nathan Kidd Feb 23 '11 at 15:37
  • 8
    See here: http://wiki.jenkins-ci.org/display/JENKINS/Upgrading+from+Hudson+to+Jenkins for how to add Jenkins to Hudson's upgrade centre. – Simon D Mar 03 '11 at 16:42
  • @NathanKidd +1 for "C.f. Ethereal -> WireShark". That really clarifies. Thanks – Mawg says reinstate Monica May 21 '13 at 02:01
27

I've got two points to add. One, Hudson/Jenkins is all about the plugins. Plugin developers have moved to Jenkins and so should we, the users. Two, I am not personally a big fan of Oracle's products. In fact, I avoid them like the plague. For the money spent on licensing and hardware for an Oracle solution you can hire twice the engineering staff and still have some left over to buy beer every Friday :)

Tim Fulmer
  • 8,992
  • 4
  • 22
  • 32
  • 1
    Because of all the plugins one Jenkins can be quite different than the other, and also different from the next time you install it. – bbaassssiiee Jan 21 '14 at 05:59
4

From the Jenkins website, http://jenkins-ci.org, the following sums it up.

In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 300 plugins to support building and testing virtually any project.

Oracle now owns the Hudson trademark, but has licensed it under the Eclipse EPL. Jenkins is on the MIT license. Both Hudson and Jenkins are open-source. Based on the combination of who you work for and personal preference for open-source, the decision is straightforward IMHO.

Hope this was helpful.

icedwater
  • 4,280
  • 3
  • 31
  • 47
thirumalaa srinivas
  • 3,160
  • 1
  • 14
  • 5
4

For those who have mentioned a reconciliation as a potential future for Hudson and Jenkins, with the fact that Jenkins will be joining SPI, it is unlikely at this point they will reconcile.

Chad Wilson
  • 123
  • 3