Whether motivated by the desire to thwart the competition or to transform smaller open source entities into larger ones or simply by fear still lingering from the recession and the credit crunch it seems that consolidation amongst software vendors is rife. Not long after Oracle’s purchase of Sun and more recently VMWare’s purchase of SpringSource – Terracotta has today acquired EhCache.
Compared to VMWare and SpringSource – Terracotta and Ehcache had greater overlap in that both were primarily caching products albeit with different approaches. Terracotta’s original core offering was wholly unintrusive heap replication (also known as pojo clustering) based on a hub spoke topology while maintaining object locking semantics whereas EhCache was an intrusive concurrent programmatic Map API. Although both were open source EhCache had the largest market share with Terracotta being a more niche product.
With the two having merged EhCache will benefit from dedicated development by a full time team and a seamless scalability extension model using Terracotta. Terracotta, on the other hand, will gain the vast user base of EhCache and incremental adoption of its clustering product via EhCache. As for the community the option to incrementally adopt will reduce adoption risk of Terracotta in the enterprise but most importantly for distributed caching – Terracotta’s heap replication using object diffs and partitioning of data across JVMs, all over a hub spoke topology, will offer efficiency advantages over the more traditional share-everything using multicast approach of EhCache.
Concerns of the acquisition will be potential changes to open source status and public licensing model but also how Terracotta will resolve the resulting conflict of catering for two separate parties of users with opposing preferences – those that prefer intrusion at the level of a programmatic api and those that prefer programmatic transparency at the cost of added jvm level instrusion and infrastructure. Satisfying both could prove to be tricky although one possible way to do so would be to leverage the RESTful api that EhCache Server provides to cache in a load balanced and language independent fashion into network attached memory and reportedly this will be on the roadmap going forward.
A sure fact about the Java community is that they like options and dislike being limited or confined in any way. As long as the pros of both products are maintained in the combined offering the acquisition will certainly make both EhCache and Terracotta more compelling options to the common user but it will also offer a lower risk alternative in the enterprise to the goliaths of distributed caching – Coherence and Gigaspaces.