basic questions

Marcus R. Breese mbreese at
Sun Feb 13 22:10:52 UTC 2005

On Sun, 2005-02-13 at 09:51 +0100, Xavier Noria wrote:
> > The trick is, you can't use the MySQL libraries to access the MySQL DB
> > unless your software is also GPL.
> But the drivers are no mentioned in the terms under which you can 
> choose a license. If I happened to use some non-GPL drivers I would be 
> required to buy a comercial license for the commercial webapp.

If you include the MySQL server with an application that is not licensed
under the GPL or GPL-compatible license, you need a commercial license
for the MySQL server.

  * If you develop and distribute a commercial application and as part
    of utilizing your application, the end-user must download a copy of
    MySQL; for each derivative work, you (or, in some cases, your
    end-user) need a commercial license for the MySQL server and/or
    MySQL client libraries.

  * If you include one or more of the MySQL drivers in your non-GPL
    application (so that your application can run with MySQL), you need
    a commercial license for the driver(s) in question. The MySQL
    drivers currently include an ODBC driver, a JDBC driver and the C
    language library.

  * If you distribute MySQL Software within your organization, you
    should purchase a commercial license.

Their argument is that if you _require_ MySQL to operate, you are in
effect creating a derivative work.  Meaning, if the customer can't plug
in a different database solution, and you are distributing a
close-source application, then you need a commercial license.  I forgot
that point earlier.

The drivers are specifically mentioned, as they are distributed under
the same terms.  This is also make clear on their download page for the
JDBC driver.  

The last point of distrbuting MySQL within an organization is a little
less clear, and is more of a guideline than a requirement.  In my
opinion, it is a little shaky.  The question here is that if you
distribute code within an organization, is that still a legal
"distribution".  I won't comment on that.

Now, it may be possible to write an application, provided it is
abstracted enough, so that it doesn't require MySQL in particular, but
requires _any_ database.  Then it would be upto the customer to choose
and install the database of their choice.  This may be possible, but I'd
ask a lawyer.

> Maybe there's the implicit assumption that it can't be the case that 
> those drivers exists and do not require themselves a commercial license 
> of MySQL AB as happens here for instance?

The driver you mention here was developed using the MySQL AB API, and
since this is a closed source driver, you need a closed-source license
to connect to MySQL.

> In that case MySQL would be Open Source according to the OSD in this 
> sense:
>      1. You can use a GPL version + the FOSS exception
>      2. Since there is no practical way to use MySQL in a
>         commercial product which does not comply with the
>         cases in 1, MySQL AB gives you yet the chance to
>         do so buying their commercial license
> Would you (Marcus and all) agree with that interpretation in spite that 
> it is not exactly formally what they say?

You can create a commercial product using the GPL version of MySQL.
Your product would also have to be licensed under the GPL (or under a
compatible F/OSS license).  If you have chosen to not distribute your
application under GPL/FOSS, then yes, MySQL AB offers you the choice of
still using their database, as is their right.

This is basically the question of "can I include GPL code in a non-GPL
project"?  The answer is no.  MySQL opens this up a bit, and includes a
few exemptions, but it basically comes down to that question.
Marcus R. Breese <mbreese at>

More information about the License-discuss mailing list