Subject: Re: basic questions
From: "Marcus R. Breese" <mbreese@gmail.com>
Date: Sun, 13 Feb 2005 02:50:36 -0500

On Sun, 2005-02-13 at 00:27 +0100, Xavier Noria wrote:
> Not really.
> 
> It is correct to say that MySQL is an Open Source database? Looks to me 
> that it violates OSD #9 since they provide a license or other depending 
> on whether you are building a closed application that uses it or not, 
> which looks like.

Since MySQL AB owns the copyright to the MySQL source code / program,
they can license their software as they see fit.  It just so happens
that they dual-license the software: GPL or commerical.  

You can distribute as many copies of GPL'd MySQL DB as you'd like with
your closed source application.  So long as you are only distributing
it.

The trick is, you can't use the MySQL libraries to access the MySQL DB
unless your software is also GPL.  This is because when you link your
software with the MySQL GPL libraries for accessing the software, you
create a new single work that is a deriviative product of their GPL
libraries.  When you compile a program that imports the mysql jdbc
connector, then you create that derivative work...

> The GPL is an Open Source license, so if you get a GPL MySQL your 
> software needs to take that into account. But as I commented to another 
> list member off-list AFAIK it could be valid to do this:
> 
>     1. I build a web-site for customer C
>     2. The web-site is in Java and closed
>     3. I ask C to install GPL MySQL in their web server
>     4. I use the database from the website
> 

I think that you technically aren't using the database in a legal sense
(I may be wrong on this).  You are using the libraries provided by MySQL
and licensed to you under the GPL as part of your webapp to connect to
the database.  The libraries then use a separate connection mechanism to
communicate with the database.  You can have your customer install MySQL
on their server.  You can even distribute the copy to them on the same
CD as your software.  However, you couldn't distribute a copy of the
mysql jdbc connector with your closed-source application unless you
bought a commercial license.

> But then http://www.mysql.com/company/legal/licensing/ says
> 
> "If you distribute a proprietary application in any way, and you are 
> not licensing and distributing your source code under GPL, you need to 
> purchase a commercial license of MySQL"
> 
> They say you *need* to buy a commercial license even in that 
> hypothetical case!
> 

You missed the key point.  If you are licensing or distributing your
code to your customer under the GPL, then there is no issue.  If you are
distributing your software to your customer under a closed-source
license (meaning, they don't access to the source code), then you need a
commercial license.  If you are working under a "work-for-hire" contract
for the customer, and they own the copyright, and then there is
technically no "distribution", so this is moot.

IANAL, etc...  I just happen to think about this stuff a lot.  Also, I
may be wrong, and I welcome anyone to disagree with me, but I think that
I'm correct in my interpretations...

-- 
Marcus R. Breese <mbreese@gmail.com>