?

Log in

No account? Create an account

Protocols, The GPL, Influences from MySQL

« previous entry | next entry »
Feb. 22nd, 2010 | 11:46 am

I spent my Saturday at the SCALE conference down in LA. Most conferences I find have a meme and for this conference that was "MySQL's longterm influence on the GPL".

MySQL was the company that had the most influence on how companies and investors viewed the GPL.

When MySQL said "we will only take contributions via a contributor agreement", this translated into investors expecting everyone to do this (though requiring contributor agreements destroyed outside MySQL development to the kernel, and left MySQL in a position where no substantial, or many, contributions ever occurred).

When MySQL pushed dual licensing, investors looked for this hook in every business model. I remember standing outside of a conference room in SF a couple of years ago and talking to one of the Mozilla Foundation people. Their question to me was "Is the nonsense over dual licensing being the future over yet?". The fact is, there are few, and growing fewer, opportunities to make money on dual licensing. Dual licensing is one of the areas where open source can often commoditize other open source right out of the market. The dearth of companies following in MySQL's dual licensing footsteps to riches, belabors the point of how niche this solution was.

The influence that MySQL had over the interpretation of the GPL was the topic though that brought out the most serious conversations. The term that was most used was "over reaching". This comment was inspired by MySQL's attitude toward linking, specifically in regards to the MySQL protocol.

For years MySQL published a public domain driver, that was then converted to LGPL, and then finally re-licenced as GPL. The driver was also published under different terms for different languages, all the time being the same protocol/interface (which was originally derived from MiniSQL). Most use of the driver is to simply send an SQL query unmodified to the server. The server then responds back with the information that were generated by the request. When you request a page from a webserver, you send a URL to the server. The server then returns data based on based on this query, where that information could be HTML, plain text, an image, or some binary.

Despite the license change history surrounding the driver, there were often claims made that the protocol was GPL. This one bit of history is probably what created most of the misunderstandings around the GPL that have propagated for the last decade. The MySQL drivers were not the only set you could use to talk to MySQL. PHP and Redhat both distributed drivers for many years that were in the public domain. This went unknown to large companies who had minimal experience with the GPL, or who just didn't do the leg work to find other drivers. If you were using the MySQL drivers then you were including GPL code into your product, but if you were using the public domain drivers no use of the GPL occurred.

The over reaching argument that the GPL works over "protocol" is ludicrous. A protocol is simply an IO path. If the GPL worked via protocol, then every GPL webserver on the planet would infect Internet Explorer, and every GPL browser should be rejected from every non-gpl compliant webserver. If the GPL was this infectious then a GPL based operating system, would not be able to provide files to a non-GPL application. The MySQL/MiniSQL protocol and interface is far less complex then HTTP, the protocol that runs the web.

Beyond the protocol, there are also GPL interface issues that exists for MySQL around the storage engine API. That is of course an entirely different issue, one that Oracle has already weighed into. There were so few storage engine vendors that MySQL influence over GPL interpretation is slight, if non-existent. The market that exists around Linux Kernel drivers, is what shapes the GPL in this arena.

Jonathan's final words to the company "Go home, light a candle, ... “Sun is a brand, Oracle’s my company", apply to MySQL as well.

Being a brand, and no longer an identity, means that reflection on what MySQL brought to the table to define the GPL is now happening. I hope, and expect, to see a rejection occur when the GPL is used for over reaching gains. This would bring back a not only moderate, but accurate, view that will un-sully and un-baggage the GPL from some of the history of the last decade.

Link | Leave a comment |

Comments {29}

Have your cake, and eat it

from: anonymous
date: Feb. 23rd, 2010 12:02 am (UTC)
Link

It seems to me that this is more of Monty Program Ltd's. effort to have Monty's cake and eat it. Dual-licensing made Monty around USD$130M richer. Now, he wants to continue the business with the rights he legitimately sold to someone else.

If the GPL was over-reaching in this context, one of the three people behind the reaching was Monty. He got to be a very rich man through it. It's time for him to buy his yacht and go on vacation for a decade, not to continue with this silly fight against his past self.

Bruce Perens

Reply | Thread

Re: Have your cake, and eat it

from: anonymous
date: Feb. 23rd, 2010 07:45 am (UTC)
Link

Hi Bruce

This is a very surprising comment from you, since last time I spoke with you at OSCON you seemed to hold tightly to Brian's position. I almost want to ask, is this really Bruce Perens?

In any case: Please be informed that Brian Aker, the author of this blog post and the lead developer of Drizzle, is currently not in any way affiliated with MariaDB or Monty Program.

Henrik Ingo, Monty Program
PS: Also, to put things in perspective, Monty could probably afford himself a small sailing boat, but he still couldn't afford even one deck of Larry Ellison's yacht. (Meaning, in proportion Monty got a tiny fraction of what the investors got from MySQL AB.)

Reply | Parent | Thread

Re: Have your cake, and eat it

from: anonymous
date: Feb. 23rd, 2010 09:46 am (UTC)
Link

Bruce, before claiming something, you should do some basic resources to ensure that you get your facts right.

- I personally never got any 130M; Not even a fraction of this. (Can easily be verified as all tax information is public in Finland)
- I am not doing business with any rights that has been sold. My company, Monty Program Ab, is doing business on developing MariaDB, a branch of MySQL. We are fully entitled to do this under GPL.
- I have never said or claimed that the GPL affects you over the protocol. The GPL in MySQL does however affect your application if it is distributed with the MySQL server and/or require the MySQL server to work.
- The claim on the MySQL web site about the protocol is the brainchild of other people in the MySQL management (not the MySQL founders), people that you know very well.
- It's self evident that you can't go around the GPL license by creating a socket interface around a GPL program/library and use this instead of the original API. If this would be true, then it would be trivial for anyone to circumvent the GPL and it would loose all it's meaning.

Reply | Parent | Thread

Re: Have your cake, and eat it

from: ext_96309
date: Feb. 23rd, 2010 09:50 am (UTC)
Link

Bruce, before claiming something, you should do some basic resources to ensure that you get your facts right.

- I personally never got any 130M USD; Not even a fraction of this. (Can easily be verified as all tax information is public in Finland)
- I am not doing business with any rights that has been sold. My company, Monty Program Ab, is doing business on developing MariaDB, a branch of MySQL. We are fully entitled to do this under GPL.
- I have never said or claimed that the GPL affects you over the protocol. The GPL in MySQL does however affect your application if it is distributed with the MySQL server and/or require the MySQL server to work.
- The claim on the MySQL web site about the protocol is the brainchild of other people in the MySQL management (not the MySQL founders), people that you know very well.
- It's self evident that you can't go around the GPL license by creating a socket interface around a GPL program/library and use this instead of the original API. If this would be true, then it would be trivial for anyone to circumvent the GPL and it would loose all it's meaning.

Regards,
Monty

Reply | Parent | Thread

Re: Have your cake, and eat it

from: anonymous
date: Feb. 23rd, 2010 11:05 am (UTC)
Link

It's self evident that you can't go around the GPL license by creating a socket interface around a GPL program/library and use this instead of the original API. If this would be true, then it would be trivial for anyone to circumvent the GPL and it would loose all it's meaning

That is a spurious argument. It is wishful thinking - just because you want copyright law to prohibit third parties from doing stuff like this does not make it so. At a minimum, one would need a legal precedent that connecting two programs at run time makes the combination a legally prohibited derivative work. That is absurd, for pretty obvious reasons, as is the fantasy that compatibility with just one third party product raises a similar issue.

Reply | Parent | Thread

Re: Have your cake, and eat it

from: anonymous
date: Feb. 23rd, 2010 11:26 am (UTC)
Link

> - I have never said or claimed that the GPL affects you over the protocol. The GPL in MySQL does however affect your application if it is distributed with the MySQL server and/or require the MySQL server to work.

No it doesn't. The license on MySQL can never have any affect on anything but MySQL or a derivative work. If you now claim that anything using MySQL is indeed a derivative work, then therefore every Windows program is owned by Microsoft, which is obviously not the case.

> - The claim on the MySQL web site about the protocol is the brainchild of other people in the MySQL management (not the MySQL founders), people that you know very well.

Yet it was there, and you're repeating echoes of it above and below.

> - It's self evident that you can't go around the GPL license by creating a socket interface around a GPL program/library and use this instead of the original API. If this would be true, then it would be trivial for anyone to circumvent the GPL and it would loose all it's meaning.

Of course you can. The socket interface itself would need to be GPL (it'd be linking into the work, and sufficiently embroiled that one assumes it's a derivative work), but anything using that RPC interface must, by definition, not be a derivative work, else you're imposing licensing across protocol boundaries, which is obviously an impossible case.

Now, whether it's ethical to place a thin protocol shim around a GPL library or application is another question - it's one of the few areas where ethics and software licensing do meet - but given that MySQL provided a protocol already, it's a moot point.

Dave Cridland

Reply | Parent | Thread

Re: Have your cake, and eat it

from: anonymous
date: Feb. 23rd, 2010 12:22 pm (UTC)
Link

It's not evident to me that the GPL still acts after wrapping a library with a socket. You'd be hard pressed (dare I say, unable?) to show that a client accessing a library through a socket wrapper is talking to that library and not an imposter.
-- Newall

Reply | Parent | Thread

Re: Have your cake, and eat it

from: anonymous
date: Feb. 23rd, 2010 10:03 pm (UTC)
Link

"GPL in MySQL does however affect your application if it ... require the MySQL server to work." - this is an absolutely ridiculous statement. Monty, you should know better - unless in the statement above word "affect" means something entirely different from what it normally does.

Reply | Parent | Thread