Zak Greant zak at
Sat Nov 22 14:18:31 UTC 2003

On Nov 21, 2003, at 22:18, Brian Behlendorf wrote:

> On Fri, 21 Nov 2003, Ryan Damon wrote:
>> I have a question about mysql's licensing terms.  They provide an
>> option to license either under their proprietary license, or the GPL.
>> According to their website (and from what I have heard from others),
>> mysql says that if you are only going to use their software inhouse
>> and not distribute it to others, you can license it under the GPL.
>> However, if you want to distribute it to third parties as part of your
>> proprietary software, you cannot.  They seem to say that this applies
>> even if you keep the mysql code separate from your own code and
>> communicate only through some kind of linking or socket.  It seems to
>> me that their restrictions on distribution actually go against the
>> terms of the GPL.  Are other companies doing the same thing, and is
>> this kind of practice generally considered ok by the open source
>> community and/or FSF?
> I believe this is because the *client* libraries (including, for 
> example,
> the JDBC driver) are GPLd, and thus are linked more intimately with the
> applications that use them than simply over sockets.  What I'm not 
> clear
> on is whether you can distribute an application that requires, but does
> not include, the GPL'd JDBC driver or client libraries.  I would assume
> MySQL would also argue that such dependency also requires a license, 
> but
> may have a tougher time proving that.

Greetings all,

I am definitely not a lawyer, but have a few opinions on this issue. :)

What we would likely argue is that if someone forms a derivative work 
with GPL licensed software, then the resulting work should also be GPL 
licensed. [0]

Unfortunately there are no fixed rules on determining when a derivative 
work is formed. In some cases, it is very clear. If I were to modify 
GCC by changing a few constant names, it would certainly be a 
derivative work. If I had a program that used a database abstraction 
layer to allow it to communicate with a broad class of databases, maybe 
I would not be forming a derivative work. If I used an abstraction 
layer to specifically avoid creating a derivative work, but my product 
was intended to only work with one database, then it would be a 
different situation again.

If the presence of a technical process (linking methods, abstraction 
layers, communication layers, ...) is the determining factor of whether 
a derivative work is or is not formed, then an entire class of abuses 
of intellectual property are opened up.

This is not such an issue with most non-Free Software/Open Source 
licenses because they tend to bind license terms to users. If you do 
not have the right licensing terms to support a user, then it does not 
matter how they would access the program.

My view on this issue are quite simple:
If you are willing to pass on the rights that we grant you under the 
GPL, then please use MySQL under the GPL.
If you do not want to pass on these rights (or if you would like a 
warranty[1]) then you should purchase a license.

In many ways, MySQL behaves like a typical Free Software/Open Source 
developer. We write software that we place under an open license. We 
also sell services and software so that we can make money. It just so 
happens that the same software that we put under an open license is the 
same software that we sell.

I am happy to discuss this further, but please note that I am 
vacationing and have rather spotty dialup connectivity that I am 
sharing with two other people - one of whom keeps cloning the entire 
@#$% MySQL bitkeeper tree. I should be back to solid connectivity on 
the 28th or so.

[0] A relevant section of the GPL is section 2b:

   2. You may modify your copy or copies of the Program or any portion
   of it, thus forming a work based on the Program, and copy and
   distribute such modifications or work under the terms of Section 1
   above, provided that you also meet all of these conditions:


     b) You must cause any work that you distribute or publish, that in
     whole or in part contains or is derived from the Program or any
     part thereof, to be licensed as a whole at no charge to all third
     parties under the terms of this License.

[1] Not surprisingly, we are not so willing to accept liability for a 
product that we give away! :)

Zak Greant
MySQL AB Community Advocate

license-discuss archive is at

More information about the License-discuss mailing list