Get the highlights in your inbox every week.
Open source history, today, and licensing
Open source history, present day, and licensing
My name is Marten Mickos and I'm the CEO of Eucalyptus Systems. As Tom mentioned, I was the CEO of MySQL for eight years. I was de facto the only CEO that the company ever had from 2001 to 2008 when it was sold to Sun, and then one year at Sun Microsystems. I'm here tonight to talk about open source business models which is a difficult, complex, complicated nuanced topic that doesn't really allow itself to be structured and summarized, but I'll do my best anyhow.
I thought I would ask how many of you use open source software, and that's a silly question because everybody would have their hand up. But, do we have open source vendors in the space, in the audience—people who are building an open source business? There's one, okay, two, three, four. Excellent!
We also have others who are using it or maybe are participating in it. I'll try to cover all of that in the next 20-25 minutes and then we'll do questions and answers. Then, I do have a relatively hard stop, so if you see me rushing out of the space it's not because I don't like the discussions, it's because I have something else I'm going to. But you can absolutely email me afterwards if you have some question or something I can help you with.
Joining MySQL in 2001
I can tell you that when I joined MySQL in 2001, I knew practically nothing about open source. I knew something about databases, and I happened to be friends with the founders of MySQL. They called me in December of 2000 and said, "Marten, we are sitting here in the kitchen and we need a CEO and we think it's you." And I said, "No!" That was my first response. It turned out that I joined as CEO and I had to decide to learn about open source, and I decided that year to become an expert on open source business models, which back then practically didn't exist.
There was Red Hat out there, a famous open source company, but those of you who remember and who were there at the time know that their initial business model was selling boxes with CD-ROMS and the reference manual and the box. That was the business they had and they went public on it with a huge valuation. It took them several years to develop the real subscription business model that they are now following and that many open source companies are following.
So first quickly about Eucalyptus. It's an open source private cloud software platform. The name is an acronym which makes it easier for you to remember what it does. EUCALYPTUS stands for an Elastic Utility Computing Architecture Linking Your Programs To Useful Systems. Yes, it's very funny, but it's true. That is what the software does. It is the only private cloud platform that behaves like Amazon Web Services. If you run Eucalyptus on your own servers, you have a region that you control. It's like having your own Amazon region.
MemSQL did. They have 35 servers for dev and test running completely in Eucalyptus and it all behaves like Amazon which means they can move workloads back and forth through the public cloud and the private cloud. And I'm quoting myself here in a tweet. Just a few days ago I tweeted that, "When you run on Amazon, you run on your credit card and when you run on Eucalyptus you run on your servers." And smart people want a choice of where they run. There's huge convenience running on Amazon. There's huge control and power of running on your own servers. And you can do both because the APIs are the same, EC2, S3, EBS and so on behaving the same way on both environments. So that's what the company does.
History of open source business models
Let's move over to the business models. I want to set the stage here by noting that I think generally when the world evolves, and the universe evolves, we go from one stage to the next and what we solved in the old stage becomes legacy, and it's used, but that's not the new thing. And for every new era we have some new things being invented. I believe that exists even on a physical plane. When the universe started to exist, we had small particles then they said "Why don't we get together and become atoms?" And then the atoms said, "Why don't we get together and become molecules," and so on.
So in small scale in the software business, in the eighties, that's a long time ago but I was there at the time, I joined the software business. It was all about the shift to client/server. From mainframes and mini-machines we shifted to the PC era and the client/server era. And back then we said that the new process architecture, which then would be called x86, was an open architecture for everybody. So the level of openness back then was the hardware architecture, and everybody built operating systems and software that ran on the same CPUs. It was seen as a fantastic level of openness. Then, 15 years later we got into the web era and the big shift that disrupted half of client/server. It disrupted the client. In client/server you have an application running on your machine. On the web you have just the browser and everything runs on the back-end somewhere and in the web at the same time.
Open source happened and openness was then about openness in the source code.
It's not an exact comparison because you can claim that there was open source code before that and it had different origins. But when you think about the real mechanisms of the industry, it was in the mid-90's that people started waking up to open source software and we saw the birth and the growth of all these important products. Like Linux, started in '91, MySQL started in '95 and Apache and PHP and Python and all those created at that time.
The business was about building web applications and the openness had moved from the hardware level to source code and suddenly to be really creative and to share things, you opened up your code and the whole open source movement started then. Or, it didn't start then, but it became relevant then. It wasn't even originally called "open source." Just as cloud wasn't originally called "cloud." Why is Eucalyptus called a "Utility Computing Architecture?" Well because back in 2007 that's what we called it. We didn't really call it "cloud" back then. It was called "utility computing."
Anyhow, back to the trend. So we got the level of openness in source code and that's why we now have open source businesses. I would now claim, that 15 years later again we are now moving to cloud and we take the final farewell to client/server. We are breaking the server side now as well and we are deploying our workloads in a way that's completely different from what we learned back in the 80's. It's again, a huge shift. It's disrupting everything.
New vendors are emerging, old vendors are struggling and shrinking, and again there's a new level of openness that's emerging. I believe it is APIs where we see the openness today. I think it's so early that we haven't really seen it play out.
For hardware, the name of openness was x86—the architecture that then everybody started using. With open source, we had the licenses, GPL licenses and then the Apache license. For the API of today we haven't agreed on a complete openness yet, but we can see how the innovation is happening on an API level. Whereas ten years ago, many of you, or whoever then were building things, were looking at source code. Now to get stuff done, you look at APIs because you have so many different things you need to work with.
MySQL grew on the notion of the LAMP Stack. Every website of any size or fame ran on the LAMP Stack. Google, Yahoo, Facebook later on, MP3.com, Wikipedia, all of those. And LAMP Stack was Linux, Apache, MySQL, PHP, Perl or Python. Today, in your applications you have many different databases, many different languages mixed in one application, set up in one workload. And the question is more about the APIs.
This goes a little bit beyond the topic of tonight, but I'm throwing it out to you so that you can tell me: If sort of my generation built open source businesses, what kind of API businesses will there be over the next ten to fifteen years? I don't know. But you may know because you are the ones building it. You are the Linus Torvalds-es of today.
Free and open source software today
If we then focus on open source softwares and say, "How do you build a business? What kind of business models are there?" I believe that there are four types of players that you need to be aware of and they are partly overlapping and you can belong to more than one of them. We have a big group of end users who produce free and open source software.
FOSS stands for Free and Open Source Software. You have end users who use it, who are customers and users of it. Then you have vendors who produce it like MySQL was, like Eucalyptus is. And you have foundations who produce them, like the Eclipse Foundation, the Apache Foundation the Linux Foundation, the Open Stack Foundation, and so on. There is the Mozilla Foundation who are building them.
It has meaning for the business models in that, in the closed source world it doesn't look like this. If you think about source code that's closed, there are practically no foundations for closed source development, collaborative development. And there are practically no end users who produce closed source software and give it out to others. In the world of closed source software you have vendors and you have buyers and that's it. But in the world of open source you have a much more dynamic environment and it's important because the end users produce a ton of open source software.
If you are aiming to become a successful, profitable, fantastic open source company you must know that there can be software coming out of end user organizations that will affect your business. In good or bad.
Take Facebook, they needed a simple, scalable, powerful, reliable storage so they developed Cassandra. What happened to Cassandra? Facebook didn't need it anymore. Already from the beginning they open sourced it, gave it to everybody. Now we have a company called DataStax that commercializes Cassandra and further develops it. For DataStax that was a fantastic starting point for a business—to take an existing product that had been developed by somebody who really needed it. They knew it was a useful product. For them it was an opportunity, but for others it can be a threat.
When you are developing some absolutely amazing software and you have five developers or eight developers, and suddenly it turns out that the big end user organization is developing something similar and they have no limits on their resources, they can have 100 developers working on it; you must think about what kind of code you may get out from those end user organizations. You could look at big data which you can trace back mostly to Hadoop, and you can trace Hadoop back mostly to MapReduce, and MapReduce you can trace back mostly to Google who developed and perfected the algorithm. You saw several end users there. Google and then Yahoo developed it, and now Hadoop is a project of the Apache Foundation and we have a number of vendors building a business on it.
This has remarkable influence on the ecosystem of open source software in a way that doesn't exist in the closed source world.
I see it as the power of open source. Because we have always said that the majority of all software developed in the world is developed by users, not vendors. In the closed source world you don't get access to the productivity of end users.
Looking at open source softwares particularly, this is a fact that is probably useful to you if you are thinking about business models, many people don't care about it anymore. We talk about FOSS, Free and Open Source Software, but if we really are strict there's a difference between free software and open source software. On the left, I have free software which most typically is GPL software. Software where the license insures freedom. It gives freedoms to you as a user, but it also requires that the freedoms are maintained.
On the right-hand side, you have open source software which is open for all, but it also allows you to close it. So here we come back to the famous clause of the GPL license, the reciprocity requirement which says, "If I am open, you need to be open." So software that comes under the GPL license carries with it something that other people call a virus. I call it a blessing because I think it's great if all software becomes open.
It practically says that if you are distributing a derivative work—so two D's, Distributing Derivative works—they have to be licensed under the same license. If you don't distribute them or if they are not derivative works, you're fine, you don't need to share anything. But if you distribute derivative works then they have to be under the GPL license as well.
This is a very powerful construct that Richard Stallman and others came up with called copyleft which insures that the openness persists. There are huge debates about whether that's good or bad.
Some people say the open source software is more business friendly because it puts less requirements on you. Other people say, no, we must insure openness, because otherwise it will not continue and persist.
Take an example: How many of you have Apple laptops? Is the operating system open for you? No, but what was it originally built on? The BSD operating system which was open source. But BSD was licensed under its own license which didn't require derivative works to be open, so Apple could take it, modify it, add their own stuff and keep it completely for themselves. If you take Linux and modify it and create a new fork of Linux it must continue to be under the GPL license. That explains the power of Linux—you can take it, you can do anything you like with it, you can fork it, you can modify it, but it must always remain GPL when you distribute a derivative work. It ensures and maintains the openness.
Examples of GPL software for each of those groups, there are tens of thousands of examples, but some of the most famous ones are: Linux, Java, MySQL, Asterisk, the PBX software. Eucalyptus is GPL licensed. And the other examples of permissively licensed ones that have the Apache or the MIT or the BSD license or one of the other permissive licenses, are: Apache, everything under the Apache Foundation, the Open Stack Foundation, the Cloud Stack, which is part of the Apache Foundation and so on.
With everything I say here, there are variations and exceptions. A variation of the GPL license is the AGPL license, the Affero GPL license. It takes the requirement on openness one step further. MongoDB is probably the most famous example of an AGPL license product.
Where I previously said that GPL says, "If you distribute derivative works, then it has to be open." In AGPL you don't even have to distribute. If you make public use of AGPL software and you have made modifications, those modifications must be open as well.
Then you have Android which is a mix of GPL and Apache license which is perfectly alright, you can mix the two — you take the Linux kernel and the stuff from Linux and there's Apache license stuff built around it, perfectly okay. The GPL part will always have to be kept open and the Apache parts don't have to. On the other side, variations and exceptions, there is the BSD license, the MIT license. There's a long list of open source licenses. I simplify it for you by talking about the Apache license and the GPL license, in reality there are tens of them. But those are the most prominent examples.
Then you have really extreme ones like SQLite, an amazingly popular, lightweight database that Richard Hipp developed and that he operates and develops in his own little company. He decided to put it in the public domain. All the others when they come under an open source license, they are still owned by somebody. And you as a user or a company, when you use them you must explain under what right you are using them. You say, "I'm using them under the right of the Open Source license."
But Richard Hipp put SQLite under the public domain. He says, "This is owned by everybody and nobody." There's absolutely no restriction because he's already made it common property of all citizens on this planet or the whole universe. There are exceptions like that.