MySQL CEO Mårten Mickos Answers Your Questions
You asked. Mårten answered. He even added (and answered) a question he wished had been asked, but wasn't. If you have a comment or follow-up question, please post it. Mårten will spend as much time responding to your comments as his schedule permits.
1) Re:Biggest Problem?
by wild_berry
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'
by OakDragon
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?
by eldavojohn
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?
by bzipitidoo
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
by 99BottlesOfBeerInMyF
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
by eldavojohn
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?
by MarkWatson
Hello Marten,
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,
Mark
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
by eldavojohn
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.
Marten
------
by wild_berry
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'
by OakDragon
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?
by eldavojohn
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?
by bzipitidoo
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
by 99BottlesOfBeerInMyF
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
by eldavojohn
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?
by MarkWatson
Hello Marten,
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,
Mark
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
by eldavojohn
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.
Marten
------
"If you have a comment or follow-up question, please post it. Mårten will spend as much time responding to your comments as his schedule permits. "
Hopefully we'll treat this interviewee better than the last one.
I know three local(ish) MySQL employees, and they're all great people who've been pretty much the best at what they do.
So shouts to Arjen Lentz, Stewert Smith and Colin Charles.
/* FUCK - The F-word is here so that you can grep for it */
The MySQL CEO's responses are very fast, but he still lacks ACID compliance.
On that note, one last question I had though of would be, "Do you view yourself as a typical CEO or an abnormality in the pay-band of sharks that upper corporate America so often seems to be?"
Thanks again!
My work here is dung.
These are good responses. I, as a reader, appreciate the time you put into this. I have been a fan of MySQL for a couple years now and really appreciate the product. In my circle, MySQL 5 has come out as a serious competitor to SQL Server because the few thing we needed in SQL Server (stored procedures) can now be done in MySQL. This is fueling the considerations of embracing more open source products in our organization.
One day the toilets of the world will rise up... And I'm going to nuke them.
MySQL is facing extreme competition from above and below. PostgreSQL is currently expanding both upwards towards Oracle and DB2, while concurrently expanding downwards towards MySQL. On the other end, SQLite is rapidly putting upwards pressure on MySQL. We find that both of these alternatives have a much friendlier licensing scheme than MySQL, and both have features and quality that MySQL currently lacks.
How will MySQL respond to these threats? With SQLite being a suitable replacement for low-end tasks, and PostgreSQL proving excellent for anything beyond what SQLite can't do, is there really any need for MySQL these days?
It's no doubt that people will continue to use MySQL for years, just due to their current investments in existing MySQL installations, as well as the time they spent learning MySQL. But beyond that, does MySQL have a future?
This is a CEO talking. He is incapable of really talking techie - so it should be no surprise that his answers sound very "fluffy". He is, after all, the CEO, charged with the task of maximizing the public image of his company.
/. is going to attract.
He all but refuses to give advice where he's uniquely qualified to do so. (you have to really read between the lines to see that he does, in fact, answer the question, but in a VERY indirect way) He doesn't really comment much on any tech questions other than to paint pictures of daisies all over the question.
So, he's probably a good CEO - but these answers won't mean much to the tech types that
I have no problem with your religion until you decide it's reason to deprive others of the truth.
What is the best advice/suggestion that a person just starting to use PHP+MySQL could get ?
... at a job interview. Been plenty of times where I've been asked about MySQL. I don't think there is any danger of MySQL not having a market.
Just do a search on Monster. 101 job hits come up on Postgres. 3 job hits come up on SQLite. Thousands of hits come up when searching for MySQL.
With all this discussion of free-as-in-free and free-as-in-beer...
What is your favorite carbonated alcoholic beverage?
meh
He's a CEO and he spoke to the business side of each question. For example, look at his question about whether MySQL was going to get into the database appliance market. He said point blank that MySQL AB is going to focus on their engine and let others do the integrating of software/hardware. That is a direct, non-nonsense answer.
Further, many of the questions were very poorly formed, especially in light of the fact that they were being directed to someone running a business rather than writing code. For example, the question of whether databases will be deprecated in favor of file systems. From a business perspective that is a meaningless question as the functionality remains the same. It makes no difference to a company like MySQL whether they're selling their engine as a MySQL DB or MySQL FS. He even hinted at the lack of differentiation in his answer that of course the fs folks say that the db will go away but we see it as the fs going away. If the fs and db merge then it follows that db vendors become fs vendors and vice versa. Its not really a very interesting question from the business perspective other than it puts competitors from two separate market segments where they are notin competition with into a new market segment where they are in competition with each other.
MySQL is all the database that most applications need. Consequently more people use MySQL than PostgreSQL. Most (not all) organizations that need the features of PostgreSQL that MySQL lacks already have Oracle, DB2 or Informix licenses and tend to use those. Not only that but MySQL for a long time was superior to PostgreSQL (lower hardware requirements, faster to configure, higher performance on simple queries when used as a web front end) in very influential markets during the dot com boom. The result is that there are a far larger user base of people with in depth knowledge of MySQL than for PostgreSQL.
Or another way to look at it, for a long time MySQL was the quick and dirty solution. In many IT market segments, the quick and dirty solution is the most attractive solution. Consequently, MySQL is one of the most (if not the most) popular open source database because it was good enough at doing what needed to be done at the right time. From an evolutionary perspective this is all that is needed.
I met one of the co-founders at our Linux user group (www.flux.org). He's a great speaker and *extemely* humble. If you get a chance to see him speak, do so..
Why is there always some nutjob who has to shit on everything? I didn't see any intricately detailed tech questions, so the poor guy couldn't have answered them. On the other hand, I saw a series of questions which intelligent slashdotters knew would be answered by a CEO, not a coder, and the guy did a very nice job of answering openly and inteligibly.
Go back under your bridge, troll.
As a bona fide geek, I'd much rather the world run on TRDBMS (where the T stands for Truly) systems rather than the SQL engines being touted as RDBMS solutions by the big database vendors. But the fact of the matter is that few business applications require a rigorous database schema and enforcement of Relational Integrity so that the results of various queries can be theoretically proven to be correct rather than being merely being tested and passed against use cases. Situations that require this level of rigor do exist. People in those situations will tend to use a more robust database system.
But if you're making a web discussion system or a relatively simple retail site, there is not a pressing need for that depth. And in a world of scarce resources, your time is often more valuable being put to other tasks. Frequently, the money meter is ticking down and the choice is between a quick and dirty solution and no solution. In that case the quick and dirty solution is clearly better. And in many cases, there is no need to expand it beyond what it is. Not all problems for which quick and dirty solutions are possible ever require scaling up into something more refind.
The question was about the future. While you're correct, MySQL may be edging into the commercial market at this time, what's to really stop PostgreSQL, or even SQLite, from eventually doing the same?
I gather than MySQL is only ahead at this point because more people know of it. It does get far more press coverage and shelf space at bookstores than PostgreSQL gets. But people are beginning to learn more about PostgreSQL, and it's use is growing. The same goes for SQLite.
Frankly, I don't think many companies give a damn about contributing to the FSF, fighting software patents, and so forth. What matters is their bottom line. And if going with PostgreSQL will save them licensing costs, due to it being released under the BSD license, then they'll go with PostgreSQL. They'll be even more eager to go with PostgreSQL when they find out it offers enterprise-grade features that MySQL still lacks. There are enough firms and consultants out there who offer reasonably priced support, so that's not really a problem. In the end, the reasons for going with MySQL appear quite minimal, while there is much to be gained by going with PostgreSQL. How will this sort of decision making in favor of PostgreSQL be addressed?
I'm surprised that there were no questions about the real crisis facing MySQL which is that their two most reliable transactionally aware storage engines, InnoDB and BerkeleyDB, are now both owned by their competitor Oracle.
Isn't anyone else here concerned with that or is it really true that MySQL is only used as a relationally aware ISAM?
For quite some time, installing PostgreSQL on Windows was either a long and complicated process involving manual creation and configuration of user accounts and manual registration of services or installation of Cygwin. Back in the late nineties and early oughts when MySQL started to gain its mindshare ascendency over PostgreSQL, getting PostgreSQL to run well on Windows was something of a tiresome task. For some of us, the payoff was well worth it. For those looking for a quick and dirty solution, it wasn't worth the hassle.
Unfortunately, I missed the initial call for questions, but are there any plans for MySQL to support bi-temporal queries? Tracking history of values in a database is a problem I'm constantly running up against, and there doesn't seem to be a vendor out there who is addressing the problem.
mysql is more difficult to use then postgresql because of missing features and features that do not work as expected. For example when you try to join views that just works on postgress (and other databases) but mysql can not use its indexes so that the join is not realy feasable time wise . Not having views makes a lot of problems more difficult. The stored procedures are nice but also have some terible rough edges that makes using them very difficult. having to think about what kind of table to use is also not userfriendly and i think it is a source of confusion on features and benchmarks (yes it does support transactions and yes it is fast but not at the same time. inno db is very slow!!! compared to the competition )
You've never been interviewed at Roaring Penguin, I guess.
There are tons of companies using PostgreSQL, but a lot of them tend
to be quiet about it. Quite a few "black box" appliances use Pgsql under
the hood.
I have seen statements where people from mysql have said that the pluggable storage engines for mysql ( e.g. MyISam , InnoDB) are a big advantage. I have found the differing storage engines to be troublesome in real world use as you have to take into account the table type to know what features you can rely on. For example
no referential integrity/ transactions in MyISam
no full text searching in InnoDB
Differing backup and restore procedures for the different engines.
Are there any plans to upgrade one of storage engines to have a full feature set so that you could use that by default then use one of the others if you require a limited feature set but high performance?
Many of the people who trash MySQL, and MyISAM in particular, seem to come from a formal CS educational background, or at the very least were trained on commercial RDBMS's that supported all those whiz-bang features that MySQL lacked for so long (and still lacks, in a few cases). I, on the other hand, knew next to nothing about databases when all of a sudden I had to build an entire infrastructure around one, with next to no money. Yeah, I know, this is insane, blah blah blah, but that was 8 years ago, the company itself is now 10 years old, and the gamble paid off. My point, however, is that I didn't have these preconceived notions about what a database server was supposed to be, so I just worked with the limitations of early versions of MySQL and grew as its feature set grew.
Even today, I find MyISAM extremely useful. Many of our data sets are big (hundreds of millions, or well over a billion, records in tens to hundreds of gigabytes) but are essentially read-only. For these, MyISAM is great. I can load and index the data on a machine with tons of RAM and fast disks, then copy it to much less powerful production machines and, with all the heavy lifting done, I have lightning-fast access to my data. It's great. Backups and crash recovery are much easier when you can just resynchronize sets of files using rsync, never touching all those huge tables full of read-only data.
ACID compliance and transactions just aren't necessary for everything a database server does in all contexts. Sometimes the reduced overhead and simplicity of the problem means MyISAM is the best choice.
> MySQL AB can just fork'em
right, because transactional engines are:
- because they are trivial
- because the need for consistency with the rest of the storage engines isn't important
- because developers are a dime a dozen
- because healthy and productive open source projects are such a breeze to create
- because none of the existing developers in the employ of oracle are encumbered by ip agreements
and most importantly:
- because
Martin, here's hoping you are reading at score 0.
Every time I see a MySQL presentation, I ask the same question.
When will MySQL get sequence support.
The answer is generally the same. A shrug, something about how MySQL already has AUTO_INCREMENT, and "why would you need anything other than that?". Maybe you don't have the best speakers in Australia, but they've seemed woefully ignorant of the entire point of what a sequence does.
For a number of more interesting algorithms, sequences are amazingly useful or utterly essential. Things like data structures with NOT NULL circular or self references.
Things like the ability to take a whole bunch of data out of a database (complete with references) and clone it (by pulling all the ids in advance and remapping the ids to the new set, then inserting them all at once) or to "cut and paste" large chunks of data with complex schemas into a different database. Or having shared identifier spaces (by having more than one table use the same sequence, etc). The list of things you can't do without seqeunces goes on and on...
Workaround for these in the MySQL case has always seemed to be that you need to insert things correctly in the right order, based on the individual application (which with the circular case above isn't possible of course). And yet with proper sequence support, you can do all these things on arbitrarily complex schemas with a single algorithm/library and not have to continuously reimplement the (often hideously complex) functionality over and over again.
So my question to you is the same as to the others, since I'm assuming you at least understand what a sequence is and what it does.
When will MySQL finally get sequence support? If it won't ever get it, why not?
Another area that has been worked on has been to allow database developers to embed more and more complex SQL-based scriptlets and "helper" functions into the database. However, it is a truism that interpreters (even of bytecode) are painfully slow and offer nothing that a module plugin mechanism wouldn't have (provided you could install modules via SQL statements) and most developers would be better leaving data processing to the clients rather than the server anyway. (The closest I've seen was Informix' blade technology, and that was horribly unreliable and tedious.)
The bottom line is this: There have been a lot of database innovations over the years. Some - I'd say most - have been great ideas but the popular interpretation and implementation has been terrible. This is not the fault of any of the ideas, but I would take it as suggestive that programmers are not being as imaginative or creative as they could be.
My question? How can a database company:
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Specifically it is common (and good) advice for Oracle.
:-)
There is overhead to running a query optimizer. MySQL chooses to have a shitty optimizer which takes very little effort to run. It is therefore not a big deal to not hit cache very often but the flip side is that MySQL tends to choose poorly when it needs to generate a complex query plan. Oracle makes the reverse decision, it has a good optimizer but the optimizer runs slowly. Furthermore there is a global lock involving that optimizer. The result is that a very good Oracle database can fall over if you're preparing too many different queries. Instead prepare just a few queries and use placeholders. That way you can hit cache all of the time.
So it is good advice. It is just good advice for a different database.
.. nor have we ever heard about it.
On the lower priced web-hosters, PostgreSQL has been almost non-existant. That is just begining to change.
This doesn't necessarily mean that it's slipshod or crap. It means that a conscious descision was made as to what level of qualify needs to be enforced and testing was calibrated to meet that level given the number of available resources in time and money.
Hi Mårten, I can't pronounce anything that's not on my keyboard, so how do you pronounce your name?
Tryed to do in MySQL nested queries with LIMIT in inner circle?
Why MySQL up to 9x times slowers in trivial tasks (selects) compared to SQLite?
I have 400k rows of heavily crunched data (telecom CDRs) and SQLite just works, faster and painless.
Who let new people in the pool?
But Herr Heisenberg, how does the electron know when I'm looking?