Summary
Terracotta today announced that it made its Java clustering technology available under a Mozilla-style open-source license. Artima spoke with Terracotta co-founder Ari Zilka about his company's open-source move.
Advertisement
Terracotta has received a lot of attention since the company unveiled its Java clustering product at JavaOne 2005. Part of the interest stems from the company's unique approach to clustering: Instead of a clustering-related API that developers would employ in their code, Terracotta clusters the Java VM's heap across multiple network nodes. The result is that in many cases, clustering an application with Terracotta requires few, if any, code changes, making clustering a deployment-time decision.
An increasing portion of the attention the company received has been from open-source projects, including companies supporting major open-source enterprise frameworks, according Terracotta co-founder Ari Zilka. Zilka spoke to Artima about the role an enthusiastic open-source community played in his decision to release Terracotta's flag-ship product under a Mozilla-style open-source license:
This is something we've been monitoring very closely for a while, and all the pieces came into alignment at this time. We've been partnering with a lot of open-source projects and software: Spring, Tomcat, Geronimo, and so on. These have all discussed with us a tighter coupling...
They looked at us, and realized that Terracotta offered a really nice clustering solution their communities needed to know about. Their second response was to try to see what they could do to make their products better to leverage some of what Terracotta had to offer. The answer to that second question has been that they couldn't do much because Terracotta was not open-source.
We've been tearing down that barrier for the last eighteen months. JavaOne this year brought it to a head for us. A lot of the energy around Terracotta at JavaOne was about new potential partners. Glassfish showed up, Geronimo showed up. We realized that momentum was increasing, but that momentum was mostly around open-source. Those guys are very forward-thinking, and we wanted to be part of that wave.
Simultaneously, we started asking our customers what they would have thought if Terracotta was open-source. The answer was that most of them would have looked at it sooner, faster.
So it comes down to lower cost of sales for Terracotta, and easier access to clustering for the market. We're excited by what people are saying, what they're willing to do. Companies around open-source-projects—Interface 21, Covalent, even IBM—are saying that they're willing to take Terracotta to the next level. It's definitely a huge endorsement. I'm personally quite honored to be a part of this, to be part of the community and not being an outsider.
Zilka noted that one of the most immediate benefits to Terracotta and its uses will be tighter coupling with many popular open-source projects:
There are two types of tighter coupling. The first one is the business sort of thing. If you're running Spring, if you're running Tomcat, or running Terracotta in the application stack, we noticed that you're going to have to pay Covalent for support of Tomcat, Interface 21 for support for Spring, and Terracotta for support for your clustering. So we will shortly announce a partnership between Terracotta and Covalent, where Covalent re-sells Terracotta support and puts Terracotta in the box with their version of Tomcat and ship it to all their customers.
On the technical side, what will likely happen is that these projects will start to do things slightly differently [to support clustering]. We don't know what those things will be just yet. Some of those projects, like Struts 2.0, will spend some time explaining to their users that it's now time to think about stateful applications again. Another Web framework, Wicket, is doing the exact same thing. Their application frameworks or containers will now be easier to build as a result of [open-source] Terracotta...
What you might start seeing is that these projects will favor Terracotta's clustering solution over other clustering approaches. For instance, they can make the decision to not make some of the internals of their frameworks serializable, and they can stop thinking about portability across VMs. As a result, also, you will see more and more state appear in applications.
Zilka also sees the community contributing to the Terracotta codebase in important ways:
Some of the things that Terracotta will do better as a result of community contributions are dynamic load balancing across Terracotta servers—distributing the workload to multiple Terracotta servers is something the community is likely going to push. More JMX support is another one.
In addition, what you'll be seeing from Terracotta the company, are some value-added things, for instance those that relate to managing a clustering environment inside the enterprise. From the business perspective, we're starting out with the traditional support model, but reserve the right to add some of the value-adds that enterprises care about.
The license under which Terracotta is available is a Mozilla-like license:
The license is the Mozilla public license variant. We're working with OSI to make sure that it's approved and that we're working within the boundaries of the eight or so approved open-source licenses. You can't call yourself Mozilla if you're not the Mozilla organization, so we're calling it a CDDL, or common distribution and development license.
What do you think of Terracotta's open-source move?
This is really great. Terracotta had a very compelling presentation at the last JavaOne and from a developers point of view, their transparent clustering approach makes all the other options, well pretty ridiculous. They really ‘get’ the problem with overly complex and verbose “Enterprise” technologies, and they’ve done something about it. I’m excited about the potential of this technology and having it embedded in such widely used open source products.