But, in contrast to some open source people, Monty is easy to talk to and candid in what he says. I caught up with him on the sidelines of the recent Australian national Linux conference.
iTWire: Can you tell us a little bit about your background?
Monty: I started with computers pretty early - in 1975 - as I was in Scandinavia. I started working with databases in '81, and working with lots of different customers. I did a lot of work in data mining, and for that I created a program that over time evolved into MySQL. In 1995, we released the code that I had created under an open source-like licence for people to use.
iTWire: So initially it was proprietary?
Monty: In a sense, it was proprietary but it was just because we didn't have something we thought was usable by the masses. Because if you release something you also need to be able to support it. You also need to believe that you can get a big user group that would like to use it. I've been working in an open source environment basically since '83. And in '95, it was the first time we thought that we actually had something that we could give to the community.
iTWire: When you say 'we', whom do you mean? You and...?
Monty: Me and David Axmark. And then we had a third person, Allan Larsson.
iTWire: So after '95, till 2008 when you were bought by Sun you ran on the same licence that you were using since '95?
iTWire: What do you mean by directly?
Monty: For example, if you had a commercial web service then... if you sold the web server you needed to give something back. For the Windows platform we had a shareware licence which basically said you can use it freely for 30 days, but after 30 days you should pay us a fee. But there were no restrictions in the code. It was just that you get a bad feeling if you didn't pay. Basically we used the Windows licence to bootstrap our business. In 2000 we changed to GPL because by then we had got the ball rolling to the extent that we could afford to do it.
iTWire: MySQL used to accept contributions from outsiders. You had something like the current process which Sun has, isn't it?
Monty: In the beginning, we just said that you need to give us free access to the code. We actually had quite an active community until around 2001. Then I employed Marten Mickos to lead the company, and he employed more developers in-house. I was the one who ensured that all emails were answered so that anybody who had any questions would get an answer. If somebody sent a patch I would ensure it was reviewed at once, and then if we got agreement that we could use the code, we would use it.
But by 2001 I didn't have time to do this any more. Hence, we needed to employ somebody else to do that. And Marten said back then that we didn't need anybody to do open source because everybody was doing open source. I disagreed, but I didn't have a choice because I didn't have time. That was the time when we stopped being a real active community. We've still been active with the customers and everything else, but we haven't been active enlarging the community - the developers' community.
We have been enlarging the user base and the customer base, but not the community. And that was something I was pretty angry with, and it took me until 2005 - basically four or five years - until we got some community people and started to work actively with the community again.
iTWire: Did the involvement of other outside developers pick up after that?
Monty: No, because we had some restrictions on the licence under which you could contribute - you basically had to give us the code and then we assigned the code back. As a developer I would never accept this. But I was overruled by decision-makers in MySQL and the effect was that since 2005, I don't think we have added more than 20 patches to MySQL.
iTWire: What you're saying is, at that stage, the developer was told, "if you want your code included, you have to assign copyright to us"?
Monty: Yeah, and we will give it back then. But the problem is that that code cannot then be used by any other project. Because if another project also wants copyright, that means if you give it to us, you can't give it to them, which I think is really, really bad. One of the things that I'm really happy with Sun is Sun's contributor agreement - in effect, it's shared copyright, you still keep all rights to your code. Recently MySQL switched to using Sun's contributor licence. Now the licence shouldn't be a problem anymore. But it was a problem for many years.
iTWire: Do you feel that you can regain the ground which you have lost?
Monty: If we change the way we do distribution, (we can). The other thing that stops contributions to MySQL is that we don't release the binaries and the code as often to the open source community as we do to the customers, which basically means that if somebody contributes code to us, first it takes very long to get the code in, and also you don't get access to newest code, which I personally think is really, really disgusting.
iTWire: Would you prefer that the daily build is put up on an FTP site for people to download and play with it?
Monty: Daily builds are a problem because sometimes in development, somebody puts in code that we haven't fully tested. We only notice this during the build. That means that from day to day you have something that's broken. I like the method that we had before - we started differentiation of the code, where we do a monthly build. Anybody can access source code. You can still do it today.
But then we have snapshots when the tree happens to be green - which basically means that we don't know of any bugs. Then we also do a recommended monthly build that people can download. And the same build is recommended for community and customers. That's the way I would like to have it, and as far as I understand, that's also how Sun would like to have it.
iTWire: You feel there has been an improvement after MySQL was bought by Sun.
Monty: Yes, I'm really happy about us getting bought, especially by Sun. Many of the things that I feel have gone wrong with MySQL over the last four years, Sun has the notion that what we did before was much better than what we do today. And I have seen clear indications that they want to change - to do things properly again. If you do that, then we can have a chance to get back to being active in the community.
iTWire: What kind of a role do you have at Sun?
Monty: Currently I'm between jobs, so my only real responsibility just now is to work on the Maria storage engine. That is... trying to design a transactional storage engine that can function as the default non-transactional and the default transactional storage engine for MySQL. So that when you download something, normal MySQL version, by default, it will work for 80 percent of the people. That's quite an important project, it has got some of the best MySQL developers, and we have been doing that for some time.
I'm also trying to help Sun understand the problem with the MySQL development model, because they thought that when they bought us, everything would be perfect. We had some things that were really, really good, but there were also some things, especially the development model, that is pretty horrible. It has taken Sun a long time to realise that. But we have clear indications that they are going to fix it. I would like to see a model more like PostgreSQL, where the external community is much bigger, and contributing more code than we do ourselves. And that's what I would like to see happen.
iTWire: Despite all the problems that you've told me about, MySQL is still the most popular open source database, isn't it?
Monty: Because we had good foundations, and what we have done is that instead of using a big community to help us, instead we have to hire hundreds of engineers that would do the work, when we could do it much smarter and better. Basically we have just wasted money, for something that you could do in a more efficient manner.
iTWire: Why do you feel that came about?
Monty: That came about because of the rush of the MySQL managers to go public. They wanted to ensure that when we went public, during the first half year, you need to generate a lot of profit. Because by showing things when you go public, and generating profit, you can get good valuation for your stock. What I was afraid of in going public was that we would then have to have commercial modules and basically go back to a closed environment, even more than before.
That was why I was so happy with Sun buying us - because that basically would ensure a change from the wrong path which we have been going on, just making profit and not thinking about long-term solutions. Sun is thinking long-term.
iTWire: Do you have an objection to somebody selling MySQL as an open source package and adding proprietary modules?
Monty: I don't mind if a partner does that. But I believe that what we produce should be something that will fulfill all the requirements of normal people. Because we live by spreading MySQL. If we have a commercial model for something critical like back-up - that was tried, everybody needs back-up - that means that to be able to use the product, you need to have a commercial licence.
That means that all the benefits of open source disappear. You have a lock-in to one proprietary organisation. You can't make changes yourself because you don't have this one package. If something happens to the distributor, you can't use the product anymore. For me, if you have one critical closed source module, the code is not open source and cannot be used by anyone as open source. You need to treat it as a commercial program, a commercial closed source program.
iTWire: In your experience, thinking long-term, involving the community, means a better revenue stream?
iTWire: That means it will help to raise Sun's profile in the community.
Monty: Yes. I believe that Sun has a golden opportunity to be the biggest and most important company in the open source world. Unfortunately Sun has internal problems, as you can see from the stock price. And they haven't really decided what they want to do. Jonathan Schwartz has over and over again said how important it is to focus on the open source market and I believe him. What he believes is right. He doesn't seem to be able to get his organisation to do what needs to be done. And I have been trying to be in Sun, screaming and kicking, and trying to get them to take the right direction. Something has changed, but it's a big organisation. It changes just so slowly.
As you can see with OpenSolaris. Sun believes that OpenSolaris is much better than Linux and that everybody should use OpenSolaris. But they haven't understood the fact that if you take a normal Linux developer, he doesn't want to use OpenSolaris, just because it's different, and because Sun says, "it's better, it has a better package manager". My theory of open source developers is that people are lazy and in a hurry and they don't have any time left. That means that they don't want to install something if it's just slightly better to learn something new, if what they have now is good enough. And Sun hasn't realised that.
iTWire: Do you think OpenSolaris will fail?
Monty: It will fail if they don't change the direction drastically. If they make OpenSolaris so that a Linux user sits down and they don't feel any difference, except that things are going faster, then they have succeeded. But you can't have things in different paths, you can't have different package managers. It should just work as you expected - then OpenSolaris has a chance. This is something I and other people in MySQL have been pitching to Sun, and some people are starting to get it. But it's a struggle. But I mean, these are the kinds of things that Sun has to realise. And if they do that, they will have a really glorious future.
iTWire: And they can become the biggest open source company...
Monty: I think they have a possibility. but I don't know if they can reach it, because they have too many people who are looking at the short-term money stream. Like Marten in the database group. Instead of trying to say, "so, where can we be after 10 years?" The disagreement between me and the rest of the MySQL management is that I've always tried to look at 10 years, what's best for the company after 10 years. I believe that the bigger user base you have, and the happier users you have, the better off you are. And in that case, that means that to be the richest possible company after 10 years, you really need to believe and put your effort in open source. And the community.