How the co-creator of MySQL came to love databases
17th Feb 2013 | 10:00
We meet Monty Widenius, the man who put the 'M' in LAMP
Monty Widenius, the co-creator of the MySQL database, became a multimillionaire when MySQL was sold to Sun Microsystems in 2008. But Monty subsequently left MySQL just before Sun was acquired by Oracle, and hired many of the original developers to work on his fork, MariaDB.
We met up with him in Portland to discover why the free software philosophy matters, what went wrong at Sun and why the history of MySQL contains more drama and intrigue than season one of Dallas.
Linux Format: We've always found databases the hardest subject to engage with.
Monty Widenius: I know, I had exactly the same thing the first time I engaged with databases. I hated it.
LXF: What changed? And how has it kept your interest for so long?
MW: It actually started in '81, when I was employed by a company, and it used a version of BASIC that had a way that you could access data. They asked me to move these to TRS-80 with TRS-80 BASIC, and you had no database whatsoever, and nothing to store data.
This was just before I went to college, and I was wondering one day how to store data on a disc so that you can retrieve it. Then I came up with a way to do that, which I later in college found out to be called hashing, but I didn't know that. And, actually, we based the whole payment system program on that.
LXF: So you were teaching yourself?
MW: Yeah, everything. When I went to college I did study computer science, and basically I learned one or two algorithms; then I learned what I'd found out myself was called hashing. But I mostly researched it.
LXF: When did the free software philosophy become part of it?
MW: When I went to UNIX - that was in '84, I think. In '85 there were cruises between Sweden and Finland where Minix was announced, and I was on one of these cruises together with David Axmark, the other founder of MySQL. We had already started to use Emacs and looked at GCC, then we kind of got more involved and started to use it more and more.
I started to work with companies who were using Solaris. Finding all the Solaris shells was quite awkward. So we replaced all of that with Bash and GCC and everything else. That was kind of when I got really involved using open source, and because we started to go more and more to open source conferences, almost once a year, and we wanted to give something back, me and David.
However, we never had something that we thought would be useful enough so that we'd get lots of users, and we also didn't think that we'd be able to support it. Just giving out software that you can't support, that would just be adding to the pile that wouldn't be useful, and there are lots of companies that do that; and so we were searching for something that we could work on full-time, and afford to work on full-time.
So, when I created MySQL in '94, on top of the old project that was basically still rubbish, we noticed that it could be useful for us. Then we released it; then it took off.
LXF: Was that the first time you recognised that an open source licence would be beneficial for the project?
MW: We were a consulting firm, and our main thought was that the decision for doing the release was that we would not lose money compared to what we were doing by releasing this. If someone takes the software, it's still big and complex, and they'd hire us as consultants anyway. So really, we wouldn't lose money.
LXF: Lots of people would think you would, though.
MW: But back then people were really scared about releasing code, because anyone could just take it. But we released MySQL under a dual licence, so that we could be sure that if somebody wanted to use it free, and in-house, it was perfectly fine. We didn't care. But nobody could make money with it without having to involve us.
LXF: You didn't use the GPL?
MW: The GPL did exist, but we weren't using it, because that would be a big risk for a small company; so we had a licence that basically said 'you can use the source code, you can use it for anything, but if you make money with it please contact us and then we'll figure out how to do it'. And you could also buy a commercial version to do whatever you want.
LXF: So you did get people calling and saying they'd like to use it commercially?
MW: Yes. We made the licence more free in the middle of '98. We had a Windows version and then we said the Windows version - that Linux would be more free. The Windows version, we said that this is shareware licence. A shareware program. You should pay us $200 after one month if you use it, or get a very bad conscience. Your choice.
Then we had a web page on which people could register, and then they could send in a fax to pay $200, and the fax machine went continuously. So we were able to grow on that strategy from two people to 15 in 2000 by just the Windows version.
Then in '99 I got so many complaints from people: asking why we weren't using the GPL. By then we thought that we had so much money in the bank we could afford to take a hit.
LXF: You still saw the GPL as taking a hit?
MW: Yes, because as before, if you made money with our software you had to come to us. We didn't know that if we released MySQL under the GPL that people would be able to use it without coming to us. And our income did drop for two months to more than half, but within two months we were up to where we were originally. That's because we had such a big user base, and people were so happy with the GPL, so we kinda got more customers because of that. But in the initial start-up phase, we could never have had that.
LXF: Would you do the same now?
MW: We would do it again now with a dual licence, which we call a business source, which means that you say that for the next three years, here are the rules under which you can use the software. You can have any rules, it's not open source. After three years, this becomes BSD and then you can use it freely. And that means people can use it. You get the same trust as with open source.
LXF: Like a mental investment?
MW: They are not going away, you can still fix bugs and everything else. You just know that if you use it for the next three years, then you have to kind of give something back. And then the agreement can be something that makes sense for a business, because then you are committing to open source, but you are also telling your users that you need money to be able to pull it off. And I think that is a reasonable mix.
LXF: How long have you been investing in open source projects?
MW: Investing, or working with it? I mean, with MySQL I have been investing my time since '94. When I got money from Sun, I created an investment company, so we are now investing in community-driven technical projects, which can be open source or not; and I've been doing that since 2008.
LXF: How has that worked over the years? Are you seeing better ideas? Are you seeing a consistent movement of people wanting to get funding for community-driven projects?
MW: We are one of the unique investment companies that invest into community-driven projects, so we get lots of ideas. We get about three proposals a week. But most of those are ideas, and being an investment company where we've got some money from the European bank, we have a kind of commitment that we want to be sure that we at least have a possibility to get the money back.
So we can't just invest in ideas, because our expertise is not creating the community but enhancing the community. That's what I did at MySQL. I was creating it, but that takes time so we want to invest in companies that have already proved themselves. And there are not that many that have active communities who are growing. We have been able to find those 15 companies to invest in or look at investing in it.
LXF: What changed when Sun bought it? Why didn't Sun leave you to carry on as before, because it was obviously working?
MW: The problem was that MySQL was a company of two different kind of brains. You had many who were planning to do an IPO and then start to do closed-source system as well. They couldn't do that before they did the IPO or the company was sold, because I had to share the agreement.
LXF: So there were people within MySQL who wanted to do closed source software?
MW: Yeah, well this agreement said they can do that, and they kind of twisted and they did MySQL Money Administrator on the side that was closed source that they shouldn't have been able to do, but they kind of got the board to agree to that. So I was not happy with that.
LXF: This was before Sun?
MW: This was before Sun. I did know that when they got sold we would have to start pushing closed features, and I was not happy with that, but when you get investors, as the founder, you only have your say until the company is sold or there's an IPO. After that, your say is gone. So I was very happy when Sun bought us, because I hoped that the conflict between the management would go away, or at least would diminish.
Then you had our developer organisation, which was mostly pro-open source. They wanted to work on an open source project that did good for the world and still made enough money to pay our salaries. Some of these management influences had started to work on the developer organisation because they put people in charge of driving away people like me who worked for open source, so that they could start to do more closed source.
So emotionally I ground almost to a halt. I thought that, as Sun was a company that knew how development was done, they would keep the developer organisation separate from the management organisation, and basically have those as two things, and they should take the developer organisation and take it into Sun and let them handle it the way that open source projects should be done. But they assumed that everything was perfect, and all of the conflict that I hoped would be solved kind of escalated.
LXF: Why did Sun buy MySQL?
MW: Because MySQL had a user base of 17,000–20,000 customers, and some of those were the same as Sun had - Sun was different. By being able to do a full stack together with the database, Sun could access many more customers than they could do before, and MySQL could also, by having Sun as our backer, we could get into places we couldn't go into before, and Sun could go and sell hardware to them.
So they saw that with the MySQL business, which was only worth $70m a year, they could combine that with Sun's business of software and hardware, they could make a much bigger business. And I think that was kind of true, and they should have been able to do that. But the problem was to keep things too separate, so it didn't work out like that.
The other thing that I really believed could help Sun was that they did a lot of open source, but they never made money on those projects - they hoped that because we were able to make money with open source we should be able to go and teach their people to do that.
LXF: That's odd. We always thought that Sun weren't too hot with open source…
MW: They were good in sponsoring projects and getting it done, but they were not good at making money on those. They never made money on OpenOffice.org, but they did develop it for six or seven years.
LXF: But it barely changed in that time…
MW: Yeah, but that was kind of the developer groups and not Sun's fault. The problem for Sun, possibly, was that they weren't able to make money from it, so they thought that the MySQL team might be able to make money, so they would come and teach them to do that. The problem was that they (Sun) started to talk with the management, who just told Sun that: "You should do closed addon features for all your products and make money that way".
Sun said that that's not how they do open source, but they started to get bustled by that; but then me and my other people went into Sun's developer meetings and told them why management's ideas wouldn't work and they believed us, so that kind of never happened. But I wanted to help Sun to make more money with open source, and that was one of the reasons I joined Sun.
I was working with Greg Papadopoulos, their CTO, to get Sun to be more open source and involve more with the community, because instead of participating with a project that they liked, Sun would create their own project because they could do better and then they'd release it as open source. While the right way would be to get involved in the existing project, and we tried to change the mindset with them.
They kind of got that but then they got into financial troubles. Sun was a strange company in the sense that, at the top level, it was extremely good. But the next level, they were only protecting their own turf, so you had people working in one department that had to do their quota, and they knew that if they helped the other department, they could double that department's sales, but that in the process it would cost them 10% of their sales, so they were not helping each other at all.
They were basically only saving their own turf, so they could get no co-operation between their departments if it could mean a little decrease in what they were doing. This was the middle layer.
The underlying layer, the developers… Sun has one of the best groups of developers I've ever met. They were what kept Sun working as long as it did. But the middle-management, just under the top, that was the one that destroyed Sun.
LXF: So it's at that point that Sun was bought by Oracle?
MW: Yes. It was a shame that Oracle was able to do that for a much lower price than what Sun was worth. But the other side to the story, one of the reasons why Oracle wanted to buy Sun, was MySQL. They made it clear to the EU that if they didn't get MySQL, they wouldn't buy Sun.
LXF: Did Oracle want to buy MySQL simply to stop people using it?
MW: Yeah. They wanted to have control, but by buying MySQL they also had to agree in some sense to the European Union that for five years they would continue developing it. They also said that they would spend $20 million a year in development.
LXF: But they're never going to make more money from MySQL than from their own databases.
MW: Of course not. But they also have the problem that they didn't expect me to do a fork. Because that is not economically viable to do that. I've already spent €4 million on keeping MariaDB alive, without having any chance to do any big win on that. In the best case, if things work very well, I can get my money back, but not more. But people don't do that. So they never expected that to happen.
The other thing is also that they've kept a very good face on the outside of doing something with MySQL and even if they'd lost most of their good engineers, they still have the InnoDB team, and that is working very well, the NDB team who are doing their MySQL cluster, that is also working, and the application team is somewhat working.
The other teams are not really working. And they also lost control of the source code, because they don't have people who understand it, so they know they're doing strange things which causes problems for us when they do a merge because we can't accept all their changes. We have to basically redo a lot.
But fortunately, I was able to bring all the best developers into MariaDB. We are 18 people as of late July 2012, and we have all the important architects of MySQL - the people who did almost all the important features are all working for MariaDB.
LXF: How different is it now in comparison to when you started MySQL?
MW: All of Sun's customers were very scared of what would happen with their support contracts - all the sales people went out and sold 3-5 year support agreements to all the most important and heaviest MySQL users. Which means that for 3-4 years they didn't have to go out and buy support from somebody else.
So we only use MySQL code under GPL and the main revenue is support; you couldn't find the customers. So basically I had to fund everything myself until these contracts run out. We're starting to get customers now, but it took us all this time just to break even.