Greetings All,

My name is Zak Greant. I work at MySQL AB as our community advocate. I am writing to attempt to provide additional clarity on the MySQL licensing.

First, we provide a very simple and clear guideline for choosing the right license.

If you use MySQL with GPL licensed software (or with software that is licensed under other Open Source Initiative approved licenses - see http://www.opensource.org/licenses/index.php), then you should use MySQL under the GPL.

If you use MySQL for proprietary/closed-source software, then you should purchase a commercial license.

We believe that this is easy to understand and quite fair. It does not take into account all of what can legally be done with GPL licensed software, but following it will always ensure that you are within the boundaries of the GPL.

However, this discussion here has focused on what can legally be done with the GPL licensed version of MySQL and I will do my best to provide some clear answers here.

Please note that we are also working on preparing official documents to help make life easier for our community and to make discussions like this less neccessary.

First, here is a bit of background. The GPL grants you three important rights to software that you would not otherwise have. The rights are:
* Copy: You can make copies of the software source code and binaries
* Modify: You can modify the software source code and create new binaries
* Distribute: You can distribute the modified version of the software


In exchange for these rights, you agree to:
 * License any derivative works under the GPL
 * Distribute the source code along with any binaries based on the
   source

MySQL grants additional rights by only requiring that you license derivative works under an Open Source Initiative approved license (as long as you keep all the MySQL code GPL licensed).

You only need to accept the GPL when you want to exercise your rights to copy, modify or distribute the source.

If you are working within the boundaries of a legal entity (like a company) then you do not need the rights granted by the GPL and are not bound by it. This does allow people to develop closed applications that are based on GPL licensed software without being bound by the GPL. An example of this is a web-service. Of course, if you wish to distribute such an application, you must accept the terms of the GPL, or else you have no legal right to distribute our code.

The case of determining if a distributed proprietary/closed-source application can use our GPL licensed software may be difficult at times.

The difficult part is defining what is and is not a derivative work. The idea of a derivative work is part of many countries copyright laws. Under US law, a derivative work is a work that is based in whole or in part on another existing work. MySQL cannot define what is or is not a derivative work because we do not make laws. Instead, we have to rely on what limited information copyright law provides and on what court cases in this area have had to say about copyright law. Note that under Canadian law (I am Canadian), derivative work is not defined - instead Canada relies on the more fundamental right of copying to protect copyright. My knowledge of the copyright law of other areas is limited. Also, please note that I am not a lawyer.

People have asserted that the GPL can be circumvented via abstraction layers or other technical methods. With MaxDB and MySQL, people have suggested that a new LGPL client is enough to break the GPL and I do not agree. The lawyers who I have discussed this with say that copyright law is not clear here and there is very little case law too help make copyright law more clear here.

I believe that a LGPL client is not enough to circumvent the GPL in our case. The client software is a separate piece of software only so that we can use a client/server architecture. If not for this requirement, then the client and server would be one unified piece of software.

That they are intended for use as one piece of software can be simply demonstrated by attempting to run on piece without the other. Without the server to respond to requests and process data, the client is useless. Without the client to allow the server to receive input and return output, the server is useless.

Additionally, the Free Software Foundation's GPL FAQ states:

  By contrast, pipes, sockets and command-line arguments are
  communication mechanisms normally used between two separate programs.
  So when they are used for communication, the modules normally are
  separate programs. But if the semantics of the communication are
  intimate enough, exchanging complex internal data structures, that too
  could be a basis to consider the two parts as combined into a larger
  program.

See http://www.fsf.org/licenses/gpl-faq.html#MereAggregation

We encourage people to do several things with regards to this open issue:
* Give us your feedback at [EMAIL PROTECTED]
* Participate in our open licensing review (see http://zak.greant.com/archives/cat_licensing.html)
* Contact the Free Software Foundation on this matter
* Consult a local lawyer who specializes in software licensing and who has some understanding of the GPL


I am also happy to discuss this further. Please make sure to Cc: me in discussions on this list that you want me to participate in - I do not usually read this mailing list.

Cheers!
--
Zak Greant
MySQL AB Community Advocate


-- MaxDB Discussion Mailing List For list archives: http://lists.mysql.com/maxdb To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to