I’m writing this post after reading Downloading MariaDB MaxScale binaries, from Percona’s MySQL Performance Blog.
I was already aware about the problem: MaxScale is open source, but the binaries are not free. You can download them and use them for testing, but if you want to use them in production, you’ll need to buy MariaDB Enterprise.
Note that MaxScale Docker images seem to have the same problem. I’ve tried some of them, but all those I’ve tried were running MariaDB Enterprise binaries, so using them in production is illegal (unless you pay).
The alternative is… compiling MaxScale. I had problems in doing so and couldn’t solve those problems myself. From the MaxScale Google Group, I see that Justin Swanhart had the same problems… so I don’t feel particularly stupid for that.
After some questions on that group, 2 posts were published on MariaDB blog:
When I tried them, the first one worked for me, while the former didn’t.
But in any case, even if you are able to compile MaxScale on your Linux/BSD of choice, updates will be a problem. You will need to compile all next releases of MaxScale, which is simply not a viable solution for many companies.
This prevents MaxScale from being as widely used as it could be. The lack of free binaries is a problem. I understand their commercial choice – it is legit, but I don’t agree. First, because open source shouldn’t work in this way. Second, because the lack of free binaries could bring some customers to them, but… most probably, it simply prevents lots of people from trying MaxScale at all.
This would be negative for any software project, in my opinion. But I think that it is particularly negative for MaxScale. Why? Because it is amazingly versatile and writing a new module is amazingly simple. This combination of characteristics would make it greatly benefit from being widely adopted – people could write new modules and distribute them.
Please, MariaDB, reconsider this choice.
Federico
Pingback: Requests for MariaDB | Database Administrator
Just for the record, MaxScale binaries are now available without any registration or evaluation agreement:
https://mariadb.com/blog/downloading-mariadb-maxscale-binaries-without-registration
and http://downloads.mariadb.com/files/MaxScale/
Pingback: Requests for MariaDB | Todd's MySQL Blog
Back in the day, Sun tried the same approach of “artificial scarcity” by hiding GPL-licensed binaries and source behind a paywall. Jeremy Cole promptly took MySQL Enterprise source and binaries and published them for all:
https://www.percona.com/blog/2008/07/01/should-we-proclaim-mysql-community-edition-dead/
It’s interesting to see MariaDB pursuing these same policies which didn’t work so well, and were certainly not that popular with the community. They have “certified”, “optimized”, “stable” Enterprise server binaries, while marketing the community binaries as more “experimental” and “cutting-edge”:
https://mariadb.com/products/product-faqs?qt-faqs=0#faq_650
It will be interesting to see whether the community responds similarly by providing MaxScale and MariaDB Enterprise binaries from non-MariaDB.com sources. I see a lot of parallels to the failed Sun policies, but maybe there’s just not as much interest as there was then.
What is stopping another person from just making an RPM spec file and using the repository hosting tools to make these themselves? https://webtatic.com/ already does this for newer versions of PHP.
These instructions are not very onerous:
https://github.com/mariadb-corporation/MaxScale/blob/master/Documentation/Getting-Started/Building-MaxScale-from-Source-Code.md
Would only be a solution if the company doing this is reliable. I wouldn’t rely on packages made by a small, unknown company. Anyway, currently nobody is doing that.