What If…..

May 6, 2009 / By Sheeri Cabral

Tags: , ,

So, I was pointed to a post by Dean Ellis saying that MySQL needs a mothership which was written in response to another post by Baron Schwartz saying a mothership might not be the best thing for MySQL. Selena Decklemann recently posted about the issue of not having a company behind the software in the Postgres world.

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

13 Responses to “What If…..”

  • Steve Curry says:

    Depending on what timeframe that Dean was referring to when he said *create*, the two of may completely agree that a commercial entity certainly helped MySQL success (at least in the beginning).

  • Dean Ellis says:

    “The first is difficulty in accepting contributions back from the community.”

    You acknowledged that this was not the result of a business decision, so how does having a central company behind the product create this problem?

    Furthermore, how many community contributions do you believe have actually been held up (regardless of reason)?

    There is no great horde of experienced database developers anxiously waiting to push their high quality patches into MySQL.

    We’ve definitely had problems in this area, and we’re definitely correcting problems in this area, but let’s maintain perspective. :)

    “The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.”

    Such as?

    “In fact, the real value of the company seems to be documentation and QA.”

    I doubt that “The Ecosystem” is at all equipped to “take over” the enormous scope and scale of work performed by the commercial companies at the heart of this product (Sun/MySQL and Oracle/Innobase), which I think you have grossly undervalued.

    I could be wrong. I’m certainly not hoping to be proven correct…

    “All I am saying is that it is not NECESSARY to have a company behind MySQL.”

    As I’ve claimed elsewhere: opportunities would remain without “the company”, but of a different (reduced) number and nature.

  • Davi Arnaut says:

    “Legacy code and hacks were *enabled* by having a centralized place for development.”

    Unfortunately, this is not logically sound. Although the characteristics of a distributed development environment might affect the quality of a project, overall the defining factor is how well the software is designed. And a good design is difficult to produce in a centralized or distributed place, it doesn’t really matter much.

    For example, take a look at a sufficiently large project as the Linux Kernel. You will surely find good stuff and bad stuff.

  • Sheeri Cabral says:

    Steve — absolutely! Mostly, I wanted to point out that arguments on both sides can be made to say “the company made MySQL a success, and may be contributing to things falling apart”, but either way the software will live on.

  • Sheeri Cabral says:

    Actually, Dean, your argument contradicts itself. You doubt that the ecosystem can take over all the work that the company has done, yet you say there is more opportunity because the company exists.

    So….If the company didn’t exist, the ecosystem wouldn’t be able to take over all the work that the company is currently doing. This means that if the company didn’t exist there would be a lot of shoes to fill, and yet somehow there’s MORE opportunity because of the company?

    There is no doubt that more people in the MySQL ecosystem have created more opportunities. The company/ies behind MySQL have, too — whether they’re Pythian, The Monty Program, MySQL AB or Sun.

    (As for whether or not the ecosystem can take over the work the company is doing — I believe it can, but not immediately. Developers and engineers leave the company, but most don’t leave the ecosystem!)

    Davi — it is logically sound. If you have a project that has decentralized engineering, it depends on contributions from outside the core of the developers. Problems come about if outside contributions are difficult to merge back in. In a decentralized environment, these issues are worked on sooner than in a centralized development environment.

    I didn’t say that centralization *created* the difficulties, just that it’s possible to go longer without fixing it, because if you have most of your development centralized, it’s not as critical to be able to accept external contributions.

  • Sheeri Cabral says:

    Dean — you’re also completely missing my point. Twice I said I was not making a value judgment of the company itself. You keep making value judgments, I am not.

    I said that there are folks outside the company that are fulfilling the *roles* of development, training, support, etc. I did not say whether they surpassed the level of work the company does, or fell extremely short of the level of work the company does. I could — for example, there’s much more support externally, and much less development externally.

    However, I was merely stating that there are already frameworks in place for handling the *functions* — I said nothing about the *capacity*. Why? Because I wasn’t making a value judgment.

    All I’m saying is that a company behind MySQL isn’t necessary. If there is a company, it will continue to provide development, opportunities, etc. If there isn’t a company, though, there will still be a lot of good MySQL work being done out there.

  • Dean Ellis says:

    Sheeri,

    “You doubt that the ecosystem can take over all the work that the company has done, yet you say there is more opportunity because the company exists.”

    The number and nature of opportunities that exist in the ecosystem today are a result of the fact of “the company” existing in the first place, and the work that “the company” performs. It’s a combination of (many) factors.

    The opportunities available to “MySQL sans official corporate owner” would be reduced in number and nature simply due to the lack of the organizing “force” of an official corporate owner.

    The work performed by “the company” is such that the ecosystem cannot really absorb it, meaning among other things that the product itself becomes immediately less attractive, also reducing the number and nature of opportunities available.

    Et cetera.

  • Arjen Lentz says:

    Very nice write-up Sheeri.
    The success of MySQL both as a product and as a business is actually described well in “The Innovator’s Dilemma” by Clayton Christensen. Its sequel “The Innovator’s Solution” clarifies where things can go wrong along the way with disruptive innovators. Ironically (given the book titles) these are exactly the things that MySQL the company has tripped over. It reads like a biography. It’s interesting and educational.

  • Gerry says:

    From my own experience (after working for MySQL – and then Sun – for more than 6 years) both good and bad things came from MySQL having a mothership: MySQL AB/Inc.

    Without it, there would be no Users Conference, no commercial partnerships (many grew thanks to these partnerships), no adoption by many of the biggest commercial companies around (their lawyers won’t allow them), etc.

    Without it, there would be more community contributions, most likely more modular code (maybe better plug architecture for more than just storage engines) and faster evolution (Postgress has evolved faster over the last few years).

    My conclusion, MySQL is what it is today because of MySQL AB/Inc. Without it, it wouldn’t have ceased to exist (and it won’t die if it has no mothership today), but it wouldn’t be what it is today either. It would be better or worse? I don’t know, my crystal ball is being serviced right now.

  • “MySQL development would have to be picked up by other people/companies. This last part has already started happening.”

    […]

    “I see development happening inside the company and outside the company. […] Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features).”

    I think it’s great what percona and google and Monty Program AB are doing, and they deserve all the credit for their skill and insight in the problems and solutions re. MySQL.

    However, with all due respect, improving upon an existing product is IMO quite a different ballgame than maintaining an entire server + tools.

    In my opinion, the value of the percona and google patches consist to a large extent by their potential of improving the MySQL mainline. By definition, these improvements are shaped by the direction taken by the mainline. This type of development is different from maintaining and leading the development of the server (and tools!) on the mid- and long term.

    I am not saying that these companies aren’t capable of maintaining the entire server (and tools) – I’m just saying that they currently aren’t doing it. They might start doing that when the company backing is gone. Then again, they may not.

    You say that “…[third party development] …has already started happening”, implyiing this will continue or even expand. But I think the value of the investment in doing this could take quite a blow when there is no company taking care of marketing and proliferating the main product on the scale that is currently manifest. Without a clear mainline, it becomes more expensive to invest in a particular branch or flavor of mysql.

    For storage engine development, the prospects are perhaps a bit better. I can imagine XtraDB and Maria (and other sotrage engines for that matter) being used as datastores in their own respect, without MySQL. However, today, their value is still very much defined by their ability to be integrated inside MySQL.

    Because the company backing is instrumental in marketing the product and creating a climate that makes it easy for developers (documentation, tools) to work with MySQL, there is more of it around, and thus more platforms to land these storage engines in.

    Perhaps I am too reserved, and perhaps these companies will be able to converge and maintain a strong mainline MySQL in the absence of company backing. But all I’m saying is, its a bit too soon to assume that this actually will happen.

    kind regards,

    Roland

  • Steve Curry says:

    So — has not having a successful mothership HAMPERED PostgreSQL?

  • Sheeri Cabral says:

    Gerry — yes, exactly. I’m talking about from this point in time forward.

    Steve — If you look at Selena’s post, she seems to say that lack of a mothership has hampered the ability of Postgres to spread.

  • […] And that got Sheeri’s Cabral’s attention—she took the middle path in her post, What If, and her readers had plenty to […]

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>