Saturday, March 12, 2011

Jenkins vs. Hudson - Time to Upgrade!

As I wrote a month ago, there was a lot of emotion around the Jenkins - Hudson split, but the reality is they are two separate projects. The purpose of this blog is to look at what has transpired over the past month and a half and how it is obvious why Hudson users should upgrade to Jenkins.

It was triggered by a company wanting input on whether they should go down the Hudson or Jenkins route. They had talked with Jason at Sonatype to get the Hudson version and they wanted to talk with KK and others for the Jenkins side. I put together a bunch of data (mostly collected from others) and thought I would share it.

Here are the reasons why Jenkins will win:

Jenkins Developers
If you liked Hudson, you will like Jenkins. The developers who wrote 99% of the core are now writing Jenkins. This includes Kohsuke Kawaguchi, the original creator of Hudson. And of course it is built on the same base. We think this will lead to more stability, better bug crushing and more new features faster. In addition, we have seen an increase of contributions to Jenkins from more people since the split.

Jenkins Governance
There is a very open community managing the Jenkins project. There is an independent board with long time Hudson developers from multiple companies including Yahoo, CloudBees, CloudEra and Apture. They hold regular and fully open governance meetings and post notes after each meeting for public comment. They are also in the process of donating all the code to the Software Freedom Conservancy to assure continued openness of this community.

Jenkins Stability
One of the unique features of Jenkins has been KK's well known weekly schedule of releases. The project recently passed release 1.400 (yes 5 releases since the 1.395 split at the end of January)! Since the split happened there have been over 30 bug fixes to Jenkins. The project board and community have also decided to announce a stable release approximately every 3 months. The stable release will get patches. This will fit more users requirements for not upgrading on a weekly basis.

Plug-Ins Move to Jenkins as Primary Platform
Jenkins now has 345 plug-ins - here is a list and here are the pointers to Github. There was a very good research blog done a couple of weeks ago showing how the Plug-In developer community has moved to Jenkins. Jenkins has become the primary platform for 5 of the top 5 and 19 of the top 25 plug-ins (View the raw data here). There was that rash of departures from Hudson that demonstrates this as well. More data on the moves here and here.

Community Activity
Clearly the community activity has moved to Jenkins. Most of the users on the dev and user mail lists at Oracle are legacy Hudson users, although there was about a 15% drop in numbers on both lists within a couple of weeks after the split. Oracle did a bulk upload of users on Feb. 18 to the Hudson list that brought them back up 15%. In spite of this, the User list of Jenkins outnumbers Hudson 1300 to 864, and the number on the Jenkins dev list outnumbers Hudson 790 to 543. JenkinsCI Twitter numbers blow away HudsonCI numbers 3,500 followers compared to 255 followers. Activity on Tweets containing #JenkinsCI outnumber #HudsonCI 140+ to 8 over the past 4 days.

Mail list activity on Jenkins is also also 2-5X the Hudson mail list. To the date of this writing there have been 1,172 vs. 444 posts to the DEV mail lists of each project. Many of those 444 were unsubscribe posts, but to be fair the Jenkins mail list also subscribes to the Hudson mail lists so people on Jenkins do not have to look at both. The March to date numbers are more striking: March 1 - 11 it is 244 on Jenkins and 44 on Hudson.

The Jenkins and Hudson user mail lists are even more striking. Since the split thru March 11 it is 1,109 to 159. March 1-11 is 337 to 34 - a 10X difference in activity.

Finally, the Github data again shows that Jenkins is a far more active community.


Hudson Sites Moving to Jenkins
A recent Jenkins blog entry shows the raw data for sites using Jenkins and Hudson. There is a utility that has been in Hudson for a long time that sends a ping back for unique IP addresses from Masters. It shows about 23,000 total sites using Hudson (1.395 and before - after that Oracle has disconnected this counter from reaching the Jenkins community server) or Jenkins. In the 5 weeks since the split over 4,000 sites have moved to Jenkins. There has been no discernable drop in the count - implying there has not been much of any movement from Hudson 1.395 to Oracle/Sonatype's new releases. Furthermore, it is large users who are moving - for example Apache is now running on Jenkins.

One of the key reasons people upgrade from Hudson to Jenkins (in addition to all of the above) is how simple it is. A recent tweet "complained" that it took all of 4 minutes.

So join the crowd - upgrade from Hudson and download Jenkins now!

5 comments:

Stephen said...

Your comparisons are flawed as Hudson isn't focused around Github and Jenkins stole all of the twitter followers, leaving Oracle to make a new account.

I agree that Jenkins is the way to go, but I disagree with misrepresenting the facts as a way of achieving it.

Bob Bickel said...

@Stephen - Somewhat valid comment on Github, but if you look at Java.net contributors there is not much of a difference. The basic point of activity level is much different. The other angle is that Oracle/Sonatype have recently made a big deal of their move to Github, which as you point out is not where they are putting their efforts.

Regarding the "stealing" that gets back to the whole "Who forked?" issue. The reality is that individuals outside of Oracle started that account and did indeed chang the name from 'hudsonci" to "jenkinsci". So my point one would be that they had every right to do so. My point two would be that "jenkinsci" had added more followers than "hudsonci" since the move. In fact the new Jenkins-release has more followers than hudsonci and it was released only a couple of weeks ago.

Jordan said...

Bob, as a board member of CloudBees, it's somewhat disingenuous to present your opinion as an objective assessment. As far as decision making goes, you place some pretty long bets: "CI in the cloud" = RunCodeRun.com and "Platform as a service"= Salesforce.com. That's a pretty steep hill to climb, and you're not going to climb it with just Jenkins.

Bob Bickel said...

@Jordan. It is a blog and blog are opinions of people. I don't hide my feelings or allegiances.

I am not exactly sure what you mean by placing long bets. If you mean by liking to work with startup companies, then yes. Fortunately I have been part of 5 fairly successful startups that have provided some great jobs for a lot of people and were very healthy investments.

If you mean that CloudBees is going to have a lot of competition, absolutely. We like our team and have delivered a fair amount of innovation so far and hopefully will continue on that track. And we obviously have a lot more than Jenkins as a business.

But this blog was not about CloudBees - just presenting quite a few facts about why people would want to move.

115146391470991532137 said...

Good work bob! Keep up the good work, thoughts, and opinions! :)