In light of comments here about PostgreSQL being superior (and F/LOSS) technology but MySQL being used because of "MCSE weenie mentality", are you, Marten Mickos, concerned about the complacency of 'good enough' technological solutions or that Free/Libre Open Source Software may never remove the entrenched market leaders?
Mårten: Not the least. There will always be fanatical supporters of various products and projects, but I would look at what real users are saying. As an example, Nortel, Alcatel and Nokia are building new mobile phone network elements that run on MySQL Cluster. That's leading edge open source technology in some of the most advanced high-availability use. Or take YouTube or some of the other new web successes - they are scaling incredibly fast and again it is open source that powers them (MySQL, to be specific).
It is a common misperception that advanced technology cannot be easy to use. But it can! Driving a Tesla is fairly straightforward, but building one is not. Flying the new Eclipse jet is comparatively easy, but designing and constructing the aircraft is extremely difficult. And although it was pretty difficult to fly Spaceship One out of the atmosphere twice in two weeks, it was nothing compared to the difficulty of designing such a modern spaceship.
2) Perception of low quality for 'free'
How do you fight the perception that MySQL is not suitable for 'the real world' because it is free?
Mårten: That's a challenge we share with all open source products, and I believe that such misperceptions will be removed over time by the overwhelming momentum of open source at large. So it is not so much a product-specific issue. But we need everyone's help to set records straight.
3) R&D Directions?
In a market where people are just looking for stability, simplicity & scalability, where do you turn for innovation in your products? Is there a lot of research and development towards new features and completely new products in MySQL's community or do you aim primarily to do one thing well? How do you influence the direction of this research in such a large open source project? Do you attempt to add direction at all?
Mårten: I am very proud of the innovative power inside our company, but even more important is the notion that "innovation happens elsewhere" (that's a great book that I recommend, as is "Democratizing Innovation"). We just announced a new monitoring and advisory service which we have innovated inside the company and with the help of customers.
But more massive is the innovation that happens in the MySQL ecosystem - in the user space. Look at the XML wrappers, RSS converters, full-text search modules or any of the toolkits that have been developed for MySQL. Or take PBXT - a new transactional storage engine, or the custom-built storage engines that Google, Friendster and others have developed. It is in the interaction with these advanced users that we learn what's useful and what isn't.
It takes a degree of humility and openness (and eradicating any Not Invented Here feelings) to be able to make good use of innovations from the ecosystem. But in return it is a much more productive way. I see it as a Darwinian system where the best ideas survive. Nobody can know for sure exactly where the development is heading, but if millions of MySQL users try out various new ideas, all the right things get developed.
We still need to improve our ability to receive innovations from the community, but I am proud of how far we have come already. Look at the MySQL Forge if you are interested: fforge.mysql.com
4) Re:R&D Directions?
A few questions, only one about the biz. For those of us who like designing and researching and wish to spend our time on that, and don't like the thought of spending time on sales and promotion, or begging for money from VC vultures, or figuring out tax forms, stock options, and such, or sifting through thousands of resumes trying to find a few good people to hire, or knowing when a deal is a bad one to be avoided at all costs, or all the other aspects of business, what are wannabe independent software developers to do? If I try to start a business, it'd be so I can make some money doing what I like, not sink time into the business of business. How'd MySQL handle that when it started?
The parent's R&D question reminded me of another question. A goal of future versions of ReiserFS is to make database programs unnecessary and obsolete. Reiser asserts the only reason you even need a database program is because current file systems cannot do things like efficiently store, access, and query thousands of small records. File systems should be able to do everything a database can do. Apart from the bit about being in jail, is Reiser crazy, or is he on to something?
Anyway, do you recommend or favor some file systems over others for best performance from MySQL?
Mårten: I think you had a total of three questions.
First, when MySQL got going, it initially was run day-to-day by the three founders Monty, David and Allan. In the year 2000 they realised it was growing beyond what they could handle, so they reached out to get a CEO, a board of directors, and VC capital. This is a great model for those who want the company to grow and who are ready to share decision-making with others.
Your other question is about what a software developer of today could do. I believe it is easier to start a business today than 10 years ago, and I believe there are some great avenues to follow. For instance, you can develop open source software that wins the hearts and minds of users, and then you can license or sell the software to a bigger vendor if you want to avoid the hassles you mention.
Mark Matthews is a great example. He had developed the best JDBC driver for MySQL, and then we acquired his software and hired him full-time. JBoss has done similar "acquisitions". Another alternative is to build a website that provides the intended functionality as a service. The benefit there is that you don't have to build a distribution channel, because the web is the channel. And then there can be some great outcomes if you don't want to run your own company. Just look at Flickr or YouTube, for instance, who got acquired by web giants for good sums of money.
Your third question is about filesystems versus databases. If I were a filesystem developer, I might claim that databases will become obsolete. But as I am a database developer, I will claim that filesystems will become obsolete! Humour aside, I don't have a specific recommendation, but I do believe that we will always have heterogeneity in the software world. There will always be several alternative technologies for every single problem.
5) Conflict of Interest
One of the most common complaints I've heard about the business model of profiting on support for a product, is that it provides motivation to keep the product from becoming very user friendly. After all, if the product is too easy to use, who will pay for support? In my own experience, I've seen a lot of companies that consider support to be insurance, and don't use it for help with installation, configuration, or to overcome usability issues so much as a way to cover their asses in case something goes very wrong. Do a lot of your customers use support to overcome usability problems and if so, does this de-motivate you to solve other usability issues?
Mårten: This is a great question. First, I think closed source vendors are proving the hypothesis incorrect, because they are the ones who have un-friendly products although they have a licence revenue stream. And open source products, which typically lack a licence fee, are the ones with the best user friendliness. Why is that? I think the reason is that popularity is worth more than the marginally improved fees you could get for a user-unfriendly product. Sure, we lose some purchase orders because customers simply don't need our support. But at the same time we gain millions of new users, and they in turn help us develop the product and drive our marketing.
I think one of the reasons MySQL is so popular is that we continue to take user-friendliness seriously. We may joke about leaving some bugs in the product in order to have more support fees, but in reality we take the bugs very seriously. And when we at times have more bugs than we would like to have, the whole organisation is in pain until we get the upper hand and kill more bugs than we produce. Version 5.0 was such an example - when it first came out as GA it had more bugs than earlier versions. It didn't feel good to see the list of incoming bugs, so we rearranged tasks and expanded our QA test coverage in order to fix the situation. I hope you who have used the latest versions of MySQL 5.0.26 have seen the significant improvements.
6) Defects per KLOC
Your website touts you as having the lowest defects per KLOC by up to 12 times the industry standard, what do you attribute as the leading factor to your success in this respect? Since cold cash is the traditional method, how do you incentivise code quality in an open source product?
Mårten: I think open source has a wonderful benefit over closed source that often is forgotten: When you know that your work may be scrutinised in public by others, you simply do a better job. It is some magical combination of pride and (fear of) shame.
So I am claiming that the same developers will do a better job of producing open source than closed source software. The analogy is your backyard: why is the backyard never as tidy as the frontyard of a house? You spend more time in the backyard, don't you? And it is you taking care of both the front and the back. The only difference is that your neighbours see your frontyard but not your backyard. It's as simple as that.
Additionally, the reality of the scrutiny, i.e. the peer reviews, ensure that a lot of bugs and defects are detected and removed early. So I am not the least surprised that open source is 12 times cleaner than closed source. The really scary thing is all the stuff that is buried deep inside closed source software, out of the sight of everyone and without any proper stewardship.
7) MySQL business model for niche products?
First, congratulations on MySQL's market capitalization! My question is:
I have been working part time for about 6 years on software for text/data mining and general semantic information extraction. Almost all of my development is in Common Lisp, but I have ported little bits to Java and released that under the GPL in the past. I view this as a small, niche market, not like MySQL. What do you think that chances are for making money on GPLing a niche product?
MySQL is very widely used so if you capture commercial use icensing costs for a small percent of users, you do very well. For my software, with luck perhaps a few hundred companies a year might start adopting my product. Does it seem like wishful thinking for me to use a GPL based business model like MySQL's?
I want my customers to have my source code for a lot of reasons, but I would also like to capture revenue. I might just end up going to market as a proprietary product that incidently includes source code, with licensing that prohibits redistribution to non-customers.
Thanks for your help,
Mårten: Good question. I used to state in presentations that open source probably is best suited for products with huge user bases. But I was always proved wrong. Somebody would come up to me and tell about a successful open source niche product. So I have learned that you can be successful with open source in any environment.
I think the key is to provide real value to your users or customers - initially free of charge, but for continuous support against a fee. In that way you can build credibility in your market and gain important insights in what customers need, and you can also build a business. But don't think it is easy to find a business model that fits with free or open source software. It is difficult. But it is possible. You have to take some risks before hitting on the right answer.
8) Commercial vs free - where to draw the line
by Internet Ninja
I work for a good sized business and looked at using the Cluster Jumpstart but when I told my boss the cost and that we'd have to pay for flights he laughed at me, even though we're starting to really use mySQL pretty seriously now for some stuff.
With costs for things like this and gold/platinum support also relatively high on a per server basis it seems there's a wide gap between community based support which costs nothing and enterprise support which appears somewhat pricey.
How do you draw the line for paid vs free support particularly since a lot of SME's are using mySQL and may be unable to afford it? Was it a conscious decision to pitch it high to display value in the product?
Mårten: This is essentially a question of price elasticity. If we lower the unit prices, we may sell more, but will we sell that much more? If we increase the prices, we may have fewer customers but they may be more profitable.
We have an ambition to be affordable and available for all, and therefore our prices are typically a tenth of what you would pay for closed source databases. But MySQL Cluster is a state-of-the art solution that in its own market segment beats all other databases hands-down. The price may sound high to someone from a smaller company, but it is carefully weighed against market conditions. Many customers find that it is not only the best solution technically, it is also the least expensive one. If the price is prohibitively high for someone, then they can always use the community edition and do the work themselves.
9) Achievements & Fallout
In your five years as MySQL CEO, what has been your proudest moment? Do you find it difficult to lead a company based on a product that belongs to a community? Do you ever experience any fallout/backfire from running your company on such a business model?
Mårten: Thanks for the question! I felt very proud when we visited Google for the first time and people would come out of their rooms just to see the "MySQL folks". I had scheduled a CEO-to-CEO meeting with Eric Schmidt, but in addition to him we had a dozen developers who all wanted to know about MySQL internals. Fortunately, I had David Axmark (co-founder) with me and he did the technical presentation! Another proud moment was our users conference this year with a thousand or so in the audience, all gathered just to listen to the State of MySQL. Those situations make us realise that we are changing the world - we are making a difference.
The great thing with our business is that we get to pursue goals that we are passionate about. We get to work with the smartest people in the world on the newest and coolest database technologies. We get to stand up to defend the freedom of software and to fight software patents. We contribute to the wealth and happiness of what is called the bottom of the pyramid - people who may not have the financial means to buy software but who have dreams and goals they want to pursue. Of course it all needs to make sense from a financial perspective for everyone involved, so it all needs to boil down to a good business model. But, as I noted, that is exactly the great thing with our model.
But we also need to know that it is very difficult to walk the fine line between freedom of software and freedom to pursue profits. The two are not at odds with each other, but there are overlapping areas where you need to have all details right. We have made our mistakes over the years, and I hope we have fixed them. If we haven't, let me know and we'll get onto it. I am not expecting everyone to agree with our business model, and every now and then we get flamed by someone, but I do hope that people generally respect our business decisions. And so far that has clearly been the case.
A friend of mine just wrote to me: "If you can find a new way for folks to make money from FOSS without compromising fundamentals, good for you. Others can follow your lead. Just don't compromise the fundamentals." That captures the essence of the question very well.
10) Appliance possibility?
by Roblimo (added editorially
because of this discussion)
Now and then we hear rumors that Oracle is going to either come out with its own Linux distribution, sell a single "stack" with Oracle products running on Linux or else sell a complete hardware appliance that runs Oracle on Linux.
Back in 2003 there was a significant PR splash touting database server appliances made in partnership by Pogo Linux and MySQL, but we haven't heard much about that idea since. We know you now have many channel partners, including hardware vendors, but this is not quite the same.
Do you have any plans to come out with either a Linux/MySQL "single stack" software product or a preloaded Linux/MySQL+hardware appliance? And if not, would you change your mind if Oracle started selling either of these products?
Mårten: First, if Oracle launches their own Linux distro, then we take that as a great victory for open source. (And we ask - is the database next?) The most successful distros include JBoss and MySQL and many other products, so we would naturally make sure that Oracle gets all the help they need in putting our product on their operating system.
As for appliances and stacks, I am not sure that we would choose to compile our own stack. There are so many tempting business models and products, but to really grow fast there are just three main rules: Focus, Focus, and Focus. In our ecosystem we have many partners who could provide a stack, and we are very supportive of them. HP has the Linux reference architecture, Pogo their appliance, and Sourcelabs and Spikesource came out with software stacks. The power of open source and the power of LAMP is in the collaboration between the companies, not so much in what one single company can accomplish.
11) What about community?
(inserted by martenmickos himself)
MySQL is enormously popular and has a vibrant ecosystem, but it seems that the core product is primarily developed in-house. Are you at all interested in contributions, and what are you doing to stimulate community engagement?
Mårten (answering his own question): Initially, although open source, MySQL was developed by just one person - our founder Monty. Over the years we have expanded the group of developers both in-house and in the community. But we have more work to do. We need to make the product more modular so that it is easier to contribute distinct modules (such as storage engines or full-text search modules). We need to document the source code better (we are doing it with Doxygen). We need to make the contribution process as easy as possible.
We have very strict requirements on quality and ownership of intellectual property before we put something in the commercial product, but in the MySQL Community Server we are becoming much more open to contributions. We also need to set up websites and systems for broad collaboration in our community.
Planet MySQL has become a great aggregator of MySQL blogs, and the MySQL Meetups are popular local events. The MySQL Forge is a place for contributions, and soon we will launch the Winter of Code program with coding contests. For the most passionate MySQL users and developers there is the MySQL Camp in November (mysqlcamp.org). And of course all of us will get together in Silicon Valley in April for the annual users conference.
But no matter what we organise on behalf of MySQL AB (by the way, AB means "Aktiebolaget" i.e. "Incorporated"), the true value of the community will always be generated by the community itself. We are still on a learning curve in terms of all the possibilities that this offers. So please share your ideas with us. What should we do more of and what less? How could we bring together MySQL users from all over the world to accomplish bigger things? How could we together change the world for the better?
It is amazing what open source has accomplished in the last 15 years, and I am even more excited about what it can do in the next 15. But my excitement is anchored in our community. Alone I can accomplish nothing, but with the help of millions of users worldwide, we can accomplish just about anything.
I hope I answered all questions clearly and conclusively. Let me know if I missed anything.