Skip to main content

The Geronimo renegade: An interview with Bruce Snyder and Jeff Genender

Nicholas Chase (ibmquestions@nicholaschase.com), Freelance writer, Backstop Media
Nicholas Chase has been involved in Web site development for companies such as Lucent Technologies, Sun Microsystems, Oracle, and the Tampa Bay Buccaneers. Nick has been a high school physics teacher, a low-level radioactive waste facility manager, an online science fiction magazine editor, a multimedia engineer, an Oracle instructor, and the Chief Technology Officer of an interactive communications company. He is the author of several books, including XML Primer Plus (Sam's).

Summary:  IBM's purchase of Gluecode Software earlier this year sparked varied reactions in many quarters. I sat down and talked to Bruce Snyder and Jeff Genender, both Apache Geronimo committers and Project Management Committee (PMC) members, to get answers to some pressing questions. With the coordination and kind assistance of Neal Sanche, who will be writing many of these columns, we all gathered in Internet Relay Chat (IRC) on October 21, 2005.

Date:  08 Nov 2005
Level:  Intermediate
Activity:  871 views

Apache Geronimo application server: Why?

When IBM purchased Gluecode Software -- a consulting company focused on the open source Apache Geronimo application server -- many wondered, "Doesn't IBM already have an application server?" Furthermore, does the world really need another application server? What is the attraction of open source, anyway? Why would a big company like IBM care? When I was asked to write this inaugural column for "The Geronimo renegade," I thought that first I'd like to answer those questions.

During the pleasantries and introductions, I discovered that both Snyder and Genender are practice leaders for the Virtuas open source consulting company (see Resources for a link). They have an easy rapport, almost finishing each other's sentences, which makes an IRC conversation particularly interesting. Other than adding punctuation and rearranging a line of text here or there for the sake of clarity, this is the conversation as it happened. I wanted to know specifically why Apache Geronimo is important in the first place. After all, it's not just that there other application servers out there; there are also other open source application servers out there.

Renegade: Let's start by talking about Apache Geronimo itself. I have to ask the obvious question: Why do we need another open source J2EE [Java™ 2 Platform, Enterprise Edition] server?

Genender: My answer to that is: In the commercial space people need choices. I think open source brings that need as well. In addition, Apache Geronimo fills a need that other application servers do not.

Snyder: Apache Geronimo is an open source Java application server, and it is J2EE 1.4 certified; but the end goal is certainly not only J2EE. The other two Java application servers are LGPL [Lesser General Public License] licensed. They have also spent all their time building a proprietary stack.

"IBM's delivering off the Apache Geronimo code base exemplifies the fact that Apache Geronimo is ready for prime time."
-- Jeff Genender

Genender: Apache Geronimo is almost an API for an application server.

Snyder: Apache Geronimo supports the assembly of custom components pretty easily.

Genender: You can make it as heavy or as light by doing what Bruce just said. The other application servers typically have components that are intertwined.

Snyder: Right, you choose the components you want. For example, if you don't want to use the EJB [Enterprise JavaBeans™] container, don't use it. If you only need Tomcat and ActiveMQ, go for it.

Genender: Yep, make it what you need it to be.

Renegade: And these components are added via GBeans.

Snyder: Yes, that's correct. The architecture behind the kernel and GBeans makes this possible.

Renegade: What made you decide to go in this direction?

Snyder: When we were originally trading ideas about how we might build another open source application server, the central theme was that users should be able to reuse any piece of open source out there. Why build another proprietary stack when we can write some glue (that is, the kernel and GBeans) and plug in some really great open source projects?

Genender: Companies have a fairly large need to only run portions of a container. Most companies only run subsets. It makes no sense to have full stacks running. They consume resources that can otherwise be delegated to other needs. It's a new concept to roll-your-own application server, and this fills a need that nearly all other application servers cannot do today.

Renegade: I understand that the current focus of development seems to be on integrating other components rather than the kernel of the server itself; but that makes sense from this point of view.

Genender: I would think that is correct.

Snyder: Yes, I agree -- now that the certification has been attained, we can focus on the fun stuff.

Renegade: I like the idea of an application server API. Do you consider that part of it finished?

Genender: I wouldn't say it's ever finished. Open source is about continually building and making it better.

Snyder: Yes, the core architecture is pretty stable and probably won't change much unless there's an extremely compelling reason to do so.

So that made sense. They weren't just building another application server; they were creating a new way to build an application server. Currently, an installation of Apache Geronimo comes complete with the integration of a multitude of services, such as OpenEJB, Tomcat, Jetty, ActiveMQ, and Apache Directory Server with clustering or Trifork ORB likely to be next.


Licensing

So what was it that Bruce was saying about other application servers using the LGPL? I knew that there were differences between open source licenses, but could that really be the reason for creating a whole new piece of software? And why all the celebrations regarding the license for Sun J2EE Technology Compatibility Kit (TCK) on the Apache Geronimo Web site? Shouldn't the rejoicing be about passing the tests rather than getting access to them?

Renegade: Would you say that having this type of server was the sort of impetus for creating the project? Or was there something else?

Snyder: We were talking tech ideas before the other reasons came in. We also wanted to be the first open source J2EE-certified application server. We did wind up being the first open source project granted the Sun J2EE TCK license.

Genender: Hehe -- "wanted to be first" -- doh!

Snyder: We all felt pretty strongly that the license was important, and the more we talked and still talk to companies, the more we find that they agree with us. Offering companies the software under the Apache license is pretty important to us.

Renegade: Explain why that's important, if you wouldn't mind.

Snyder: We feel that the Apache license is more business friendly and that it protects the developer more.

Renegade: Why?

Snyder: Well, anyone can reuse Apache-licensed code for anything they want.

Genender: You can change it, alter it (the code I mean), and at the end of the day you just need to say Apache in it. Obviously, it's not quite that simple, but I'm just trying to say that it is not as restrictive as LGPL, and you have a lot more latitude to work with and alter the code and still protect your business' IP.

Snyder: It's the traditional BSD [Berkeley Software Distribution] style of license -- use it however you please, just give us credit. For companies, this is very important.

Renegade: In other words, you don't need to donate it back by offering your derivative work under the same license, as you do with GPL [General Public License] and to a lesser extent with the LGPL.

Genender: Exactly, and that can get sticky with business IP.

Snyder: Very sticky indeed.

Renegade: While we are on the subject of licenses, can you explain why you need to have a license to the TCK to get certified? I had always assumed that the purpose of the TCK is to allow anyone to test their software.

Snyder: The license for the TCK is Sun's intellectual property. The TCK is the official test of compliance to the J2EE spec.

Genender: Keep in mind, it's an important concept. By putting the logo on your application server, it's Sun getting behind it and saying, "It's good enough for us." That's huge from a marketing perspective. So if it's commercial, it makes sense for the license.

Snyder: Yes, the marketing power it affords a product/project is tremendous.

Renegade: So, is a license for the ability to test your software or to say that your software has been tested?

Genender: Good question...probably both.

Snyder: As far as I recall, it's for both the privilege of using it and the privilege of displaying the certification logo.

Some additional searching bears this out. The license provides access to the actual testing tools as well as the right to claim that you've passed them, if in fact you have.


Open source motivations

So was that what made Apache Geronimo special? That it was a new idea in application servers? That it's officially J2EE 1.4 compatible? Or was it the fact that Apache Geronimo is an open source project?

Genender: The certification is huge because it basically lets folks know your product is ready for prime time and will interoperate according to standards.

Renegade: It kind of dispels that whole image of open source as "software and duct tape."

Snyder: Yes, that's part of it.

Genender: Yes. I believe open source is ready for prime time. It's being integrated into the Global 2000 space pretty heavily now.

The Global 2000 being the largest 2000 companies in the world -- the international equivalent of the Fortune 500, so to speak -- it seems pretty hopeful for open source.

Snyder: The other part was proving that certification was not just for the big companies. No open source [project] had tested the ability to be granted the TCK at that time.

Genender: But we are a big company -- community.

Snyder: I wouldn't go so far as to compare the community to a company.

Genender: Well it kind of is. We all work together, for a common goal, to produce a high-quality product.

Snyder: The difference is that it's open source.

Genender: Yes, but I am speaking from the goal (minus the profit component).

Renegade: Bruce, how does the open source aspect affect things from your point of view? Why does that make a difference?

Snyder: Because it's not just to make a buck. It's also to give others the ability to do that. No matter whether users are making a commercial server with it or consulting on it for services and support, it's about helping others to be successful as well.

Renegade: So, Bruce, it seems as though you see a sort of altruistic component to it.

Snyder: Jeff likes to call me the bleeding heart, but I'm pragmatic and realistic about it.

Genender: From my perspective it doesn't [make a difference]. It's [about] being proven that open source is as good, if not better than, commercial counterparts.

Renegade: Jeff, do you see that, or do you see other motives for open source?

Genender: Well I think there are huge motives, IMHO [in my humble opinion]. I think some of the beginnings of OS [open source] are for two reasons: one, to fill a need for something that does not exist, or two, to fill a need for a commercial counterpart that is exceedingly expensive.

Snyder: For Jeff's second reason, it's about showing the world that the high-cost product is not always the best.

Renegade: But isn't that in some ways altruistic?

Genender: Not really. Open source builds community. Many projects, like Apache Geronimo, could never be done by one person. By having a community help out, you are basically building a legion of coders to build a quality product.

Snyder: Jeff is correct -- it's really about the community. The community is what really matters. I have a saying: We come for the code, but we stay for the people. And it's very true. You're not going to stick around a community that is abusive and no fun. You're also building legions of people to get behind the common idea to make it the best it can be, to bring together ideas from all over the world and all different walks of life.

Snyder: As [security expert] Bruce Schneier said, "Open source is the ultimate code review."

Genender: The more people helping, the better the quality [of] product you can get. If it fills a need, then it's not altruistic.

Renegade: This is probably the $64,000 question, but how do you build a community like that?

Genender: The idea is having a compelling idea that gets people excited and then acting on it. It takes a degree of evangelism and leadership.


Commercial ventures

Of course, open source is hardly entirely noncommercial. In fact, shortly after this conversation, IBM announced the release later this year of IBM WebSphere® Application Server Community Edition, a no-cost commercial version of Apache Geronimo. And besides, as Jeff hinted, open source is really gaining traction in the corporate space. What does that mean for the companies, and what does it mean for those who provide their own sweat equity for the projects?

Renegade: So, you have a community. And it works very, very hard on software. Then companies spring up and use the software as the basis for profit. Does that bother anybody?

Genender: Why should it?

Snyder: It doesn't bother me.

Renegade: I've just seen it as a common question asked about open source, usually by people who are not involved.

Genender: It takes on the support component, which can be difficult from a free-time perspective. Regardless of its profitability and commercial touches, it still is great for the community. It's free for the rest of us.

In fact, in its announcement, IBM focused on the fact that it will now be providing support for both Apache Geronimo and WebSphere Application Server Community Edition.

Snyder: I can't think of a company that was successful in taking the software that wasn't involved in the community. What I mean to say is, if a company takes the software for its own use and is not involved in the community, chances are the company won't go very far. But, on the other hand, if the company remains involved in the community and contributes to the community (because it's making money from the software), chances are that company will go much further and hopefully be considered a success.

Renegade: So, it almost enforces the community aspect, in a sort of de facto way.

Snyder: Yes, you got it, Nick.

Genender: Yep.

Snyder: But it's not to say that that's how to build a community. I was at Simula Labs last week and saw a presentation on this concept. Simula is in touch with the fact that a company can't easily build a community. A community must already exist.

Renegade: So assuming that the community exists, what is in it for a company that wants to make use of open source commercially, rather than just actually using the software?

Snyder: A relationship based on reciprocity for starters.

Renegade: How so?

Snyder: So far, based on what we've discussed, we're talking about how what's good for the community is probably also good for the company. The obvious answer is that everyone has access to the base software. If the company decides to make money on top of the base by offering add-ons, good for the company. The idea is that the software is available to everyone.

Genender: Not everyone has the capacity to alter things the way they want them. So they need a go-to guy. Also, in open source, who will support it? Having companies to support products is huge, and the development teams (that is, open source teams) are happy about that.

Renegade: I guess that's my way of asking why do you think IBM would get involved in this? I know you don't speak for IBM, but I was curious as to your perspective.

Snyder: IBM got involved for other reasons. IBM is not only looking for a way to beat the other open source Java application servers, it's also looking for the next big thing. I think IBM figures if it doesn't get that next big thing then some other company will.

Of course, given the magnitude of the implications presented by the incorporation of Geronimo into the WebSphere line, it's now obvious that this is a strategy, and significantly more than IBM just casting about for the "next big thing." At this point, I asked them about the then-unknown relationship between Apache Geronimo and WebSphere. Did they think that these two very different products should just continue in tandem?

Snyder: Good question. I'm not privy to those plans.

Genender: That's a good question, and not something I know. But I can only say that I think IBM is smart, and they see a large services market for Apache Geronimo, so it makes sense for them to be a part of it.

Renegade: They are very big into services right now.

Genender: Yep, it's low-hanging fruit for high-dollar revenue.

Snyder: It is, but it's also a strategy.

Genender: Yep. Look at it this way: IBM can reap the rewards of the licensing of WebSphere, but they can also get the business of those who cannot -- or wish not to -- purchase WebSphere by supporting Apache Geronimo. This, IMHO, is smart and helps us out, too.

Renegade: And if open source does take off at the expense of proprietary software, they're poised to benefit, too.

Snyder: Bingo!

Renegade: Hedging their bets.

Snyder: It's not a question of if, really. IBM knows what it's doing.

Later, in an e-mail, Jeff added: "IBM's delivering off the Apache Geronimo code base exemplifies the fact that Apache Geronimo is ready for prime time."


Apache Geronimo's near future

And so, with all of my pressing questions answered, I wondered what would come next. Apache Geronimo has been certified for J2EE 1.4, the kernel is stable, and it is, as Jeff said, more of an application server API. So what else could there be left to do?

Renegade: Let's start wrapping up. Before I ask if you have anything else you want to say, now that Milestone 5 has been released, what do you need to do to get to 1.0?

Snyder: We're currently trying to answer that question.

Genender: I think we are concentrating on usability.

Snyder: One thing that Jeff and I think is needed is clustering, but usability is big, too. The real answer is that the community will decide what is needed.

Genender: Bruce, myself, and Jules Gosnell are trying to get this thing clustered. The enterprise needs to have high availability. Apache Geronimo currently lacks a lot of failover/clustering capabilities. IMHO most people will not take Apache Geronimo very seriously to run their products without it, so it's a big priority. So I spoke to Bruce and Jules about it, and we want to get it in so [Apache Geronimo's] ready for prime time. But I doubt we will have full clustering ready by 1.0. We should have some component in there, though, even if it's just the Tomcat clustering piece.

Snyder: We'll have, at a bare minimum, the Web clustering. It will cluster Jetty and Tomcat for sure. We still need to define the needs of the rest (for example, EJB and JNDI [Java Naming and Directory Interface])

Renegade: And you still need people, I assume? I would think you would always need people.

Snyder: Yes, we're just starting to build a community around this.

Genender: Oh yes. Always. The more the merrier.

Snyder: Yes, there's always more than enough work to go around.

Genender: And for those interested, come and join us on the lists and on WADI and Apache Geronimo. We can use all the help we can get.

Renegade: WADI?

Snyder: Web Application Distributed Infrastructure (http://wadi.codehaus.org/) -- the clustering component.

Snyder: We're always encouraging people to join us.

Renegade: What kind of skills would somebody need to be useful on this project?

Snyder: I'm not sure there's any one thing. All of us have a wide range of skills and experience. We need docs for sure, and a better Web site.

Renegade: Docs... hmmm...

Snyder: Experience in dealing with enterprise scalability is number one. Clustering, caching, distribution, etc. High availability, failover.

Genender: We are just setting up the site now. I am converting it all to Maven 2, and we will have a fantastic site with docs, architecture, etc. We are just getting this together, although Jules has been on this for a while.

Renegade: Many of you, I assume, work in the same physical space; what percentage would you say happens in person, versus virtually?

Snyder: I'd say the vast majority of decisions and work happen online.

Genender: Yep.

Snyder: And not that many of us are in the same geographic location. The team of committers for Apache Geronimo is from all over the world, and the community is even more diverse.

Renegade: OK, is there anything that you would like to say that I haven't asked? A question you wish someone would ask?

Genender: Hmmm... Good question. I guess my final words are "get involved." We can make this the best application server out there. Help out.

Snyder: Yep, please join us and contribute. Apache Geronimo welcomes everyone.

There you have it. What makes Apache Geronimo special is partly that it's open source, partly that it's J2EE certified, and partly that it's designed in such a way that you can make it what ever you need it to be. But mostly, it's the product of individuals who care about the software and about the community that produced it.

So what's holding you up? Even if you don't know anything about high availability and clustering, there is, as Bruce Snyder said, "always more than enough work to go around." Drop by the Web site, join the mailing lists, or find another way to get involved.


Resources

Learn

Get products and technologies

Discuss

About the author

Nicholas Chase has been involved in Web site development for companies such as Lucent Technologies, Sun Microsystems, Oracle, and the Tampa Bay Buccaneers. Nick has been a high school physics teacher, a low-level radioactive waste facility manager, an online science fiction magazine editor, a multimedia engineer, an Oracle instructor, and the Chief Technology Officer of an interactive communications company. He is the author of several books, including XML Primer Plus (Sam's).

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source, WebSphere
ArticleID=98272
ArticleTitle=The Geronimo renegade: An interview with Bruce Snyder and Jeff Genender
publish-date=11082005
author1-email=ibmquestions@nicholaschase.com
author1-email-cc=dwxed@us.ibm.com

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers