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!