Wednesday, April 13, 2011

Death by Cloud - How Amazon is Killing Open Source Software

The mood at last week's Open Source Think Tank was surprisingly somber. Two years ago, the open source community was celebrating huge acquisitions such as Sun's purchase of MySQL (and even the VMware acquisition of WaveMaker). This year, the consensus was that the economic model which led to success for companies like MySQL and RedHat is being fundamentally disrupted by cloud computing.

For example, Amazon recently launched a successful Relational Database Service (RDS). This hugely profitable service is based on MySQL, but Amazon doesn't pay MySQL a penny for it. This spells death for the traditional open source business model.

To understand why, let's look at how the open source model used to work. The open source business model has traditionally been based on two revenue streams: 1) revenue from OEMs who embed an open source product into their commercial offering and 2) revenue from providing support services for production systems that embed an open source product.

Whenever a company embedded MySQL into their commercial offering, they had to either license their own product under an open source license like GPL or buy a commercial license from MySQL. Just as importantly, a company using MySQL in a production environment would purchase support from MySQL as an insurance policy.

Now let's look at Amazon RDS. First of all, Amazon gets around the GPL license because they are not delivering binaries to their customers. This means that Amazon can deliver a commercial service without being forced to open source their own software. Next, Amazon has sufficient internal expertise on MySQL that they can provide their own support.

The open source community has tried to fight back. For example, the new Affero GPL license (AGPL) was supposed to fix the loophole which allows Amazon to deliver MySQL as a commercial service. However, since almost nobody is using the AGPL license, every OSS project faces the prospect of seeing someone else deliver commercial services based on their product for which they don't get paid.

New open source companies are trying to get ahead of this trend by offering their own cloud-based service - such as Cloudera (Hadoop). This is a good idea, but it is not clear how these stand alone services will be able to compete with Amazon's Elastic Mapreduce service, also based on Hadoop.

Of course, none of this is going to stop the success of the open source movement in general. There are many projects which have no commercial aspirations. However, until open source companies can articulate a business model that can thrive in the cloud, this does cap the potential valuations of open source companies and hence their access to venture capital.


Ewantoo said...

You say "Whenever a company embedded MySQL into their commercial offering, they had to either license their own product under an open source license like GPL or buy a commercial license from MySQL"

But for the vast majority of companies and uses, that's simply not the case, though Oracle dearly want it to be.

MySQL from (the open source package, not the version Oracle sell) can be distributed alongside a commercial package for free, without requiring the purchase of a commercial licence or be open sourced itself. Only when a commercial company wants to mix their own code with MySQL's code does a company need to make one of those 2 steps. Simply shipping an open source package on the same CD as closed code with instructions on how to install it does not breach the GPL.

The vast majority of packages would only ever want to connect to MySQL over it's normal interfaces, the same ones Amazon make available, and so have no requirement to link directly to MySQL's source code.

Unknown said...

The MySQL licensing obligations are still there, they are shifted to the people running software on Amazon, who still have to link to libmysql which is GPL/Floss exception. So if you are running proprietary software on Amazon EC2 connecting to RDS you need to buy a license even if you dont actually run the MySQL software yourself.

Ben said...

Capping valuations doesn't kill the software. In fact, valuations that just soar to the moon come with their own problems.

In addition, if Amazon needs expertise (well paid) in MySQL, then there will be an ecology of learning, training, and developing that will reward individuals with proven MySQL skills. This will perpetuate the development of MySQL and feed the community. No death there.

Christopher Keene said...

@Ewantoo - you raise a good point - in many cases, an OEM or ISV does not have to pay under the GPL license. However, the fact remains that selling commercial licenses for open source software has traditionally accounted for 40-50% of the revenue streams for companies like MySQL and WaveMaker. If that revenue stream dries up, the entire business model is in serious trouble.

Christopher Keene said...

@Ben capping valuations just means fewer and smaller venture investments in open source projects. This will certainly not slow down the overall open source movement, but it will change the nature of the movement by removing much of the potential for individuals to profit from open source projects. I am sure there are many people in the open source community that will think this is a good thing, but I am not one of them ;-)

Rob said...

I always thought it was a scary proposition to build a company explicitly for developing an open source software package, since the competition will always be on a more level playing field with you then that of a proprietary software market.

Perhaps the only legitimate business model was selling a proprietary license for an otherwise GPL'd application, which is what happened in this case. But I don't see why we should blame Amazon for both creating a service based upon MySQL and complying with the license MySQL granted them.

You'll point out they violate the spirit of the GPL. Fine. I will note that it is ironic that the original point of Free Software was to guarantee the user's ability to rebuild the exact binary from the source. It wasn't intended as a mechanism to insert the author into a user's profit stream. That business model came later.

Yes, the cloud hurts the valuation of open source companies, but I always thought there was a high burden on open source companies to become profitable regardless.

Christopher Keene said...

@rob I agree that it is a challenge for open source companies to become profitable. I don't think that is always the objective however. The objective is to build momentum and mindshare while generating enough revenue to keep attracting venture investment. If you look closely, this is how 90% of tech startups operate.

The challenge is that generating "enough revenue" has now become much, much harder for open source companies following the traditional open source monetization model. To me, the answer is for open source companies to build value added features that cannot be snapped up and offered on a cloud vendor platform for free.

Anonymous said...

I might have missed something, but I thought Open Source was just that, open, free, and able to be used as is in any way one sees fit. If you modify it, improve it, etc, then the license wants you to return the modified code to the codebase. The danger with open source was that one could always use it unmodified in a closed application, without needing to pay anything (regardless of how much money you make out of it.)

How many big sites out there use Spring, Hibernate, or many of the other open source initiatives. They use as is, and do not pay a cent.

Maybe the MySQL people should have been first to create cloud database services ? Is that the point ? I read it as they were late and missed out. Maybe the postgres people can make a cloud db platform and avoid a third party beating them to it.

Christopher Keene said...

@anon You are absolutely right - people are free to use open source in their own projects without paying. The distinction always comes when someone uses open source in a project that they then turn around and commercialize.

The commercial use of open source tends to depend on the license. An Apache license (which is what Wavemaker uses) allows this. A GPL license (which is what MySQL uses) does not.

Will said...

Open Source software is alive and well. Go and check out github for plenty of examples.

The issue (if there is one) is that companies that make money from open source software have business models that are fragile.

Christopher Keene said...

@will You are exactly right on both counts: open source as a social movement is alive and well and the traditional *commercial* open source model is in big trouble.

This is only an issue if you are trying to make money from open source software, which may have been an oxymoron from the beginning.

I see this as an opportunity for smart entrepreneurs to do what they always do - adjust their business model to meet changing business conditions.

Andre Charland said...


Another way to look at this may be that OS companies need to look at selling cloud/paas or whatever you want to call it to their customers. OSS can just be the lubricant onto their hosted platform or they can sell value added services around an OSS framework. It seems like selling any type of software license whether for OS or otherwise is becoming harder and harder. It was interesting to see Adobe's recent announcement around subscription pricing for Creative Suite. It seems if you're selling to developers it's easier to convince them to pay for a hosted service than a license or support agreement.

My 2 cents.


Brian Aker said...

"open source software has traditionally accounted for 40-50% of the revenue streams for companies like MySQL "

I am not sure where you got this number for MySQL, but it is quite inaccurate and does not reflect the MySQL business model (or where growth was).