Skip to content

Hudson at JavaOne

October 26, 2011

At the recent JavaOne conference in San Francisco Hudson was well represented both through sessions, a lab and on the demo grounds. It was great to talk to so many people about their use of Hudson and hear their excitement about all we had done, are doing and are planning to do in the future.

The session was packed and gave Winston and me the opportunity to not only talk about the successes of the last few months but also to give a sneak preview of some new functionality that Winston is working on around cascading projects (more on that in a later blog). So, what are those successes? After the user survey that was conducted in March 2011 it is clear that our Hudson users have a lot in common. They may come from organizations that vary in size (see fig1)but their major requirements are similar: improved stability and performance and Maven integration

This year Hudson has made great strides in these areas. The introduction of the 6-week release cycle, based on a new development and release process, helped stabilize the releases. Hudson users wanted to see more open-ness in how the project was run and this process was started through the introduction of the development process and the bi-weekly public governance calls that are open to everyone.

Another outcome of the survey was the spread of Hudson upgrade timings. It varies from weeks to well over a quarter, as borne out by the daily ping stats of the last few months. Hudson users appreciate the stability that comes with the 6-week release cycle, they upgrade when they are ready, without worrying so much if the latest build will need to be reverted due to rogue bugs.

Over the last few months we’ve concentrated on clearing the backlog of issues on the Hudson core and the Tier 1 plugins  – SVN, Git, SSh-Slaves. The stats below all follow a similar pattern – large numbers of issues resolved with very few new issues being raised. See how the numbers rose around August. This was greatly influenced by the introduction into the community of a full-time Engineering/QA and Product Management team from Oracle. This team continues to work with and for the community.

Of course, it has been a period of flux over the last few months. We are almost at the end of a period of intense work to pass the stringent requirements needed to join the Eclipse Foundation as a Top-level Technology project. These include a stringent inspection of every line of source code, including 3rd party libraries to ensure clean IP. This has highlighted some problems with the code base, all of which are being or have been addressed, such as the removal of GPL/LGPL libraries and the major code changes those have needed, including switching the bundled web container for standalone Hudson from the obsolete and GPL licensed Winston to Eclipse Jetty and an analysis of multiple 3rd party libraries providing duplicate functionality. In the next blog entry I will go into this work in more detail.

But let’s concentrate on the stats. Even with this upheaval we have continued to release stable and more performant builds and to include major new functionality like the Maven 3 integration (another item high on users’ minds in the March survey).

February 2011
September 2011
Project Members
User Mailing List
Developer Mailing List

Take a look a the unique pings for the various Hudson releases below. These show a stability of users across the various builds, as do the project members and mailing list users. Anyone who thought that perhaps Hudson would lose share in these times of change is badly mistaken. Of course, there is additional improvement we want to see – and we also want to introduce unique IP recording for each Hudson server – to ensure that we don’t introduce inaccuracies to the figures due to the dynamic nature of IP allocation
Another strong area of Hudson is its plugin infrastructure. There are over 400 plugins available for Hudson. Some of these are maintained by the Hudson community and others by other communities and individuals. We categorize plugins as Tier 1, 2 or 3. The tier 1 plugins I mentioned earlier, they are defined as part of the Hudson core. Tier 2 plugins, along with core and tier 1 plugins are tested as part of the Hudson QA certification process.  A number of the plugins are maintained by their owners within the Jenkins infrastructure, but the owners are as determined as we are that these plugins remain fully functionality for Hudson. As with many aspects of software engineering the 80:20 rule applies. The survey earlier this year showed that only a handful of plugins are considered ‘must have’ by users, with others ‘nice to have’. These include our tier 1/2 plugins and that is where we will focus our efforts in feature development and QA

Hudson Version
Total No. of Pings
Pings from Unique IPs
1.31 million
2.07 million
21, 048
1.09 million
1.89 million

As you can see from all this, Hudson continues and will continue to be, as Mik Kersten (Tasktop CEO and Mylyn lead) says, ‘..IP-clean, inviting, API-robust and long-loved de facto standard CI tool.”

Susan Duncan


From → Usage Stats

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: