Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / Databases / May 2004

Tip: Looking for answers? Try searching our database.

MySQL JDBC driver - implications for non-GPLed apps

Thread view: 
Alex Molochnikov - 12 May 2004 07:50 GMT
I cannot get an answer to a seemingly simple question: what happens to a
closed-sourced application that makes use of the GPLed MySQL JDBC driver?

Here I am talking about using the driver "as is", without altering it in any
way.

The application in question is our Report Generator that currently supports
5 databases; none of their JDBC drivers requiring it to become an
open-soruced code. So, it seems inconceivable to me that adding support for
another database by using its driver makes the entire application a "derived
work" of the database #6. And yet, this is what the GPL clause seems to
imply.

Can anyone clarify this to me? And while I am at it, what about distributing
("aggregating") MySQL driver with the commercial apps instead of instructing
the users to download the driver separately from MySQL website and then copy
it into the proper location in the classpath?

We are at a crossroads on this issue; if adding support to MySQL means that
we have to change the status of our entire project, then I guess we will
just have to do without MySQL.

Thanks for any info.

Alex Molochnikov
Gestalt Corporation
www.gestalt.com
Lutz Horn - 12 May 2004 08:06 GMT
Hi,

>  So, it seems inconceivable to me that adding support for
> another database by using its driver makes the entire application a "derived
[quoted text clipped - 5 lines]
> the users to download the driver separately from MySQL website and then copy
> it into the proper location in the classpath?

Take a look into the GPL FAQ[1], especially the question "I'd like to
incorporate GPL-covered software in my proprietary system. Can I do
this?"[2]

Lutz

[1] http://www.gnu.org/licenses/gpl-faq.html
[2] http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem
Alex Molochnikov - 12 May 2004 08:32 GMT
Hello Lutz,

Thank you for the speedy answer. Unfortunately, the section in the FAQ that
you pointed me to (2) is vauge on exactly what constitutes the separation of
GPLed and non-GPLed parts.

For example, at some point the client app must make a call to
java.sql.DriverManager to instantiate the driver, and identify the driver by
its name. Is this an "arms-length" communication, or tight coupling?

I can give you an example of how another GPLed database handles this
situation, namely McKoi SQL. According to their interpretation of the GPL as
applied to the issue of JDBC driver, the client application that hardcodes
the driver name as a string literal comes under the GPL. However, if the
same client application loads the driver name from an external source (a
file) and can show that it is capable of working with other databases, so
that the end users have freedom to edit the file and thus switch to another
driver, then there is no dependency on McKoi, and the client remains outside
of the GPL. Distributing the database binary code (server + JDBC driver) in
this case is called an "aggregation" and does not bring the commercial app
under GPL.

It is somewhat convoluted, but at least they provided a detailed explanation
of the terms of use and distribution of their product.

I have not found anything similar (in the sense of clarity of explanation)
on MySQL website.

Regards,

Alex.

> Hi,
>
[quoted text clipped - 16 lines]
> [1] http://www.gnu.org/licenses/gpl-faq.html
> [2] http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem
Axel Hallez - 12 May 2004 09:24 GMT
If the reasoning of McKoi is valid, then it should be valid for MySQL
too. Anyway if you change your app to support the use of the MySQL JDBC
driver, but don't include the driver in your distribution, there is no
problem.

Axel Hallez

> Hello Lutz,
>
[quoted text clipped - 60 lines]
>>[1] http://www.gnu.org/licenses/gpl-faq.html
>>[2] http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem
Alex Molochnikov - 12 May 2004 16:08 GMT
> If the reasoning of McKoi is valid, then it should be valid for MySQL
> too.

I do not know if the reasoning provided by McKoi's developers is applicable
to MySQL. This depends on the interpretation of the GPL by a particular
title-holder, and MySQL does not provide any clarification.

> Anyway if you change your app to support the use of the MySQL JDBC
> driver, but don't include the driver in your distribution, there is no
> problem.

Yes, there is. The problem is that the users of the closed-sourced app will
have to:

1. be instructed on how the JDBC driver can be obtained (downloading,
unpacking etc.),
2. told where it should be placed so that the app can have access to it.

Additionally, the app developers will have to make sure that it is
compatible with future versions of the driver, as the new release can come
at any time, without the developers being aware of it, or having sufficient
time to test it. Being able to distribute the driver allows the developers
to "freeze" it in time, and thus avoid unwanted surprises, pretty much like
bundlig the JRE ensures that the application will run in a tested
environment.

Alex.
Carlo Pellegrini - 12 May 2004 09:26 GMT
> I cannot get an answer to a seemingly simple question: what happens to a

> closed-sourced application that makes use of the GPLed MySQL JDBC driver?

You can't release a closed-sourced application that uses a GPLed library.

But you can revert to the 2.0 version of the driver, which is covered by the
LGPL license, that allows linking to a closed-source application.

CarloP.
Alex Molochnikov - 12 May 2004 15:54 GMT
> You can't release a closed-sourced application that uses a GPLed library.

The point of the matter is that JDBC driver is not linked to the calling
app. It is loaded dynamically by the DriverManager following the request
from the app; the request is made in the form of a driver name passed as a
String to the manager. There is nothing in the calling app that is dependent
on a particular JDBC driver, including import statements.

One could argue that hardcoding the driver name in the closed-sourced app
constitutes "linking", but this can be (and is) easily overcome by placing
the name in a separate ASCII file that can be edited by the users.

> But you can revert to the 2.0 version of the driver, which is covered by the
> LGPL license, that allows linking to a closed-source application.

I am aware of this. Whether it is feasible depends on the level of SQL
functionality supported by this version of the driver, which I haven't
explored yet. In any case, the LGPL aspect is important only to those apps
that have built-in dependencies on the library, which is not the case with
JDBC drivers.

Alex.
Paul Schmidt - 12 May 2004 15:51 GMT
> I cannot get an answer to a seemingly simple question: what happens to a
> closed-sourced application that makes use of the GPLed MySQL JDBC driver?
[quoted text clipped - 13 lines]
> the users to download the driver separately from MySQL website and then copy
> it into the proper location in the classpath?

You want to stay as far away from the driver as possible, without
eliminating the possibility.  You have no control over what database and
driver a particular user wants to implement.  Two things to keep in mind:

When in doubt on a legal matter, seek legal advice, if you have a IP
lawyer available, send him a copy of the GPL, and ask for his
professional opinion on how this applies.  You don't call a carpenter to
fix your plumbing, you call a plumber.

Contact MySQL and see if you can licence the database and driver without
using the GPL version.  One of the nice things about the GPL is that it
allows the original vendor to also licence the software in other ways.
However then you look at it, is the value of the driver and database
worth the licencing cost. The higher the cost, the more likely they are
to seek retribution if you use a GPL version in a unusual way,

Paul

> We are at a crossroads on this issue; if adding support to MySQL means that
> we have to change the status of our entire project, then I guess we will
[quoted text clipped - 5 lines]
> Gestalt Corporation
> www.gestalt.com
Alex Molochnikov - 12 May 2004 16:30 GMT
> You want to stay as far away from the driver as possible, without
> eliminating the possibility.  You have no control over what database and
> driver a particular user wants to implement.

Actually, I do. The users can only work with the databases supported by the
report generator. The JDBC drivers for most of them (with the exception of
Miscrosoft's SQL Server 2000 driver) can be (and are) distributed with the
application.

> When in doubt on a legal matter, seek legal advice, if you have a IP
> lawyer available, send him a copy of the GPL, and ask for his
> professional opinion on how this applies.  You don't call a carpenter to
> fix your plumbing, you call a plumber.

A costly option. Not economically feasible for providing support to a free
third-party software when the industry heavyweights (Oracle, Sybase and, to
a limited degree, Microsoft) make it easy and simple - and most importantly,
care to provide a clear-cut explanation as part of their license agreement.

> Contact MySQL and see if you can licence the database and driver without
> using the GPL version.

I did. They chose not to respond.

> One of the nice things about the GPL is that it
> allows the original vendor to also licence the software in other ways.
> However then you look at it, is the value of the driver and database
> worth the licencing cost. The higher the cost, the more likely they are
> to seek retribution if you use a GPL version in a unusual way,

No, it is not worth the cost. Most database vendors realize that third-party
tools that work with their databases promote their products and try to
facilitate the market penetration by removing (or at least lowering)
barriers for the developers. This includes not only the JDBC drivers, but
the databases in their entirety - Oracle, Sybase, Mimer and partially
Microsoft provide free developer licenses for their products. McKoi is free
altogether.

Simply put, the onus is on the database vendors to attract third-party
developers, which are not the end users of the database. I am getting an
impression that MySQL does not share this attitude with the rest of the
industry.

Alex.
Mark Matthews - 12 May 2004 19:43 GMT
>> You want to stay as far away from the driver as possible, without
>> eliminating the possibility.  You have no control over what database and
[quoted text clipped - 9 lines]
>> professional opinion on how this applies.  You don't call a carpenter to
>> fix your plumbing, you call a plumber.

That is the best advice one can be given about the GPL and how it
applies to a given situation. MySQL AB does not purport to be our
customers' lawyer.... If you're unsure about the GPL and how it applies
to your situation, you will be better served by talking with an attorney
rather than appealing to usenet for legal advice ;)

You will find that other vendors will not give you a legal opinion on
their license either. In any case such as this, it is best to consult an
IP attorney, as _all_ licenses whether open source or not have
provisions that you might not be aware of, or legally comfortable with.

> A costly option. Not economically feasible for providing support to a free
> third-party software when the industry heavyweights (Oracle, Sybase and, to
> a limited degree, Microsoft) make it easy and simple - and most importantly,
> care to provide a clear-cut explanation as part of their license agreement.

I certainly hope you have had someone with a legal mind look at those
license agreements for the other vendors' drivers as well, there are
terms in their stock agreements that can be pretty onerous.

>> Contact MySQL and see if you can licence the database and driver without
>> using the GPL version.
>
> I did. They chose not to respond.

Alex, you responded to my e-mail response to your usenet posting 4 days
ago, with a holiday weekend in between...It does take some time to get
this stuff in the right people's hands.

If you don't hear back from our sales team soon, please let me know, as
they have your information, and I want to make sure you get an answer.

>> One of the nice things about the GPL is that it
>> allows the original vendor to also licence the software in other ways.
[quoted text clipped - 14 lines]
> impression that MySQL does not share this attitude with the rest of the
> industry.

That's not true, we'd like to continue to see a large ecosystem
surrounding MySQL (there already is quite a large ecosystem surrounding
MySQL, both open source and commercial).

We're working out how to best do ISV licensing, and our sales team will
work with you, we just don't currently have a published policy as we
work out what terms for ISVs should be.

Regards,

    -Mark

Signature

Mr. Mark Matthews
MySQL AB, Software Development Manager, J2EE and Windows Platforms
Office: +1 708 332 0507
www.mysql.com

MySQL Guide to Lower TCO
http://www.mysql.com/it-resources/white-papers/tco.php

Alex Molochnikov - 12 May 2004 20:28 GMT
> Alex, you responded to my e-mail response to your usenet posting 4 days
> ago, with a holiday weekend in between...It does take some time to get
> this stuff in the right people's hands.
>
> If you don't hear back from our sales team soon, please let me know, as
> they have your information, and I want to make sure you get an answer.

Mark,

I will respond to your post in a private e-mail. I did not know there were
holidays in your locality, and assumed that there was merely not enough
interest on your part to keep the communication channel open.

Regards,

Alex.
Paul Schmidt - 13 May 2004 15:44 GMT
>>You want to stay as far away from the driver as possible, without
>>eliminating the possibility.  You have no control over what database and
[quoted text clipped - 38 lines]
> impression that MySQL does not share this attitude with the rest of the
> industry.

There is your answer, it's too costly to do it right, so you should
probably not do it.  If you want to support a good, but still free
database, try Firebird (www.firebirdsql.org), it's covered by a more
open licence, is more in league with Oracle, Sybase and Microsoft
product lines.  There is a JDBC driver, which I am in the process of
testing right now, and there is good user community support.  It's based
on Interbase 6, and there is good documentation for that.

Paul
Alex Molochnikov - 13 May 2004 19:19 GMT
> There is your answer, it's too costly to do it right, so you should
> probably not do it.  If you want to support a good, but still free
[quoted text clipped - 3 lines]
> testing right now, and there is good user community support.  It's based
> on Interbase 6, and there is good documentation for that.

The only reason I looked at MySQL is because someone else suggested that he
might be interested in testing of Report Generator if it supported MySQL.
So, I checked their website and tried to figure out their terms of use -
with no success so far. However, I expect them to contact me shortly,
perhaps I will get the answers I seek.

Anyways, I agree with you; if we cannot support MySQL without coming under
GPL, then we certainly won't. We've been asked about support for Firebird
before, so this is a possibility.

Regards,

Alex.
Paul Schmidt - 14 May 2004 16:42 GMT
>>There is your answer, it's too costly to do it right, so you should
>>probably not do it.  If you want to support a good, but still free
[quoted text clipped - 13 lines]
> GPL, then we certainly won't. We've been asked about support for Firebird
> before, so this is a possibility.

If you need any beta testing done in a Linux with Firebird and Java
environment, let me know....

Paul
Alex Molochnikov - 14 May 2004 20:57 GMT
> If you need any beta testing done in a Linux with Firebird and Java
> environment, let me know....

The only version of Linux that we currently support is Red Hat v9. Will that
be OK?

Alex.
Chris Smith - 13 May 2004 20:14 GMT
> I cannot get an answer to a seemingly simple question: what happens to a
> closed-sourced application that makes use of the GPLed MySQL JDBC driver?

Alex,

Be very careful here!  It's safest to just avoid deploying with MySQL at
all.  There are a few questions you might be asking:

1. You could be asking what you're legally allowed to do.  That's a
question for a lawyer, and anyone who gives you advice without being a
licensed lawyer is being deceptive, and possibly illegal depending on
their place of residence.

2. You could be asking what typical interpretations of the GPL allow you
to do.  You are allowed to write software that does not include the
GPLed library when it is compiled.  This means that it's entirely
legitimate to interact with MySQL JDBC drivers via the JDBC interface.  
So long as the compiler does not interact with MySQL JDBC driver code
when you compile (and so you could remove the MySQL driver from your
system without changing the action of the compiler at all), you are
allowed to distribute your own code without any restrictions from the
GPL license on the driver.

(As a qualification to #2, obviously examining and copying portions of
the MySQL driver violates their copyright, and is not allowed.)

3. You could be asking what the MySQL governing organization interprets
the GPL to say.  Their interpretation is IMHO ludicrously stretching the
intent of the GPL license, but that doesn't prevent a court from
agreeing with them.

They seem to strongly believe that you must purchase a commerical
license in at least the following additional situations, which would
otherwise require complying with the GPL to distribute your commercial
code:

   3a. You distribute MySQL (at all) with your commercial application
   3b. You instruct a customer to download MySQL for a commercial app
   3c. You inform a customer that your commercial app works with MySQL

Though I can't get a clear answer from them, they seem to also want you
to purchase a license if you write an application that you test with
MySQL even if you never mention MySQL to a customer.  It's possible they
think you should also pay them if you, entirely by coincidence, happen
to write an application that works with MySQL... even if you aren't
aware of that fact.

4. You could be asking what the FSF thinks.  It's difficult to get an
answer from them, but there are comments flying around that they support
the MySQL governing organization's interpretation.  Nevertheless, there
are comments from their own web site contradicting the MySQL view.  For
example, case (3a) above is the very definition of "mere aggregation",
which is clearly allowed between GPL and non-GPL software.  The FSF web
site is also clear that the GPL pertains only to distribution, not to
use... but the MySQL governing organization insists that "distribution"
means some things that it clearly doesn't mean, in order to get around
that particular loophole.

Signature

www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Alex Molochnikov - 13 May 2004 21:26 GMT
Chris,

First of all thank you for the detailed and insightful opinion. I appreciate
your input.

> Be very careful here!  It's safest to just avoid deploying with MySQL at
> all.  There are a few questions you might be asking:

The application in question is a Report Generator. In other words, it is a
tool that produces reports from the content of the existing database. It
does not need to distribute MySQL database (any database, for this matter),
since such distribution would have no use for the customers: they already
have the database, filled with the data that they need to report on.

> 1. You could be asking what you're legally allowed to do.  That's a
> question for a lawyer, and anyone who gives you advice without being a
> licensed lawyer is being deceptive, and possibly illegal depending on
> their place of residence.

I was asking the vendor of the product. If they cannot tell me what their
own license does and does not permit, no lawyer will help.

> 2. You could be asking what typical interpretations of the GPL allow you
> to do.  You are allowed to write software that does not include the
[quoted text clipped - 5 lines]
> allowed to distribute your own code without any restrictions from the
> GPL license on the driver.

This is actually the case. The application is isolated from the driver by
Java's JDBC layer, and calls are made against that layer. In other words, no
MySQL-specific method calls, casts or imports in the code. However, there is
one point that needs clarification from the vendor, as I explained elsewhere
in this thread: the application must identify the JDBC driver by its name.
Certainly, the mere presense of a String object with "abc" in it does not
mean that the code must have the "abc.jar" somewhere in the compiler's
classpath in order to compile.

So why did I ask the question in the first place? From my earlier experience
with McKoi, which is another GPLed product. Same questions about the impact
of GPL on the non-GPLed client calling McKoi JDBC driver were asked, and -
unlike MySQL - McKoi's developers cared to explain in detail how the client
could avoid coming under the GPL while still making use of McKoi. In their
case, the client had to remove the driver's name from its code and place it
in the editable ASCII file, so that it could be set by the users.

Perhaps, one could simply go by the standard GPL text and ask for no
interpretaition from the vendor, which in the case of McKoi would mean that
they are asking for something not really required by the GPL. However, I
felt that it is better to try and satisfy the requirements of the vendor
rather than "throw a book" at him - provided, of course, that the vendor
takes care to explain in clear terms where exactly he stands.

> (As a qualification to #2, obviously examining and copying portions of
> the MySQL driver violates their copyright, and is not allowed.)

I assume you really mean "copying", since "examining" of the open-sourced
product should not violate anything by definition.

> 3. You could be asking what the MySQL governing organization interprets
> the GPL to say.  Their interpretation is IMHO ludicrously stretching the
[quoted text clipped - 9 lines]
>     3b. You instruct a customer to download MySQL for a commercial app
>     3c. You inform a customer that your commercial app works with MySQL

I am not sure where these points come from. I looked at the standard GPL
text (http://www.gnu.org/licenses/gpl.txt); their items 3a-c look quite
different. In any case, 3a and 3b obviously do not apply. 3c would make
sense if the commercial app worked _only_ with MySQL and therefore was
dependent on it. But in the case of a general-purpose Report Generator, that
already supports 5 databases, there is nothing that "marries" it to a
particular database, MySQL or any other.

> Though I can't get a clear answer from them...

So far, our experiences match.

> ...they seem to also want you
> to purchase a license if you write an application that you test with
> MySQL even if you never mention MySQL to a customer.  It's possible they
> think you should also pay them if you, entirely by coincidence, happen
> to write an application that works with MySQL... even if you aren't
> aware of that fact.

Now, this is something that I do not see anywhere in the standard GPL text.
Anyway, if this is true, then they are even farther away from the rest of
the industry than I thought. The last part would be be really stretching it
beyond breaking point. Consider this: MySQL provides a JDBC driver. Scribe
(our Report Generator) communicates with databases through the JDBC layer.
In theory, an end user can add the driver's .jar file into the app's
classpath, change one of the configuration files (they are in the XML format
and can be easily edited) to refer to the driver, and voila - we owe MySQL
something. And if this were true, I can imagine a lineup of other database
vendors, each wanting a pound of our flesh just because their products
happened to be compatible with Scribe through the agency of the
database-independent layer provided by Java.

> 4. You could be asking what the FSF thinks.  It's difficult to get an
> answer from them, but there are comments flying around that they support
[quoted text clipped - 6 lines]
> means some things that it clearly doesn't mean, in order to get around
> that particular loophole.

I think the final answer is really simple, as another poster already
suggested: if the vendor makes it too problematic for other parties to
support their product, then... well... so long. They are not the only game
in town.

However, I am still awaiting some clarification from them, so maybe it is
not all that bad.

Regards,

Alex.
Chris Smith - 14 May 2004 03:44 GMT
> > (As a qualification to #2, obviously examining and copying portions of
> > the MySQL driver violates their copyright, and is not allowed.)
>
> I assume you really mean "copying", since "examining" of the open-sourced
> product should not violate anything by definition.

Yes, I could have been clearer here.  I did, essentially, just mean
copying.  The problem is that if you were to write your own code while
making constant reference to theirs, there would be a good argument that
you're essentially copying but making a few intentional changes to the
copy.  That would form a derivative work.  So I'd probably be careful
not to reference MySQL code at all during the exercise, to avoid
creating the impression that copying occurred.

Then again, I'd probably avoid the exercise altogether, because I don't
want to be sued.

> > They seem to strongly believe that you must purchase a commerical
> > license in at least the following additional situations, which would
[quoted text clipped - 6 lines]
>
> I am not sure where these points come from.

They are my own organizational structure.  The statements of
interpretation come mainly from MySQL's web site, and a bit from
conversations I've had with their representatives when I was pursuing
this same question with regard to my own company's database-independent
application.

For what it's worth, we decided to not advertise that the application
works with MySQL, not test with MySQL, and recommend strongly against
any of our customers using MySQL (though we can't, of course, reasonably
prevent them from doing so)... and figure that any remaining complaints
they might have are silly enough to not worry about.

Of course, this is also for business reasons, since the last time I
looked their database broke a few advanced features of our application
due to an incomplete implementation of the ANSI SQL92 standard.  I don't
recall if we still use EXISTS subqueries or not.  This is supposed to
change, though, with their upcoming now-alpha release.

> > ...they seem to also want you
> > to purchase a license if you write an application that you test with
[quoted text clipped - 6 lines]
> Anyway, if this is true, then they are even farther away from the rest of
> the industry than I thought.

The point is, I don't know.  When I gave up on communicating with them,
I couldn't get anyone to agree that this *didn't* violate their
license... but I believe it was unique in that they didn't say it did.

> I think the final answer is really simple, as another poster already
> suggested: if the vendor makes it too problematic for other parties to
> support their product, then... well... so long. They are not the only game
> in town.

Yes.  It's a shame, though, that MySQL has gained so much, in terms of
free development work *and* good name, by licensing under the GPL, and
now they intend to threaten and browbeat everyone out of using the code
in a way they are entitled to use it.  As someone who has contributed to
and led several open-source software projects, that really gets under my
skin.  I know I wouldn't want a bunch of greedy executives taking
advantage of me like that.  (Who knows?  For all I know, there may be
some of my code in MySQL, copied from other GPL projects in a way that
would be completely fine and admirable if they intended to actually give
people the rights promised by the GPL).

Just makes me upset, that's all.

Signature

www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Carl Rosenberger - 14 May 2004 10:27 GMT
> Yes.  It's a shame, though, that MySQL has gained so much, in terms of
> free development work *and* good name, by licensing under the GPL, and
[quoted text clipped - 6 lines]
> would be completely fine and admirable if they intended to actually give
> people the rights promised by the GPL).

As far as I am informed, the MySQL people have written all
the source code themselves. If this is the case, I think
it's perfectly O.K. that they decide on the conditions, how
they want to license their product.

On the legal side:
If MySQL is supplied under the GPL, the GPL applies to the
product, no matter what the MySQL executives tell you.
It should be perfectly legal to fork the MySQL source code,
to modify whatever you wish and to supply it as your own
"YourSQL" product under the GPL.

As long as your product is built against a standard
abstraction layer like JDBC, there should be no worries
about the database engines that can be used underneath,
as long as you don't use any functionality that is
proprietary to one specific product. With all the SQL
dialects around, this can be difficult since hardly any
product supplies clean ANSI SQL92.

The situation can become a little paradox:
You don't have to worry about supplying special SQL code
in your product for commercial database engines.
You do have to worry about breaking GPL rules, if you
produce code that makes your product work with a specific
GPL product. I wonder what this implies for non-GPL
O-R mapping tools that provide functionality for MySQL.

Signature

Carl Rosenberger
db4o - database for objects - http://www.db4o.com

Chris Smith - 14 May 2004 14:04 GMT
> As far as I am informed, the MySQL people have written all
> the source code themselves. If this is the case, I think
> it's perfectly O.K. that they decide on the conditions, how
> they want to license their product.

Possibly so.  I don't know what the situation is with authorship of
their code, as I've never tried to submit a patch to MySQL.  I'm having
a hard time believing they'd ignore it, though.  And just as hard a time
believing that a prominent open-source project like MySQL has not
received patches from open-source developers.  More likely, they do as
GNU does, asking the submitter to assign them copyright, so that they
retain the legal ability to switch licensing.  In that case, they have
the legal right to do as they like, but they are violating the trust of
the community they claim to be a part of.

> On the legal side:
> If MySQL is supplied under the GPL, the GPL applies to the
> product, no matter what the MySQL executives tell you.
> It should be perfectly legal to fork the MySQL source code,
> to modify whatever you wish and to supply it as your own
> "YourSQL" product under the GPL.

Sure, the universally accepted interpretation of the GPL makes it quite
legal to do that... but that doesn't prevent MySQL from making people's
lives hell because MySQL has more money than the average open-source
developer.  It's similar to buying a smart card reader: common sense
tells you that of course it's legal, but that hasn't prevented DirecTV
from browbeating millions of dollars in out-of-court settlements out of
people who have bought smart card readers.  It's a power game, and most
people don't have the financial resources to play, so they are out of
the game.

So, in the end, the actual GPL doesn't matter to most of us because of a
company that is aggressively pursuing its abuse and twisting the GPL
text to their own desires.  So, in the end, we end up warning people to
stay away from MySQL.

Signature

www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Chris Smith - 14 May 2004 16:20 GMT
[Mark Matthews copied me by mail on this post and the article didn't
seem to reach my news server.  So my apologies for kludging the
references headers, but I can't correct them by hand in my newsreader.]

Mark Matthews wrote:
> Just to clear something up...We don't 'lift' code from GPL products.
> We require clear IP to all of the code in our products so that we can
> also license it commercially, so in fact almost all of it is written
> by MySQL employees.

I'm certainly in no position to disagree with you.  Perhaps you have a
perfect process of verifying the copyright ownership of anything that
comes your way.  It's certainly worth giving the benefit of the doubt.

As you yourself say, though, there's nevertheless a good bit of
development effort being put into supporting MySQL on the assumption
that it's a GPL product.  And legally, of course, it is... *if* the
organization using it has the staff lawyers to prove that.

> Considering one of our company values is "Make superior database
> software available to all", and given our actions (because they speak
[quoted text clipped - 5 lines]
> that's how you see us, I'd like to help rectify that image (feel free
> to contact me personally if you want to discuss it further).

I don't see how you'll rectify that image without ceasing the use of
legal threats to prevent people from using code in ways that they are
permitted to use it.  I don't care to claim inside knowledge about the
motivations behind your adoption of the GPL as a license for MySQL.  
From my perspective, it appears to be largely for historic and PR
reasons, but I could be wrong.  Nor do I care to even speculate on the
wisdom of choosing this license.

Nevertheless, to continue to claim that MySQL is licensed under the GPL
-- while using legal threats to prevent people from exercising the
rights you claim to give them -- is downright deceptive.

> However, what we're really trying to get at with the licensing (and
> still working on getting there, but it takes careful consideration),
[quoted text clipped - 4 lines]
> GPL)...if your application is closed source, then MySQL is closed
> source.

Which is, unfortunately, not what the GPL is about.  The GPL is about
preventing *derivative works* from being *distributed* under a closed-
source license.

If you're concerned about people making a profit via the use within a
company of closed-source software with MySQL or even derivative
databases based on the MySQL code; or by writing software that contains
no MySQL code but interacts with MySQL through standard interfaces that
you did not write, or prevents a commercial entity from recommending
that a customer of theirs download and install MySQL for use with a
product, then someone within the MySQL AB is probably capable of writing
a license that expresses this.  The MySQL AB has every right to do this
if, as you quite plausibly say, you have clear IP to all the code in
MySQL.

But that won't happen.  It won't happen because such a license would not
be the GPL, and because the OSI wouldn't even consider certifying such a
license as an open-source license.  Instead, MySQL continues to tell
everyone that the code is licensed under the GPL, and then use legal
threats to ensure that no one exercises those rights when if conflicts
with the profits of the MySQL AB.  That's exploiting an economic
advantage, pure and simple.

> That last bit is really not much different than other commercial
> vendors

Exactly.  But my claiming that your code is licensed under the GPL,
you're claiming not to be a commercial vendor.  That's a lie.  The issue
is not whether MySQL should get money for doing work; it's whether MySQL
should lie about the rights they grant to other people, and then
threaten lawsuits against people who try to exercise those rights.

The result is that there is mass confusion, when we have to explain to
customers why despite what they've heard about MySQL being GPL software
just like Linux is, they can use Linux with our commercial product free
of charge but they can't use MySQL in the same way.  Basically, it comes
down to "technically, your rights are the same, but Linus Torvalds isn't
threatening frivolous legal action against Linux users".

> MySQL is working on an ISV/VAR option for the client libraries for
> comemrcial licensees, if you have input on how you think this should
> work, please let us know.

I think before you could begin such a task, you'd need to decide whether
MySQL is free software or not, and admit your answer to the world.  If
it's not free software, then charging for licenses to *use* MySQL makes
a lot more sense than charging for licenses to write applications that
can use it, especially since 90% or more of database applications
interact through interfaces that are not specific to a given DBMS
vendor, so there's just no sensible definition of when someone has
written an application that might use MySQL (except, perhaps, if they've
included MySQL's non-standard CREATE TABLE syntax to make foreign keys
and transactions work on a table, or avoided SQL subqueries, or coded
around other nuances of the software).

Signature

www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Carl Rosenberger - 14 May 2004 19:27 GMT
> Possibly so.  I don't know what the situation is with authorship of
> their code, as I've never tried to submit a patch to MySQL.  I'm having
[quoted text clipped - 5 lines]
> the legal right to do as they like, but they are violating the trust of
> the community they claim to be a part of.

I see this a little different:

The community gets back a free stable GPL version.

Developers that produce closed source themselves get a stable fast
database engine at a fair price.

> Sure, the universally accepted interpretation of the GPL makes it quite
> legal to do that... but that doesn't prevent MySQL from making people's
[quoted text clipped - 5 lines]
> people don't have the financial resources to play, so they are out of
> the game.

This is a problem of the U.S. legal system:
If you are sued, it will cost you money, even if the other party comes
up with something completely ridiculous.

Here in Germany things are slightly different:
The party that looses the court case is liable for all costs and that
includes the fees for all lawyers.

Signature

Carl Rosenberger
db4o - database for objects - http://www.db4o.com

Chris Smith - 14 May 2004 20:50 GMT
> I see this a little different:
>
> The community gets back a free stable GPL version.
>
> Developers that produce closed source themselves get a stable fast
> database engine at a fair price.

This hinges on the false dichotomy that there are open source developers
and closed source developers, and never the twain shall meet.  That's
clearly not true.  Though there are certainly idealogues in the world
who would never touch a piece of closed-source software, there are a
whole lot more practical commercial software developers who contribute
to open-source projects.

That makes it far less clear that it's fair to charge for software
developed under the GPL.  The same people who are paying MySQL for the
privilege of writing their tools are people who are likely involved in
other open source software (though, according to the comments in this
thread, probably not involved in developing MySQL itself).

Besides, if this is so fair and ship-shape, why use a free license
deceptively, instead of writing a license to give the rights you want
people to have?

> This is a problem of the U.S. legal system:
> If you are sued, it will cost you money, even if the other party comes
> up with something completely ridiculous.

That doesn't prevent anyone from validly blaming organizations that
abuse the legal system for personal profit.

Signature

www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Carl Rosenberger - 15 May 2004 10:53 GMT
> Besides, if this is so fair and ship-shape, why use a free license
> deceptively, instead of writing a license to give the rights you want
> people to have?

The GPL is one of the most popular licenses.

If you use the GPL,
- developers will understand what they are allowed to do,
- it is easier for potential business customers to evaluate,
whether or not they need a commercial license,
- there are no costs to set up your own license,
- you can be halfway sure about the outcome of court cases.
There are precendents and even some lawyers and judges have
heard about the GPL.

In my opinion the GPL is the best choice for dual licensing.

The GPL only is a template for a license, isn't it? What is
deceptive about using the license and adhering to the terms?

> > This is a problem of the U.S. legal system:
> > If you are sued, it will cost you money, even if the other party comes
> > up with something completely ridiculous.
>
> That doesn't prevent anyone from validly blaming organizations that
> abuse the legal system for personal profit.

"(Ab)using the legal system for personal profit", isn't that
what capitalism is all about?

Developer communities have a lot more social sense for fair
behaviour than the average of our society but as soon as
business people take over a company, decisions tend to get
profit-oriented.

Signature

Carl Rosenberger
db4o - database for objects - http://www.db4o.com

Chris Smith - 16 May 2004 17:01 GMT
> > Besides, if this is so fair and ship-shape, why use a free license
> > deceptively, instead of writing a license to give the rights you want
[quoted text clipped - 12 lines]
>
> In my opinion the GPL is the best choice for dual licensing.

Well, it's the best choice if you want what the GPL says.  But of
course, that's a non-statement.  Any legal text is the best choice if
you want to do what that text does.

In the case of MySQL, though, it seemed clear (until Alex posted his
experience) that they don't want to give people the rights that the GPL
offers from a common-sense glance, and given the shared understanding of
the entire open-source community.  Now I'm not entirely sure.  It
appears that they want to give people those rights when it appears
helpful to them (such as when the application's applicability to MySQL
might help them sell more MySQL licenses)... but withhold some of them
when it appears to them that they might lose money from it.  But that's
a vague hunch, and obviously not very precisely defined.

The point is, if *any* organization (and MySQL AB is the obvious example
here) claims to be releasing code under the GPL and then twists things
to prevent ordinary GPL use, then they aren't helping anyone understand
what they are allowed to do.  Instead, they are casting doubt on what
people are allowed to do... not just in their own product, but in others
as well.  The last thing we need is to have people wonder whether they
are *really* allowed to (for example) sell management appliance systems
with Linux preinstalled solely to run their proprietary binary-only
management applications.  Clearly, that's allowed... but if we apply
MySQL's interpretation of the license, then they would be obliged to
contact Linux Torvalds and hundreds of other Linux-kernel authors to
obtain express permission to do so and perhaps negotiate licensing fees.

That's why I'd rather see MySQL write a new license to clarify what
rights they do and don't want others to have.  It's far better than
claiming GPL and then appealing to vague moral standards and legal
threats to condemn people who do what MySQL seems to have invited them
to do.  Note that I have no qualms with MySQL making money, or charging
for commercial use.  It's the misleading claim to be GPL that I have
problems with.  The license they want is not the GPL, and it would not
meet the OSI criteria for an open-source license.  That's fine, if
they'd just admit it.

> The GPL only is a template for a license, isn't it?

No, it's a license.  In fact, the FSF holds a copyright on the GPL, and
would probably not give you permission to use a modified version of it
if you asked.

> What is deceptive about using the license and adhering to the terms?

Nothing, of course.

> "(Ab)using the legal system for personal profit", isn't that
> what capitalism is all about?

Unfortunately, more and more people seem to think so.

Signature

www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Carl Rosenberger - 17 May 2004 15:46 GMT
> In the case of MySQL, though, it seemed clear (until Alex posted his
> experience) that they don't want to give people the rights that the GPL
> offers from a common-sense glance, and given the shared understanding of
> the entire open-source community.

I doubt that they can do that.
GPL is GPL, no matter what anyone from MySQL says.

> The point is, if *any* organization (and MySQL AB is the obvious example
> here) claims to be releasing code under the GPL and then twists things
> to prevent ordinary GPL use, then they aren't helping anyone understand
> what they are allowed to do.

I suppose that the FAQ on the GNU site are well researched:
http://www.gnu.org/licenses/gpl-faq.html

> The last thing we need is to have people wonder whether they
> are *really* allowed to (for example) sell management appliance systems
> with Linux preinstalled solely to run their proprietary binary-only
> management applications.  Clearly, that's allowed...

I am not a legal expert but in my opinion there is in fact room
for interpretation.
http://www.gnu.org/licenses/gpl-faq.html#MereAggregation

The GPL has an exception for the operating system:

(3. first paragraph after 3a,b,c)
"However, as a special exception, the source code distributed need
not include anything that is normally distributed (in either source
or binary form) with the major components (compiler, kernel, and
so on) of the operating system on which the executable runs, unless
that component itself accompanies the executable."

A conclusion that I would draw from this clause:
The operating system is not considered part of a program so there
should be no worries about the GPL.

The GPL terms are not too accurate what a "derived work" is:

(2. first paragraph after 2a,b,c)
"If identifiable sections of that work are not derived from the
Program, and can be reasonably considered independent and separate
works in themselves, then this License, and its terms, do not apply
to those sections when you distribute them as separate works."

"reasonably" is not a legal term so it's up to judges to decide,
how to understand this paragraph.

I can see two completely different interpretations for "independant":

(1.) The proprietary program does most of what it's supposed to,
without the GPL program or library.
(2.) The propietary program provides ALL of it's functionality, if
the GPL program or library is not present.

> > "(Ab)using the legal system for personal profit", isn't that
> > what capitalism is all about?
>
> Unfortunately, more and more people seem to think so.

Some people tend to think that this world is fair and friendly,
while they live in a country that is at war and that does not
give a damn about exploiting this planet (Kyoto boycott).

Signature

Carl Rosenberger
db4o - database for objects - http://www.db4o.com

John Beardmore - 21 May 2004 20:30 GMT
>"(Ab)using the legal system for personal profit", isn't that
>what capitalism is all about?

I thought it was about being able to sell your goods / services in an
open market at the going rate.

But since when was the GPL about capitalism ?  And for that matter, all
though what goes around tends to come around, why should a capitalist
ethos have to drive the GPL, and why must the GPL be interpreted in a
capitalist light ?

I'm not a lawyer, but as far as I can see the GPL imposes a license to
use agreed items of software in a particular way.

I'm not sure that it is generally seen as a template -  rather as
something that you release under or not.

It you want to base your own license n the GPL, that may be all well and
good, but your derivative work won't be the GPL.

Cheers, J/.
Signature

John Beardmore

Mark Matthews - 14 May 2004 15:06 GMT
[snip]
>> I think the final answer is really simple, as another poster already
>> suggested: if the vendor makes it too problematic for other parties to
[quoted text clipped - 11 lines]
> would be completely fine and admirable if they intended to actually give
> people the rights promised by the GPL).

Chris,

Just to clear something up...We don't 'lift' code from GPL products. We
require clear IP to all of the code in our products so that we can also
license it commercially, so in fact almost all of it is written by MySQL
employees.

I would also venture to say that MySQL AB is far from a bunch of 'greedy
executives', the company is mostly full of technical people who care
very passionately about open source.

Considering one of our company values is "Make superior database
software available to all", and given our actions (because they speak
louder than words), which include making _every_single_ product we have
available under the GPL, including technology that was expensive to
create and/or acquire such as MySQL Cluster, as well has having _no_
feature differences between our open source and commercial software, I
find it hard to paint us with that brush. However, if that's how you see
us, I'd like to help rectify that image (feel free to contact me
personally if you want to discuss it further).

What we do get from the open source community is connectivity pieces to
'esoteric' languages that wouldn't be commercially viable to support,
open source applications that support MySQL and a vibrant community of
testers, authors and community support. We are _very_ thankful for this
support from the community, which is why we do make everything we create
available under an open source license.

However, what we're really trying to get at with the licensing (and
still working on getting there, but it takes careful consideration), is
the notion of 'quid-pro-quo'...i.e. if your application is open source,
then MySQL is open source (in fact, there's a GPL license exception for
MySQL software that allows you to use it with OSI-certified licenses
that are historically incompatible with the GPL)...if your application
is closed source, then MySQL is closed source.

That last bit is really not much different than other commercial
vendors, if you take a look at Alex's issue and how he's distributing
connectivity components for his report generator, you will see that in
almost all of those client licenses that the end user is _eventually_
required to _purchase_ a license for the database server software to run
it in anything but test environments. The connectivity doesn't come for
'free', because legally you can't use it unless you're using a license
for the server that was _paid_ for, which ultimately pays for the
connectivity bits as well.

MySQL is working on an ISV/VAR option for the client libraries for
comemrcial licensees, if you have input on how you think this should
work, please let us know.

You could also investigate using a dual license model such as MySQL's,
SleepyCat's or TrollTech's, where you _could_ use MySQL under the GPL
and commercial licenses when you were generating revenue with commercial
sales.

    -Mark
Signature

Mr. Mark Matthews
MySQL AB, Software Development Manager, J2EE and Windows Platforms
Office: +1 708 332 0507
www.mysql.com

MySQL Guide to Lower TCO
http://www.mysql.com/it-resources/white-papers/tco.php

Alex Molochnikov - 14 May 2004 19:48 GMT
Mark,

I have seen many posts in this thread, some from you. You seem to be willing
to spend enough time to write about MySQL's commitment to the concepts of
GPL, "superior database software" and all such. I am not questioning the
sincerity of your statements, only this:

Why is it so difficult for you or anyone else from MySQL to answer simple
questions regarding concrete licensing situations (see below) which would
take only a few lines of text, yet possible to spend time writing e-mails,
arranging phone calls (which, in my case, haven't come yet), posting in this
thread etc.?

Here are the questions:

1. Can a commercial, non-GPLed application make calls on MySQL database
server, using the JDBC connectivity layer, and having no built-in MySQL
dependencies, without coming under GPL itself?

Note that the standard GPL text leaves no doubt as to the status of such
commercial application. The question can therefore be rephrased as: is MySQL
governed by this license, or does it have its own variety of GPL?

2. Can a commercial, non-GPLed application be distributed with MySQL's JDBC
driver (GPLed or LGPLed) based on the "mere aggregation" clause found in the
standard GPL text and reproduced on MySQL's website
(http://dev.mysql.com/doc/mysql/en/GPL_license.html). If not, why not?

Anything short of answering these questions may create an impression of
MySQL being intentionally evasive on this critical issue.

Also note that there are only so many tries one can attempt before drawing a
conclusion that cooperation from MySQL should not be expected, and simply
giving up.

Regards,

Alex.
Alex Molochnikov - 14 May 2004 22:37 GMT
A quick follow-up to my previous post: I just had a telephone conversation
with MySQL Senior Sales Manager. Here are the answers to my questions:

> 1. Can a commercial, non-GPLed application make calls on MySQL database
> server, using the JDBC connectivity layer, and having no built-in MySQL
> dependencies, without coming under GPL itself?

Yes. (MySQL database itself is not distributed with the application).

> 2. Can a commercial, non-GPLed application be distributed with MySQL's JDBC
> driver (GPLed or LGPLed) based on the "mere aggregation" clause found in the
> standard GPL text and reproduced on MySQL's website
> (http://dev.mysql.com/doc/mysql/en/GPL_license.html). If not, why not?

No. Have the end-users download and install the drivers to avoid possible
confusion over the distribution of MySQL.

I think it is a fair deal: we provide the end-users with a commercial app
that helps stimulate the use of MySQL (and helps deepen its market
penetration), and the users are responsible for all interaction with MySQL
vendor, including the licensing issues.

At least, this is how I see it after talking to the Sales Manager.

Alex.
Chris Smith - 14 May 2004 23:46 GMT
> > 1. Can a commercial, non-GPLed application make calls on MySQL database
> > server, using the JDBC connectivity layer, and having no built-in MySQL
> > dependencies, without coming under GPL itself?
>
> Yes. (MySQL database itself is not distributed with the application).

> > 2. Can a commercial, non-GPLed application be distributed with MySQL's JDBC
> > driver (GPLed or LGPLed) based on the "mere aggregation" clause found in the
[quoted text clipped - 3 lines]
> No. Have the end-users download and install the drivers to avoid possible
> confusion over the distribution of MySQL.

This is very good news.  I happen to think they got the second answer
technically wrong, but the intent appears to be decent enough, and there
is of course a different between what the actual license says and what
legal interpretations will come out.  Given MySQL's propensity toward
litigation, it's probably best to play it safe anyway.

It's a shame that my prior communications with them, and the information
on the licensing section of their web site, are not equally clear.

Signature

www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation

Alex Molochnikov - 15 May 2004 00:41 GMT
> This is very good news.  I happen to think they got the second answer
> technically wrong, but the intent appears to be decent enough, and there
> is of course a different between what the actual license says and what
> legal interpretations will come out.  Given MySQL's propensity toward
> litigation, it's probably best to play it safe anyway.

I, too, think that the concept of "mere aggregation" is quite clear in
wording and intent, but frankly I do not want to spend time arguing back and
forth the meaning of it with MySQL; this can take forever.

In our case, we will simply have to tell the users where to get the JDBC
driver from, and where to place the file once Scribe is installed. Not as
convenient as "run the installer, then launch the app", and not as safe, but
most of MySQL users should be able to handle this.

> It's a shame that my prior communications with them, and the information
> on the licensing section of their web site, are not equally clear.

I am somewhat surprised that they did not give you the answer. Are you sure
you asked the right questions? All questions that I asked are here in this
thread, and in the private e-mail communications I only restated the same
questions, in the same wording. My telephone conversation with the Sales
Manager covered a lot more ground than my posts here, but the nature of the
questions was still the same.

Anyway, it's time to get back to work, to transform the "yes" from MySQL
into something tangible. :-)

Regards,

Alex.
Carl Rosenberger - 14 May 2004 19:56 GMT
> I would also venture to say that MySQL AB is far from a bunch of 'greedy
> executives', the company is mostly full of technical people who care
> very passionately about open source.

Although this may be true, there is no guarantee that the situation will
stay the same forever. Your website states that you are financed with
venture capital since 2001. Usually venture captial companies take at
least one board seat, so they get a lot of influence on a company.

What would happen if you go through another round of venture capital and
the VCs get 2 seats out of 3?

Maybe your company could make more money by sueing illegal MySQL users
than with license sales? What would happen if the VCs decide to cash in
before MySQL gos public?

If I understand the GPL correctly, every single non-GPL product that
provides a special "MySQL-driver" (this may be just one single
SQL-statement or patch that is intended for compatibility with MySQL
only) and does not come with a commercial MySQL-license could be sued
with a good chance to succeed.

What would happen if your company is sold? If Oracle decides to bid
1 billion tomorrow, will you decline? IBM bought Informix for a billion,
and isn't MySQL a much bigger threat to Oracle's revenues? Maybe Oracle
would care a lot less to offend the community? Hey, in fact that could
be a good deal:
Buy MySQL for a billion and cash in one billion from "pirate" users.

Please don't misinterpret my comments. GPL dual-licensing sure is an
excellent business strategy and it's very fair to everyone. It may
just not yet be understood by the community completely so you may
loose some sympathy, if people feel cheated (which they aren't).

Signature

Carl Rosenberger
db4o - database for objects - http://www.db4o.com



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.