There has been a recent spate of blog posts and tweets regarding MaxScale binary downloads requiring acceptance of an Evaluation License that some in the community perceived to be onerous. MariaDB took quick action to make these binaries available without accepting the license, and were quickly – and rightly – praised for listening to the community. [UPDATE 2016-04-14: It turns out the measures MariaDB took were incomplete, and that accessing downloads of MaxScale still require accepting the Evaluation License terms – see comments for details] The MaxScale binaries are part of a larger concern for me, and I commented as much on the blog highlighting MariaDB’s action. That comment hasn’t been approved by the author (though later comments have been), so I thought it might not be the right venue to raise such questions – hence this blog post. I hope MariaDB proves as responsive to these concerns/questions as they were to the MaxScale binary issues!
What About MariaDB Enterprise Binaries?
It’s great that MariaDB eliminated the need to accept the Evaluation License to download GPL-licensed MaxScale binaries. Can the same be done for MariaDB Enterprise Server? Like MaxScale, it is also GPL-licensed, and the Evaluation License seems to suggest that GPLv2-guaranteed freedoms are unaffected by the Evaluation License. Regardless, the intent seems clear enough: By suggesting that usage of product for non-evaluation purposes may represent legal risk, unsuspecting or unsure users may feel compelled to pay for free software. At best, that’s a disingenuous attempt to trick people into believing they need to pay for MariaDB Enterprise Server binaries. I think the community deserves better.
If MariaDB software is open source – all of it, Community and Enterprise editions – stop pretending people need to pay MariaDB to use the best of it. Stop slapping Evaluation Licenses on top of GPL-licensed software, and just let people download and use it. Require acceptance of Evaluation License for the components not governed by GPL, such as services or the closed-source monitoring product.
For all the criticism of Oracle’s open-core approach to the MySQL business, it’s at least perfectly clear what aspects require users to pay Oracle, and which are free. MariaDB should strive for similar clarity in their own offerings.
Stop Marketing Product Differentiation
The MariaDB FAQ goes to great lengths to differentiate the Community and Enterprise binaries of MariaDB Server, using words such as “proven”, “battle-tested”, “stable”, “supported” and “certified” to describe Enterprise builds, while Community builds get labels including “experimental” and “cutting-edge”. Most people want stable, supported, proven database binaries – I think specifically the Linux distributions bundling MariaDB would find the characterization of MariaDB Community unsettling.
There’s surely a market for developers eager to try advanced new features, but the concept espoused by MariaDB marketing that this must come at the cost of enterprise-ready stability is forced. Please make MariaDB Community binaries every bit as stable and proven as the Enterprise binaries, and find a different mechanism for distributing less mature features. Again, this will bring parity with Oracle, who applies the same QA and release process and schedule to both Community and Enterprise, and doesn’t imply differentiation based on stability, quality or supportability.
Clarify Open Development
MariaDB has claimed that all development is done in public, in real-time:
Unlike some other related projects, in MariaDB all development is public and every commit done by any developer is visible in real-time to the world to build upon.
There’s certainly a lot to like about the process generally, but there are very notable exceptions. The most recent example is the announcement of the impending beta of ColumnStore. I can find no discussion on the MariaDB developer list on the topic, nor can I find a single JIRA referencing this work. From all appearances, the ColumnStore work seems to be brought to beta stage entirely internally and silently, without any public coordination or discussion. As best I can tell, there are no publicly accessible design documents or requirements, and there’s no public code branch. I have to assume that some tasks exist for this work; if I’m not just missing them in the public JIRA, perhaps they are housed in one of the non-public JIRA instances used by MariaDB?
Can MariaDB please explain how this demonstrates open development practices? It’s hard to distinguish from the practices of Oracle, who likewise just announced major beta functionality that was not previously publicly disclosed.
Free the MariaDB Foundation
I see the above as all very good reasons to question the independence of the MariaDB Foundation. Why else would MariaDB Foundation decide to not produce “stable”, “enterprise-grade” binaries for the MariaDB community? Way back in 2008, Sun tried very similar tactics: GPL-licensed Enterprise binaries and source available to customers only, with various attempts to differentiate the packages (more frequent maintenance releases, in Sun’s case). Jeremy Cole held Sun accountable by providing download mirrors of the GPL-licensed Enterprise source and binaries, knowing that the community wanted what Sun was arbitrarily (and needlessly, considering the GPL license) restricting. It took Vadim doing the same for MaxScale for MariaDB to take note.
The MariaDB Foundation is meant to ensure the community needs are never undermined by corporate interests, yet it does not do what Jeremy Cole did 8 years ago and make such binaries freely available? Kaj Arno noted at the time Sun hid GPL binaries behind a paywall that “nothing” prevented Enterprise binaries from being redistributed by interested community members, highlighting that business drivers motivated this change:
Still, we feel that most business users will see the value of a MySQL Enterprise subscription that offers regularly-reliable software updates directly from the ’source’, along with premium 24×7 technical support and proactive monitoring/advisory tools.
Why should the MariaDB Foundation put the business concerns of MariaDB Corporation ahead of the MariaDB community?
Likewise, where is the MariaDB Foundation when plans for ColumnStore were being hatched outside public view, by MariaDB captains employed by MariaDB Corporation? Why didn’t these MariaDB Foundation members say, “we should really be having this discussion on our public mailing lists?”
MariaDB has some great people working for it, and could be truly amazing if it clarified its business model, provided enterprise-grade binaries freely available to the community, consistently applied open development principles and promoted independence of the MariaDB Foundation. Repeating the failed experiments of the Sun years on binary differentiation and hiding is moving backwards, not forwards.