Interview with Dave Johnson

Oct 19, 2007

Dave Johnson, creator of Roller, was kind enough to spend a few minutes with us to discuss the project. You can read the transcript of the interview and download the audio below.

podcast_roller.mp3 (14MB)



Roller is an open source, Java-based blog server. It is known for powering heavily trafficked websites, such as Sun Microsystems employee blogging sites, IBM DeveloperWorks blogs and Javalobby JRoller community sites.

BitNami: Can you let us know a little about your background and how you first got involved with open source?

Dave: Sure, thanks for having me on the podcast. So about me, I’m a software developer. I have been developing software since I was in High School. I went to North Carolina University here in Raleigh, North Carolina which is where I live now with my family of three boys. I haven’t always lived in Raleigh. I’ve also moved around a bit. I did some work as a geographic information systems consultant, moved to Jamaica, West Indies for a couple of years and New York. I’ve worked for a bunch of software companies such as World Wave Software an SAS Institute and I’ve always been very interested and enthusiastic about technology. And a lot of times I don’t get my fill of technology at work, so I tend to hack on projects at night and that’s how I got into open source. I started working on an internet relay chat program, RSC chat program. I wrote a magazine article about it and started an open source project. That wasn’t that successful of a project but it got me more interested in doing more open source work.

Later on, when I was working at Hot Software, which is an application server vendor, I needed to come up to speed quickly on servlets and EJB and Java development,. I started working on a sample application and I discovered all these really cool open source tools out there like Tomcat and NetBeans and OpenOffice and Struts and Velocity. I realized how easy it would be to build something cool. I was just then noticing blogs, so I started working on a blog server as an example application. Eventually, I turned that into a magazine article that was published on O’Reilly’s OnJava site and kind of launched it as an open source project. That’s how I got the permission to get the code out of the company I was working for. I told them I was writing a magazine article about open source and I wanted to use this as the example application. So we were able to open source it that way. So that’s how I got into open source and how Roller was born.

BitNami: Roller is obviously a very popular project. How do you balance running a project like that and a day job?

Dave: Well, it was very difficult initially because I was working on Roller nights and weekends. But for the past three years, I’ve been working for Sun and I’ve been working on Roller as my day job. I started about three years ago in the dot-Sun engineering team at Sun, and that’s the group that runs blogs.sun.com. So my job has been to implement new features for Roller that are required by those bloggers. We’ve been rolling out new releases on a monthly basis and making a lot of improvements over the years. Earlier this year, I moved into a different group at Sun. I am now in the software organization working on products, but I’m still working pretty much full time on Roller. So it’s been a lot easier for me to make that balance because of working for Sun.

BitNami: That’s fantastic when you can get paid for working on something that you started, that’s kind of a pet project. And how many people are contributing to Roller now?

Dave: Well right now I think there are 7 contributors, but really only 2 or 3 are active and committing new code on a regular basis. The other contributors or committers tend to monitor the list and participate in design discussions and we’ve got a bunch of people submitting patches. But right now it’s basically two full time developers working on it. Lots of help from the community with patches and things like that make it easier for us too.

BitNami: What has been the most rewarding aspect of working on the project?

Dave: I guess just having people using my code. I have worked on many projects in the past where you work on something for 18 months and it gets cancelled or it just doesn’t get used. So having lots of happy users using my software is what I find most rewarding I think.

BitNami: Can you tell us a little more about some of the ways that Roller is being used?

Dave: It’s typically being used by organizations that want to have a lot of bloggers. For example, Sun wanted to enable all employees to be able to blog about anything. Roller is very easy to set up and get going for a multi-blog installation were you can have hundreds of blogs and each blog can have multiple users. Other users include corporations that are setting up blogs on their intranet or doing marketing things like Sun is doing, or a university for example, if they want to give all faculty and students blog accounts. North Carolina State here in Raleigh is doing that with Roller. They are using a service called Wolf Blogs that is open to all students and faculty. There are a couple of other universities that are using it for the same purpose; they are generally big multi-user blog systems.

BitNami: Can you tell us a little about some of the most compelling features of Roller and how it might compare to other projects such as WordPress?

Dave: I think the ease of setting up a multi-user blog is probably the most compelling feature. Another feature is the fact that it’s written in Java and there are a lot of organizations that like Java and know how to work with it really well. If they are going to put in place a bug multi-user system, they want to be able to customize it so that it suits them well. If you compare it to WordPress, feature by feature, I think it compares pretty well. There are a lot more people using WordPress, a lot more custom themes and plug-ins and the community is a bit bigger. But at the same time, Roller has an advantage in open source in that its part of Apache and it’s governed in a fair, equitable way. It is not really controlled by any one company or any one benevolent dictator. So it’s easy for companies to come in and participate in development of Roller. Mmaybe that’s not as easy for WordPress. WordPress is open source, but it doesn’t really have community governance like we have at Apache.

BitNami: And is that why you decided to move Roller to the Apache project?

Dave: Yeah, that’s definitely one of the reasons we decided to make that move. When I came to Sun, there was some concern that my moving to Sun would make people think that Sun is taking over Roller, controlling the future of the software. We didn’t have a lot of money to set up a big community around Roller. It is very easy to go to Apache and get a lot of things for free, like the governance and the community. We’ve learned a lot from working at Apache and benefited a lot because I think it has brought on more committers. For example, I don’t think we would have had IBM contributing to Roller had we not been at Apache.

BitNami: And as both an Apache Software Foundation member and a Sun employee, what do you think of Sun’s move to JPL Java and some of the controversy around that?

Dave: Well let’s say it definitely makes me feel uncomfortable being a member of both organizations. I wish they would find a way to work it out. I really think both organizations are great organizations and I would like to see them get along better. About the actual controversy, I kind of have mixed feelings about it. On one hand, I’m really happy that Sun has open-sourced Java and is moving towards making a really open standard. But I see some of the claims that Apache Software Foundation has against the Java community process, and I guess I’ve also mixed feelings about the idea of having multiple Java implementations from a particular point of view as a developer with a lot of different platforms to support. There are so many different application servers and databases and if you have multiple versions of Java to support, that does make things a little more difficult. So I wish it would be resolved. I hope it can be resolved in a good way but I’m not really looking forward to having multiple versions of Java to support.

BitNami: My last question on Roller. I think you have a 4.0 release around the corner. Can you tell us a little bit about what’s in store for that?

Dave: We just put out a release candidate today which hopefully will be the final version of Roller 4.0. There are a bunch of changes in the code. Most are actually under the hood; it is kind of an infrastructure improvement release. We have upgraded to JPA for persistence. We’re using Struts 2 now, and Velocity 1.5. There are also a bunch of features that have to do with making it easy for us to encapsulate the themes and make it easier for people to plug in new themes. We’ve also got a much easier installation experience. One of the things that people complained about in the past was that it took a long time to install Roller with a 40 or 50 page installation guide, so we’ve made it very easy to get up and running with an initial installation even if you are not using a bundle like the one that BitNami offers. We made it easy to get up and running with whatever your app server is and whatever your database is. We’ve also got full support for Atom Publishing Protocol, which was finalized this summer.

BitNami: Speaking of BitNami, you’ve gotten a peek at what we’ve started over there on the website. What are your thoughts on our project and do you have any guidance for us or any recommendations you’d like to share?

Dave: I don’t really have any guidance. I think its great what you guys are doing, making it so easy for folks to get up and running. And I do think that’s definitely a very good way to go, packaging everything folks need into one bundle that’s easy to install.

BitNami: For the new release candidate you just put out, you said that it’s easier to install. What kinds of features did you put in the installer? How did you work to make it easier?

Dave: Well, one of the problems in the past was we required people to do too much work in the app server to get things up and running. You have to go into the app server and set up a data source and set up a JNDI name for that. You have to set up a security realm and you also have to go into your database and create tables. What we did is simplify things so we have one property file, just one little file that you create that lists four properties. Just the stuff you need to connect to your database. You basically give that to Roller, Roller starts up and if it doesn’t find the database, it gives you very good error messages to tell you exactly what is wrong. If it does find the database and there are no tables, then it will offer to automatically create the tables for you, doing all of this through a web interface. If it finds that you have tables but they need to be upgraded, it will automatically do all that for you. For most users it makes things very easy to get up and running. If you are running on Tomcat and MySQL, I think we can say you can have a 5 minute install experience now. It is basically as easy as WordPress. Now, if you do want to go in there and tweak your app server and set up the data source security realm, you can still do that. But for most users this allows them to get up and running very quickly.

BitNami: And it sounds like it will really help to increase adoption of the project. One of the things we’ve found is that people have a pretty low tolerance for difficult installs. If they can’t get things running in a half an hour or so, then they often give up. So I’m sure that that will help out quit a bit.

Dave: Right, another thing I should mention is that my coworkers at Sun have created a GlassFish installer for Roller. GlassFish has an update center so you can run this update center and it presents a GUI to you that shows you new modules and new applications that you can install on GlassFish. So, we now have an update center module for Roller that makes it very, very easy to install on GlassFish. So you can go into the install center and it shows you that Roller is available, and you click install and because GlassFish includes Java DB, we can automatically set up the database for you, create all the tables for you. So it’s even easier than the five minute install that I mentioned for MySQL and Tomcat. Of course it only works with GlassFish and Java DB, but it does make things very easy for GlassFish users.

BitNami: That’s very cool. Sounds like it will make it a lot easier to maintain to over time.

Dave: Yes, the update center is a pretty powerful feature.

BitNami: Great, well thank you so much for your time today and for telling us a little about Roller. We definitely look forward to checking out your latest release when it’s available and thanks again.

Dave: Alright, well thank you.

Digg-icon Digg This Story    Reddit-icon Reddit!    Facebook-icon Share On Facebook

Add to del.icio.us    Stumbleupon-icon Stumble It!

Back