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.
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.
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.
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.
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."
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.
Learn
- Get started today with Apache Geronimo. You'll learn how to build your first application in minutes.
- Get more information on the announcement of IBM WebSphere Application Server Community Edition. The developerWorks staff recently interviewed WebSphere executives to find out what this announcement's impact will be on the open source community as well as the WebSphere product family.
- Visit the developerWorks Open source zone for extensive how-to information, tools, and project updates to help you develop with open source technologies and use them with IBM's products.
- For more great pieces on Apache Geronimo, start with these resources on developerWorks:
- "Building a better J2EE server, the open source way" (developerWorks, May 2005)
- "Geronimo! Part 1: The J2EE 1.4 engine that could" (developerWorks, May 2005)
- "Geronimo! Part 2: Tame this J2EE 1.4 bronco" (developerWorks, May 2005)
- "Three ways to connect a database to a Geronimo application server" (developerWorks, June 2005)
- "Create, deploy, and debug Apache Geronimo applications" (developerWorks, May 2005)
- "Apache Geronimo uncovered" (developerWorks, August 2005)
- Virtuas Solutions offers an array of professional services around open source software, including high-level consulting, architectural assessment, educational services, and delivery and documentation services.
- Visit the developerWorks Apache Geronimo project area for articles, tutorials, and other resources to help you get started developing with Geronimo today.
Get products and technologies
- Download the latest milestone of Apache Geronimo directly from Apache Software Foundation.
- Get expert technical support from the IBM Support for Apache Geronimo program.
- Innovate your next open source development project with IBM trial software, available for download or on DVD.
Discuss
- Participate in the discussion forum.
- Keep up with recent developments in Dave Klavon's blog The Apache Geronimo Experience.
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)





