Plato said – “Ignorance, the root and stem of all evil”. This is often true when I ask customers about their “Open Source” experiences. I feel there are lots of hurdles IT must overcome when deciding on embedding any open source technology in their technology stack. I discussed some of them in a TechRepublic interview titled, 8 hurdles IT must overcome if they want open source success. It’s surprising to see how many developers still describe of Open Source as “free” with “no vendor lock-in”. In my opinion, there are lots of hidden costs and games that vendors play to make money. Let me point to two top-of-mind industry trends that prove my point.
Trend #1: When all else fails, Open Source Vendors turn their code proprietary
Have you heard of Open Source database called Redis? Redislabs, which is the company behind Redis, just announced making important functional pieces of code proprietary. On Aug 22nd 2018, they clawed back all their Enterprise Modules, namely, RediSearch, Redis Graph, ReJSON, ReBloom and Redis-ML under a more restrictive Apache 2.0 modified with Common’s Clause licensing. Redis wants to stop free riding, at least in part, as mentioned in the company’s explanation through its CTO blog. The Register describes it as “Redis has a license to Kill”. TechRepublic called it a mistake in its article “Why Redis Labs made a huge mistake when it changed its open source licensing strategy”.
If you are one of the customers that used these modules, you have every right to be angry. Your favorite Open Source tool will now have some proprietary code mixed in. In other words, you fell right back into the dreaded “vendor lock-in” trap. I feel database license changes are the gnarliest as they involve customer data which is the life blood for any business. So what’s the implication of this Redis change? Tactically, if you used these modules on AWS or elsewhere, think about new licensing costs that you weren’t planning for before. Strategically, it breaks your “Open Source” philosophy with proprietary code not developed by a community of developers. With the Commons Clause, the only party developing intellectual property for these modules is RedisLabs. Hence the vendor lock-in!
Regardless of what vendors tell you, Open Source may not always always remain open. Always have your option-B incase a technology does move from open-source to proprietary. VoltDB is a transactional in-memory database system that can be used for caching, streaming or OLTP like workloads. Unlike Redis, we have moved to become more Open Source in our strategy. We made our core database Open via VoltDB Community Edition which is an Affero General Public License license. However we remain a for-profit company with an Enterprise class product that pays our bills. Being upfront about these things makes it easier for long term customer success.
Trend #2: Open Source versions are often performance limited compared to the Enterprise versions.
I’m sure everybody has heard of Apache Cassandra, the widely used NoSQL database designed to handle “Big Data”. DataStax Enterprise (DSE) is the commercial implementation of Apache Cassandra. Datastax just benchmarked DSE against the opensource Apache Cassandra and proved it to be 3x-10x faster than the Open Source version on throughput and latency. The same story is repeated with Apache Spark and Databricks which is the commercial distribution of Spark. Databricks claims their version of Spark is 50x better performance than the Open Source Spark. What are the implications here? The TCO of deploying Open Source version would be 300% – 1000% worse than deploying DataStax Enterprise in terms of hardware costs. What you save in licensing, you lose in hardware and people-cost of supporting the Open Source version.
VoltDB Community Edition runs the identical code-base as our Enterprise Edition without a few features like Command Logs, DR and XDCR. Any bug-fixes and performance tuning improvements benefit both versions. When testing side-by-side, you get identical performance between Community and Enterprise versions of VoltDB. We just announced our support for just the community versions for customers that do not want the enterprise features. Read up on our new announcement for that.
What I want to leave you with is the notion that there is no free lunch. There are certainly use cases that require Open Source. But Open Source may not be the answer to all customer needs. VoltDB offers both and we are upfront about it. Make up your own mind on which solution is right for you.