This post is the last in a four-part blog series by Matt Yonkovit, Percona Chief Experience Officer. Read Matt’s other blogs in the series here – “Baseline Data and the Size of the Market”, “Migrating from Proprietary Software to Open Source”, and “The Most Popular Open Source Databases 2020.”
When is Open Source Not Really Open?
There has already been much industry commentary written on the changes to licensing for many open source projects, so I won’t go into too much detail here. But, with the rise of the cloud, and cloud services offering open source as a service, we have seen traditional vendors suffer slower growth.
Open source is now so dominant and well-respected that we see companies marketing their software as “Open Source” even though it does not provide all (or any) of the benefits offered by truly open source software.
Additionally, many cloud providers offer open source compatible software, with advanced features. Although these try to maintain compatibility with their open source roots, they are not, in reality, open source.
When signing up for options like this, you should be going through and evaluating how open your database is, ensuring you understand the pros and cons of locking yourself into a contract. Not all of your applications will need all of the extras you may get with a commercial offering, so double-checking is sensible.
What is Open Source Software?
The term ‘open source’ is not trademarked, so any company can use this term to describe any kind of software. The main fall-out of this is negative press and a critical user-base, but it is unlikely to involve legal action.
In the open source (and free software) community, several reputable organizations provide their own definitions. Each uses different terminology, but this is similar enough to form an overall consensus view of what open source software means.
Why Adopt More Open Source Technologies?
Percona was founded on a belief in development transparency, and as a leading provider of unbiased open source database solutions, we care about the health of the overall open source market.
The open source community has strong feelings about how software is and should be, developed. As we discuss below, what falls under the “open source” definition can be contentious.
In our recent open source survey, we delved into some of the issues around open source software. One of the questions asked was, “What Are Compelling Reasons to Adopt More Open Source Technologies?”
The top two responses are the same ones that continue to dominate discussion on the benefits of open source: cost savings (79.4%) and avoiding vendor lock-in (62%). The advantage of having a community also scored highly (over 50%).
“Open Source” Software – What to Look Out For
“Open Source” is often used to describe software not entirely in-line with the open source software principles already mentioned. Below are some examples of software that can cause confusion.
Open Source Compatible
Some software states that it is “Open Source Compatible,” but it does not claim to be open source. Amazon RDS Aurora, for example, claims to be compatible with MySQL or PostgreSQL but is not open source.
When you hear “compatible” relating to open source, it typically means that it is easy to migrate from an open source solution to the proprietary technology, but it may be tough to return.
With open source software deployed by a vendor in the cloud, even if the “core engine” is the same as the open source version, the surrounding management interface is typically proprietary.
Springing the Trap: There is a lot of great open source-compatible software available. This can offer better performance or usability than open source software alone.
As long as you understand and are comfortable with the fact that it is proprietary software, there is no problem. If, however, you want to leverage that “compatibility” and ensure that you can leave it for a fully open source alternative, you need to make sure that you are testing for that in your application.
“Open Core” software refers to situations when there is an open source version of a product, often called “Community,” and a proprietary version of the same product with additional features often called “Enterprise.” To a greater or lesser degree, the community version can be “impaired” to ensure the Enterprise version can be successfully sold.
Although the Community version typically gives you a smaller set of features, these do tend to be secure and well-maintained as they often serve as an onboarding ramp for the Enterprise version. The Enterprise version of this software is similar to Open Source Compatible software. If your goal is to avoid software lock-in, you need to test to ensure you’re achieving this.
Open core software is often marketed as open source software. MySQL calls itself “The World’s Most Popular Open Source Database,” not “The World’s Most Popular Open Core Database!”
Springing the Trap: Avoid the Enterprise version, and stick to the Community version if you can. You should explore the ecosystem for third party solutions that offer features that otherwise only exist in the Enterprise edition.
If you’re dealing with popular software, alternatives are likely to exist. For example, Percona Server for MySQL includes many MySQL Enterprise-level features and is 100% free and open source. Even if you can’t get all of the features you need from open source software, decoupling and using alternative vendors can lower your costs and reduce lock-in.
“Source Available” is a class of license which gives you access to the source code, but has some restrictions compared to truly open source software. In recent years, many open source software vendors have chosen Source Available licenses to protect their business from disruption by large public clouds.
MongoDB is perhaps the most well-known for changing its license from AGPL to Server Side Public License (SSPL). This was not recognized as an open source license. Elastic, Confluent (Kafka), and Redis Labs have since followed this example, changing the licenses of some of their software from Open Source to Source Available.
The Source Available class of license is very broad. Some infringe on just a few of the freedoms found in Open Source licenses; others allow little beyond the ability to review the source code.
Source Available licenses are often designed to restrict competition. Although this may be good for open source vendors, it increases your chance of being locked-in, without alternatives.
As well as cloud restrictions, Source Available licenses may also restrict you from choosing your preferred vendor to help you operate or customize the software.
Springing the Trap: A Source Available license is a proprietary license, and you need to review it carefully to avoid getting into trouble.
Open Source, Eventually
“Open Source, Eventually” is a class of Source Available licenses where the code becomes open source after a set period of time. An example is the BSL (Business Source License) used by MariaDB corporation for some of its products.
Vendors releasing software under a BSL license claim it is a better choice than Open Core because, over time, new features make it into the Open Source version. In practice, though, only outdated software becomes Open Source. This is often unmaintained and can contain known security bugs. As such, it is not really feasible for serious use.
Springing the Trap: As with other proprietary software licenses, you need to be fully aware of what you’re getting into.
Source Only “Open Source”
Here, “Open Source” technically applies to the source of the program, not binaries, supporting documentation, or even full build scripts and environment configuration. As a result, you can unwittingly get yourself in trouble.
Differentiating on builds is acceptable in the open source community. RedHat uses the availability of certified builds and timely updates as the core of its subscription offering, even though the source code is available to everyone.
Springing the Trap: Even if the software is open source, don’t assume it will be easy for non-customers to install and maintain. This should be carefully checked.
For popular software, there might be third-party builds and alternatives. CentOS, for example, is often seen as an alternative build of RedHat Linux. Its binaries are available without a subscription.
It is essential that you understand some of the pitfalls that come with using open source software. This includes being aware of whether the software you want to use is truly open source or just something which uses “open” or “source” in its marketing materials.
Embracing truly open source software as the default infrastructure choice for your organization offers many benefits. It will help you to save money, provide more balanced vendor relationships, and reduce or even eliminate software vendor lock-in.
I hope you enjoyed our series of blogs on The State of the Open Source Database Industry in 2020. If you would like to learn more, please sign up for my upcoming webinar on May 6th, which will discuss The Current State of Databases. This webinar is aimed at anyone who wants to gain insight into the past, present, and future of the open source database industry.