zak at mysql.com
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
> 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
> 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,
> may have a tougher time proving that.
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
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) 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.
 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.
 Not surprisingly, we are not so willing to accept liability for a
product that we give away! :)
MySQL AB Community Advocate
license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3
More information about the License-discuss