April 16, 2014

Open Source, the MySQL market (and TokuDB in particular)

Open Source & the MySQL marketI was reviewing the Percona Live sponsors list the other day and pondering the potential success stories associated with this product or that one…. and as I was preparing to put more thought on the topic, a PlanetMySQL post caught my eye. It was penned by Mike Hogan and titled, “Thoughts on Xeround and Free!

For some reason the author of that post makes a connection between a free account in a cloud-based service and Open Source software. I think it’s an incorrect analogy, as they are two totally different things. A “free account” in this case is really just a marketing tool. Well, I admit there are companies that also use the “Open Source” mark as a marketing tool, too – we often can see this in products based on Open Core models. But in my opinion Open Core is not Open Source, and the Open Source model is something different.

Now let me state that I am not an Open Source fanatic and I totally accept different models.

Open Source should be considered as a way of providing additional value to customers of  your product. Namely, if your product is Open Source, you provide the following benefits to your customers:

  • No vendor lock-in. And this is significant. Customers often choose products that allow them to avoid being locked in to one product. For example, I believe there is no way a closed-source software product will ever be deployed in a Facebook data center.
  • No service provider lock-in. Customers should be able to choose who provides services for your product.
  • Independent expertise. Customers like to get trustworthy information that does not come from the vendor of the product.
  • A wide user base and community around your product.
  • Growing public knowledge: discussions on blogs, forums, social networks.

Well, of course, some or all of these values are achievable with proprietary products, but for me Open Source is the easiest path to all of them.

Now, I understand that you as a vendor may not like some of above. I expect that some vendors tend to love “vendor lock-in,” and it also helps your bottom line if you are the one and only service provider for a given product. But the question here is: Do you care more about your customers – or do you and your investors come first?

And it is fine (it really is) with me if you decide to take the proprietary license path, but in that case you should expect that users will choose an alternative Open Source solution, even if this solution is less functional and somewhat lower quality. And this choice is not because it is “free” as in “a free cloud database account,” rather it’s because it is “free” as in proving the freedom to choose vendors, service providers, expertise, etc.

TokuDB is a good example. Even with a great technology, before becoming Open Source they had “no fewer than 12 customers” (source: Forbes). And I name that “struggling.” I think it was the same for Schooner and Kickfire, two companies that based their products on a closed-source version of MySQL… and you know their fate – sold for assets with a loss for investors as their products did not reach a sustainable number of customers.

As for TokuDB: after its Open Source announcement, as anecdotal evidence, their website got so much traffic all at once that it went down, and within two weeks they have had more interest from the community than during all previous years. I expect that TokuDB will see a tenfold increase in users during the next year.

However, becoming Open Source, by itself, is by no means enough to have a successful business. There are two examples: First, the PBXT storage engine from PrimeBase – even with an open source engine, the company eventually could not fund further development, and this engine is pretty much dead today. Second is a recent example from the Monty Program – they have the Open Source product MariaDB with raising popularity. But as a business they failed to attract paying customers and had to merge with SkySQL.  I name that a business failure (even though it is widely publicized as a “success” by their marketing teams) – it is quite hidden among all buzz, but you can find some grains of truth in the article “Dead database walking: MySQL’s creator on why the future belongs to MariaDB.” To quote that article: “In principle, anyone who has an interest in MySQL and MariaDB surviving should contact the MariaDB foundation and ask about sponsoring it … We have some big sponsors already, but not as many as we originally hoped for .. One problem we had was that we needed to prove that MariaDB is ‘good enough’ to be able to attract paying customers ….”

So in addition to an Open Source product, you also need a business model that works. And be sure: the Open Source game is a marathon, it is not a sprint. Be ready for at least a 5-year run to gain user confidence (this is a hint for Tokutek).

To summarize my thoughts: If you are in the MySQL market and your product is under proprietary license (not an Open Source one) you set the bar to success high and you will have a harder time attracting customers, because customers prefer Open Source alternatives. This is not because everybody likes “free beer,” but because customers like freedom of choice.

Everything here is my personal position, but I welcome your comments.

About Vadim Tkachenko

Vadim leads Percona's development group, which produces the Percona Server and Percona XtraBackup. He is an expert in solid-state storage, and has helped many hardware and software providers succeed in the MySQL market.

Comments

  1. Kostja says:

    Vadim,

    In the model you describe, the world is free, the customer is happy, but no one is paying the production cost. Percona is so successful (especially was at the beginning) since it has excellent service at low cost – a situation is only possible when you don’t have to divest so much money on development.
    Yet to continue being successful in services, you need to back it up with development.
    Investing in development, in turn, is not what perhaps many think it is: new features with high yield, low hanging fruit, disrupting a commercial product with a free alternative. This is all good. But it’s maybe 10% of the cost.
    And 90% of the cost is tedious. It’s merges; integration and longevity testing. It’s R&D. It’s *distribution*, so that any user can easily get your software installed. In other words, it’s all the surrounding costs, not the creative fun of making a database.

    Who’s going to pay them in your free world? The case with MariaDB proves that nobody in their sound mind is willing to give away money for something which is available for free or at a lower cost.

    So naturally, albeit already quite strong, the engineering team at MariaDB cannot possibly convince the customer that they need to pay for their work. But together with Sky, I’m sure they will.

  2. Kostja,

    I describe not the model, but the reality I see around in MySQL world.
    And the reality is, like you it or not, that close source vendors are struggling, and open source have some chances to survive with a proper business model. As you properly describe for MariaDB model is to join SkySQL and then they have chances.

  3. nate says:

    Can you not have vendor lock in no matter what solution you choose? Whether it is open source or not? e.g. I choose MySQL, then I go write my app to use MySQL. Later I may want to move to something else, Postgres perhaps, MSSQL, Oracle, whatever. I may not be able to very easily, even to other open source platforms.

    You may be able to choose from multiple suppliers of MySQL but it’s still MySQL, even if it’s some fork like Maria DB (???) that’s still basically MySQL. You have the constraints of that platform and if you need to go beyond those restraints it may not be feasible(you may have the source, but doing anything useful with it may not be worth the effort) – hence the lock in.

    The exception might be for something that is truely and totally a standard with no custom extensions. I’m trying to think of an example but am coming up empty off the top of my head.

    I agree with most of your points though — I see (frustratingly enough) very often when people think open source the only association they make is “free”.

    I’ve worked under a few different senior management types where the first thing they ask is – “Is there a way we can do that for free?” Not caring what the underlying capabilities of the solution is, just wanting to get it free is what they care about.

    I’m a strong supporter of paying up for open source stuff – say subscribing to RHEL. Your money will go towards supporting a significant number of open source projects, and you get support(maybe it sucks) at the same time. Easier to justify then asking a company to give a donation to your favorite open source project(s).

  4. nate,

    For OpenSource database I see “no vendor lock-in” as following:
    For MySQL (and PostreSQL, and MongoDB, and Cassandra) you can actually choose who will provide you support, who will fix your bugs. I.e. if MongoDB (just examples) has an annoying bug and 10gen does not fix it, you are in position to hire 3rd-party developers to solve the issue.

  5. nate says:

    yeah in theory that is possible, in practice I’ve never seen it done. I’ve never been at any company that has hired any outside developers to fix any problems with anything related to open source.. every company I have worked at has relied heavily on open source code for mission critical stuff for almost 20 yrs now..

    more often than not rather than fix the problem(s) they try to switch to another platform (often itself open source)

    Not to say it never happens, I’m sure it does from time to time..

  6. Jonathan says:

    I agree with what Vadim said. In my experience, it is much easier to get people to pay for support once they have been using your open source product for a year or two and they need some specific help.

    In Tokudb’s case, I am wondering if there are some side benefits of going open source. Such as having other companies in the community spend resources integrating their engine in their MySQL branch/fork. Definately QA, discussions and suggestions from the community that will improve their product. I am also wondering about something that I have heard that Oracle make it quite hard and/or expensive to renew MySQL licenses, could have had a affect on the decision.

  7. There are many shades of grade between Open Source only and proprietary only software. Remember in MySQL early days before there was single close source extension or software some 70% of revenue used to come from licenses – OEM licenses. I do not know where this number is now but it is not zero.

    We also see Open Core models with MySQL getting traction (and Tokutek is actually moving to Open Core more than complete Open Source model) – Continuent, InfiniDB, Infobright all companies which seems to get some traction with Open Core model.

    I think if you’re looking at traditional distribution models the more broad your software appeal is the more you can gain from viral nature of open source. If you can get 10million installations and just 1 out of the thousand pays you, you get 10.000 paying customers – not bad at all. If the total market for software is 10.000 installations you will unlikely get viral effect to the same extent and need much higher ratio of paying customers to be in business.

    The competition also matters – for many market areas there are no good open source software so people use proprietary licensed software as there is no choice. I think this is where the advantages of TokuDB might have not been enough as the advantages compared to Innodb are relatively subtle – you need specific workloads to see the benefits and unless you get to the large data sets you will not see large benefits.

    The Cloud might change a lot in this game on many levels as it often removes distribution factor which is at the core of GPL v2 based Open Source ecosystem

  8. Holger says:

    It will be interesting to see how TokuDB will do in the future.

    Remember, aside from discussions about open source, open core, closed source – if you run a company that is supposed to be successful, you better have something people want to pay for.

    I haven’t checked out TokuDB yet, so it may be much better than InnoDB, but I assume for 99% applications/workloads mainline innodb/xtradb with mysql/percona/mariadb server will just be ok.

    My expectation is that at least MariaDB and probably also Percona will include TokuDB in their standard builds in the next 3-6 months. Actually for MariaDB it may be the first chance ever to have a MVCC/fully transactional storage engine outside Oracle that works. So MariaDB could profit most from TokuDB going open source.

    At any rate, there are already three well established companies in the MySQL Ecosystem: Percona, Oracle and MariaDB/SkySQL. Tokutek may find it very difficult to get their own niche.

  9. For pure-disk servers the advantages of TokuDB versus InnoDB are limited to a few workloads. For pure-flash servers the advantages of TokuDB are universal — 2X better compression (compared to InnoDB compression on my data) and larger (more sequential) writes means that you will buy much less flash and either it will last longer or you can buy less-expensive flash and it will last long enough.

  10. Steve Curry says:

    In the bullets above, I think you need to change “customers” to “users” — just because TokuDB has experienced great community interest in the past month hardly guarantees them any more business success than they had before they went open source (or open core).

    I would say that there have been 2 business successes in the MySQL space — MySQL AB itself because they could support/grow an open source community with a business based primarily on commercial/OEM proprietary licenses & Percona, which is primarily a consulting/services company. I guess you could also add Innobase to the list too.

  11. I think some people are missing an important part of the big picture. Tokudb are partly or mostly pushing themselves as a solution for big data – or at least allows you to delay buying something expensive from a propriety big data vendor or hiring talent to deploy and maintain something on your own.

    You can chose to stay with MySQL with Tokudb as your data gets bigger and when it passes a certain breaking point, you can either get support from Tokudb or then decide to spend on something expensive instead.
    The latter requires a ton of work, money and resources, no matter how the sales engineer tries to tell you it is just plug and play – and this makes it far less likely to migrate away.

    This is a very big nail in the coffin for a lot of the propriety vendors in this space and even those that give out community cripple-ware versions.

    Tokudb is taking away market share from those vendors by opening up their software and lining them up for support contracts down the road.

  12. The all new Phoenix “Open source” is here

    http://alturl.com/dbgku

  13. Rick James says:

    History note… In the ’60s, IBM had 70% of the computer market; number 2 had no more than 4%. It was _very_ closed back then. When you bought an IBM computer, it came “bundled” with the software (OS and compilers); no option. You paid lots for a service contract (vaccuum tubes needed servicing nightly). Sure, there were Fortran and Cobol “standards”, but everyone enhanced them to the point where a migration was virtually a rewrite. (Today moving from MySQL to/from Oracle/MSSql/etc is even more painful.) And much of the code was in assembly language for radically different architectures (this predated even the IEEE 754 Floating point standard).

    The Justice Department (and competitors like Control Data) filed suit to break up the monopolistic stranglehold IBM had on the computer business. The verdicts helped cut back on vendor/service lock-ins (Vadim’s first comments), and made for a more level playing field.

    There was no such thing as a “Community version” of anything until maybe the ’90s. (Think Netscape.) We are now re-raising those old questions about business practices, in yet a different way.

    “History — know the past, in order to extrapolate to the future.”
    It will be interesting to see how this plays out. I think it will work. Sure, the landscape will be littered with carcasses of those who did not make it; but that happens with ‘traditional’ business models. Another history note: 100 years ago (in the US), there were 100 auto manufacturers. By the 1970s there were only the “Big 4″; then the “Big 3″. Also, European manufacturers were fading away, and Asian newcomers started to take over. It’s just the way things go.

Speak Your Mind

*