Percona, a company that offers open source databases as managed services, has an ambitious goal: “… anyone, anywhere, should have free access to the software and tools necessary to turn their ideas into a viable business.” The only problem with this high-minded sentiment? The software to which Percona wants to provide “free access” is owned and/or primarily developed by others, who may not like sharing revenue with Percona.
Indeed, as Percona co-founder and CEO Peter Zaitsev put it in an interview, “We’re in an interesting situation, because for MySQL [Oracle] and MongoDB, we are working to increase the adoption of technology by promoting the technology. But at the same time, we often can be seen as a competitor by the company.” In such a world of open source but (relatively) closed governance of the code, does open source even matter?
Absolutely, said Zaitsev. Let’s look at why.
SEE: Special report: Prepare for serverless computing (free PDF) (TechRepublic)
Different kinds of community
Long before Oracle acquired its way into ownership of MySQL, very few outside the MySQL AB engineering team contributed to the core of the project, said Zaitsev, who once worked at MySQL AB. Instead the focus has always been about “driving the product roadmap based on our customer needs,” he said. The MySQL engineering team under Oracle’s guidance has continued this practice. Yes, there are some small changes accepted here and there by outsiders, including from Percona (which is filled with MySQL experts), but MySQL’s open source license doesn’t change its closed project governance.
Historically, this hasn’t really mattered, because few are technically competent to contribute, said Zaitsev. “You really need to be a damn good C developer to contribute things into the core. [Of all those who use a database like MySQL,] I would say 90% of them probably don’t even know C.” As such, most MySQL users were not in a position to become contributors.
But this doesn’t mean the open source license doesn’t matter. Even if Percona is barred from making larger MySQL contributions upstream, access to the source code enables it to understand and support the code:
Some of our customers say, ‘Percona offers amazing support. Why don’t you support Oracle or Microsoft SQL Server?’ In this case, we don’t have access to the source code, so we won’t ever be able to understand the software as well as the teams inside Oracle [and Microsoft], or provide fixes to our customers. We will be forever second class, if we choose to do that. In open source software, Percona engineers have the same access to the source code as MongoDB or [MySQL] engineers. Assuming we have equally good engineers, frankly, we can provide equally good services.
Except, according to Zaitsev, the MySQL engineering team has taken to “helicopter open source.” What does this mean? “They do not really provide all the details of all the patches in the source code, but periodically just dump whole new versions to GitHub.” Why go this route? Because, said Zaitsev, this makes it “harder for people who fork MySQL to cherry-pick fixes, like security fixes, and apply them.”
SEE: How to build a successful developer career (free PDF) (TechRepublic)
This approach makes sense from an anti-competitor stance, but it’s not good for community or customers. Or, for that matter, for the company engaging in the practice. By taking the “helicopter” route, for example, the MySQL team blocks itself off from community insight into better approaches to security, for example. “Getting that feedback before you actually release your software is valuable, because you get better quality,” said Zaitsev.
Free as in freedom
What if you could get that same database (or other software) for free? Proprietary but 100% free? Wouldn’t this be just as good as open source, I asked?
No, Zaitsev replied, for a few reasons.
First, developers might not want to be locked into infrastructure that they can’t easily change–something that might be of particular concern for developers outside the US, especially in our current geopolitical climate. Zaitsev, who originally comes from Russia, told about how “in Russia in the 1990s, I could buy Oracle or Microsoft SQL Server for half a dollar.” Sounds great, right? Well…. “The relations between the United States and Russia went south, and some of the companies could not, because of sanctions, get their Oracle updated. They couldn’t get the new updates and security fixes.”
Even if you don’t take geopolitical issues into account, Zaitsev declared, “If you look at especially long-term perspectives, there is a lot of one-sided control” with a proprietary license, even one that initially comes at zero cost.
Percona tries to remove that “one-sided control” by religiously adhering to an open source project’s upstream. “If your application runs on MySQL and doesn’t run on Percona Server, that is a bug, no questions asked,” Zaitsev concluded. Where the Percona code base diverges (perhaps adding technology missing from the open source build of MySQL or MongoDB, for example), Percona open sources all of its code, putting customers in control.
Those customers, in turn, are moving to open source databases. With very few exceptions, all of the most popular databases over the last 10 years have been open source. While enterprises will be reluctant to go through the bother (and license fee fight) of swapping out a proprietary database, new applications are almost always going open source. For these, Percona hopes its 100% open source approach will be a winning strategy. So far, so good.
Disclosure: I work for AWS, but the views herein are mine and don’t reflect those of my employer.