The Source for Java Technology Collaboration
User: Password:



   

Top 50: Interview with Kohsuke Kawaguchi of the Hudson Project Top 50: Interview with Kohsuke Kawaguchi of the Hudson Project

by Marla Parker
06/14/2007

Kohsuke Kawaguchi, a staff engineer at Sun Microsystems, is one of the most active project owners and developers on java.net, so it was no surprise to me that several of the top 50 most active projects on the site each month belong to Kohsuke. The project I chose to ask him about is Hudson.

What's Hudson?

Q: How would you describe your project, in a nutshell?

A: Hudson is an extensible continuous integration engine. It's a tool for software developers. It always builds your projects on the server and thereby provides visibility into your project.

Q: Who is using Hudson and what are they doing with it?

A: Most of the time, an open source project has no good way of tracking who's using it. That said, I occasionally check the access log to the website, and that gives me some insights about who's using it.

I tend to see companies and organizations that I don't know, but I also see names of big companies. So I guess the short answer is that "it's all kinds of people." It's also used widely within Sun.

Q: Can you give me an example?

A: NetBeans has deadlock.nbextras.org/hudson and SwingLabs has swinglabs.org/hudson.

Working on Hudson

Q: What made you decide to start this project?

A: I'm a very lazy guy and so I often forget to commit some files. This, of course, breaks the build for other people in my team, so I started this as a way of making sure that I'm not making that mistake.

My colleagues liked it (I guess they are also lazy like me!) and it eventually became very popular among my group.

Q: Is working on Hudson part of your day job?

A: Until recently, it was strictly my hobby project (that just so happened to be useful for my day job). But this has changed a few months ago, and I can now work on it during my day job, to some extent.

But I still spend a lot of my private time on it.

Q: A popular open source project is a lot of work; what keeps you going?

A: Initially, I really just wanted to be as lazy as possible and have the computer do as much work for me as possible. In other words, I've been very diligently working on Hudson so that I can be lazy. :-)

Feedback from my colleagues and users has been a great motivator, too. As a "homo faber," it really makes me happy that my work is used by other people.

Hudson on java.net

Q: What would you like to see added to the java.net project section?

I don't have anything against Collab.net, but it would have been really nice if the system that runs java.net has been developed on java.net itself. Then we could have all pitched in to help improve the system.

Q: Of your project members, how many of them contribute to Hudson?

A: Hudson has perhaps a handful of contributors to the core project. There are more people who write plugins, IDE integration tools, etc.

Q: How do you manage community member contributions?

A: One "technique" that I developed over the years is to compartmentalize the system so that people can freely develop their additions/plugins/extensions/etc. without affecting the core code.

It reduces the communication overhead, and this way people feel attached to their plugins.

Q: Why did you choose the MIT license?

A: For me, the goal of the license is not to prevent reuse. The MIT license is ideal in that sense since it's one of the least restrictive licenses.

Challenges and Surprises

Q: What has been your most difficult challenge?

A: Designing a good, usable, and visually pleasing UI is a very difficult task, and I often don't know a good answer. For example, should I use radio buttons or drop-down combo box? How much space should I put here and there? I'd imagine a professional UI designer just "knows" what to do, just like I know instinctively how to design code.

Q: What has been your biggest surprise?

A: Perhaps my most pleasant surprise was that three individuals started developing IDE plugins for three major IDEs. To me, it was an indication that people are really finding Hudson useful, to the point that it is worth investing their own time in.

Resources

Marla Parker is the community manager of java.net.

View all java.net Articles.

 Feed java.net RSS Feeds