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.
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
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
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.