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 | Add to Memories | Share

Comments {29}

GPL, MySQL and the protocol....

from: fschupp.myopenid.com
date: Feb. 22nd, 2010 09:05 pm (UTC)
Link

Hi Brian,

As much as I agree with you on a content level - the legal reality unfortunately seems much less clear. From the old link at http://dev.mysql.com/doc/internals/en/licensing-notice.html

--------

The MySQL Protocol is proprietary.

The MySQL Protocol is part of the MySQL Database Management System. As such, it falls under the provisions of the GNU Public License (GPL).
A copy of the GNU Public License is available on MySQL's web site, and in the product download.

Because this is a GPL protocol, any product which uses it to connect to a MySQL server, or to emulate a MySQL server, or to interpose between any client and server which uses the protocol, or for any similar purpose, is also bound by the GPL. Therefore if you use this description to write a program, you must release your program as GPL. Contact MySQL AB if you need clarification of these terms or if you need to ask about alternative licensing options.

---------

So, whether we like it or not, this was the official MySQL licensing opinion.

When we were looking for a client protocol to implement for BlackRay, the MySQL protocol was our first choice:

- Easy to implement
- Widespread use
- Many driver options

However, a few emails and phone calls from the SUN legal department later, we were implementing the PostgreSQL protocol.

Basically, the statement was like this:

- If your software is open source and GPL, then you are fine
- If you chose to ever offer a closed source variant, you need to license MySQL Enterprise server for each license you distribute

This of course is a knock out criterion for any commercial development.

The PostgreSQL protocol on the other hand is available under the BSD-style license. Do what you want, where and how you want......

As much as I wish it was different, this is how the owners of the MySQL code and trademark explanied it to us in clear legal speak (in German, but anyways not nice).

Best regards
Felix

Reply | Thread

Brian "Krow" Aker

Re: GPL, MySQL and the protocol....

from: krow
date: Feb. 22nd, 2010 09:17 pm (UTC)
Link

Hindsight is 20/20, but you should have considered contacting the FSF or Freedom Software Foundation in order to understand the licensing better.

MySQL can publish whatever is wants, keep in mind that the end goal of the sales guy is to get you to pay no matter what.

Microsoft sends out blanket email to companies all the time suggesting that they should pay up for unlicensed software or that companies should pay MS a blanket fee to cover any patent issues that might exist.

You can choose to pay based on FUD, but really it is just FUD.

Reply | Parent | Thread

Ted Tso

Re: GPL, MySQL and the protocol....

from: tytso
date: Feb. 23rd, 2010 07:27 am (UTC)
Link

> MySQL can publish whatever is wants...

As is often the case, Shakespeare said it best:

MySQL/Sun/Oracle: "I can call spirits from the vasty deep."

Anyone who knows the GPL: "Why, so can I, or so can any man;
But will they come when you do call for them?"

Of course, MySQL isn't the only entity who has tried to play this game. The FSF has for example tried to claim interface copyright (which the LPF rightly fought against when Lotus tried to claim interface copyright) by way of claiming that the GPL infects across a dynamic link, and so a binary which calls a GPL'ed library like readline must be licensed under the GPL.

Oh, really? What if instead of a dynamic link, it's an RPC call, and you're doing this over either a unix domain socket or a TCP/IP network connection? The same claim under which MySQL tried to claim that the GPL infected across a network connection, is not all that different from the FSF's claim that the GPL can infect across a dynamic link and shared libraries.

In fact, copyright law doesn't work that way. If you haven't made a copy, it's hard to claim copyright infringement....

Reply | Parent | Thread

Re: GPL, MySQL and the protocol....

from: anonymous
date: Feb. 23rd, 2010 02:34 pm (UTC)
Link

In fact the legal jargon in GPL does not care much about technical details. "Linking" is a technical term whose meaning may change from time to time. GPL speaks about "derivative works", and yes, a software that requires an RPC service for its crucial functionality can be treated as a derivative work. Linking (both dynamic and static) just usually happens to mean that your software depends on the library. If you can build and run the software without the dependency, and if your users can substitute your proprietary library with a GPL'ed alternative, you are most likely safe.

Reply | Parent | Thread

rocketgeek

Re: GPL, MySQL and the protocol....

from: rocketgeek
date: Feb. 22nd, 2010 09:19 pm (UTC)
Link

MySQL's position on the protocol issue is pure, unadulterated BS. It is legal to reverse engineer protocols and file formats without the permission of the originator. See Open Office and Samba for two particularly widely known examples of this.

Reply | Parent | Thread

(Deleted comment)

Re: GPL, MySQL and the protocol....

from: anonymous
date: Feb. 23rd, 2010 01:15 am (UTC)
Link

MySql can claim that the protocol is GPL all they want. But it isn't. You *cant* GPL protocols, and its as simple as that. The data in the protocol does not belong to MySQL/Oracle/Sun, it belongs to the consumer deploying it.

Simply put,you cant just go claiming copyright over a third persons property (The data)

And after all thats what a protocol is. Carefully formatted data.

There isn't a judge on the planet that would accept that.

Reply | Parent | Thread

Re: GPL, MySQL and the protocol....

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

mysql's official opinion on the GPL is completely worthless.

their official opinion always was self-serving rubbish - for example, they claimed for years that you couldn't even use mysql privately for commercial purposes without purchasing a commercial license.

that is and always was complete and utter bullshit.

mysql is GPL-licensed, and the GPL does not and never has restricted usage, only distribution.

mysql eventually stopped explicitly claiming that, but never issued a correction or made any effort to clarify the issue - the confusion helped them make money.

Reply | Parent | Thread

Re: GPL, MySQL and the protocol....

from: datacharmer
date: Feb. 23rd, 2010 10:29 am (UTC)
Link

Felix,
That link is an old one.
You won't find that statement anywhere in MySQL site. It means that it has been removed.
Ergo, that might have been MySQL official position in the past, but, today, it is not.
Giuseppe

Reply | Parent | Thread

(Deleted comment)

Re: GPL, MySQL and the protocol....

from: datacharmer
date: Feb. 23rd, 2010 04:28 pm (UTC)
Link

February 2007 is three years ago.
I honestly don't know why it was removed. But it was removed before MySQL was acquired by Sun. Therefore, why attribute to further buyers the intention of restoring an abandoned policy?

Giuseppe

Reply | Parent | Thread

(Deleted comment)

Re: GPL, MySQL and the protocol....

from: datacharmer
date: Feb. 23rd, 2010 06:58 pm (UTC)
Link

I asked the legal dept for an official position.
I wouldn't hold my breath for a quick answer.

Reply | Parent | Thread

the GPL is too expensive

from: anonymous
date: Feb. 22nd, 2010 11:23 pm (UTC)
Link

The difficulty with the GPL is that it's way too expensive -- the uncertainty of how far a true believer will take their interpretation of the GPL. The litigiousness of GPL supporters has a chilling effect on any use of GPL software -- witness Linksys/Cisco's complete abandonment of all open source software after being sued by FSF.

Reply | Thread

Re: the GPL is too expensive

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

Just a few remarks :

* If you don't undertstand something, don't use it.

* If you think you understand something, then make sure all the conditions for proper operation are met.

GPL has a price, sure, because it provides a reward. But if you want the reward, do your homework. In the case of Cisco/linksys, they did not do it properly. Furhtermore, "because it is free" does not mean it is OK to come and impose one's own conditions, that conflict with the original author's rights and will (AFAIK it's not the case with Cisco but i've seen this behaviour already).

Finally, yes, GPL supporters are litigious. Much more litigious than the average Kevin in his mother's basement, who will just whine and never DO anything (or do anything properly). Those who choose the GPL know that they don't want to be ripped anymore. The best way to achieve this is
- 1) protect oneself and his code (like any good VC-backed firm or public corp)
- 2) speak up when it is ripped. (like any good VC-backed firm or public corp)
Now you may not like that "free people" use the same weapons (Copyright law and communication) as the big corps. Cisco is an example of things that happen rarely : the GPL is very often infringed upon, but most infrigements end without going to court. And even in court, you won't see shark-teethed lawyers wating to bankrupt your family for 7 generations.

Choose your camp and don't complain. GPL is also business, probably not one you understand. Do your homework.

Best regards

Reply | Parent | Thread

Re: the GPL is too expensive

from: anonymous
date: Feb. 23rd, 2010 04:57 am (UTC)
Link

Litigious? Compared to who? Other proprietary software companies... Get a grip man.

Reply | Parent | Thread

Re: the GPL is too expensive

from: jason@mono-nono.com
date: Feb. 23rd, 2010 09:28 am (UTC)
Link

"witness Linksys/Cisco's complete abandonment of all open source software after being sued by FSF."

Except, of course, Linksys/Cisco did nothing of the sort.

Instead, they settled, agreed to appoint a Free Software Director, to inform customers of their rights under the GPL, to release the source code, and to make a donation to the FSF.
(http://www.theregister.co.uk/2009/05/21/cisco_open_source/)

There is no "chilling effect" over the "litigiousness of GPL supporters"; the FSF is well-known for trying very hard to *avoid* going to court, using it only as a last resort.
(http://www.ebb.org/bkuhn/blog/2009/11/08/gpl-enforcement.html)

Nice try, though.

Reply | Parent | Thread

Re: the GPL is too expensive

from: anonymous
date: Feb. 23rd, 2010 02:15 pm (UTC)
Link

except that their routers are now running vxworks and a clean-room re-write of everything in baby routers all the way to ESX

so they settled and appointed that director, and no longer use open source. How is that a win for anybody?

Reply | Parent | Thread

Re: the GPL is too expensive

from: mmuxina
date: Apr. 20th, 2010 11:28 am (UTC)
Link

Oh, in many cases the use of HPL is not economically justified

Reply | Parent | Thread

bug_fashion

Re: the GPL is too expensive

from: bug_fashion
date: Jun. 25th, 2010 09:35 am (UTC)
Link

here is the computer world

Reply | Parent | Thread

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: monty-says.blogspot.com
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

Where is the business, then?

from: anonymous
date: Feb. 23rd, 2010 06:56 am (UTC)
Link

MySQL made its fortune with dual licensing, and so did Trolltech. RedHat sells "enterprise" versions of their operating system. The main purpose of an enterprise is to make money, and it is hard to see how to make it without license fees. It easy to say that dual licensing is nonsense, but I haven't still seen a viable alternative.

Reply | Thread

Brian "Krow" Aker

Re: Where is the business, then?

from: krow
date: Feb. 24th, 2010 06:20 pm (UTC)
Link

Redhat sells a service, it does not sell any sort of "licensed copy". If you want updates you buy their service.

Reply | Parent | Thread

Protocols, GPL and MySQL's view.

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

[Jonathan, Chief Counsel for the Israeli Open Source Society, http://2jk.org/english]

There are two ways to see it: it's either that a protocol may be called a standard, and in that case may not be licensed either by GPL or patented at all, or that it may be proprietary, and in that manner any interface may use intellectual property law to disable interfaces.

In the case of how MySQL sees the protocol as GPL, you can understand when will MySQL not initiate legal action and when it will, which is quite important in order to interpret the legal language of the agreement.

If i bond in an agreement with you, saying you may not ride a horse, and at the moment of signing the agreement explain to you that a horse includes, amongst other things, cars, then you may not ride a car.

However, this may not be the case if the law does not treat rights in that manner; for example, Israeli law does not acknowledge Moral Rights on computer software (Israeli Copyright Act (http://www.tau.ac.il/law/members/birnhack/IsraeliCopyrightAct2007.pdf)) and therefore, the question of giving credit under BSD may apply in Israel. This is an interesting question that has yet to be answered, but I'm certain we'll get there.

Reply | Thread

(no subject)

from: anonymous
date: Feb. 26th, 2010 09:12 pm (UTC)
Link

[...] Brian “Krow” Aker starts an extensive conversation with his post, Protocols, The GPL, Influences from MySQL. His thesis, [...]

Log Buffer #180 (http://www.pythian.com/news/8937/log-buffer-180-a-carnival-of-the-vanities-for-dbas/)

Reply | Thread