Good Day All,
Let me attempt to provide some clarity on this issues (though it is
important to note that I am not a lawyer or a judge.)
The fundaments of the GPL are easy to understand.
The GPL operates within standard copyright law.
Under copyright law[0], the copyright holder has a bundle of rights
related to their work.
These rights including the right to control the copying, modification
and distribution of their work.
The holder can keep these right or they can grant others some or all of
the rights as well.
If they grant others rights to their work, they usually do so under the
terms of a license.
The GPL is one such license. It gives you the right to copy, modify and
distribute the work as long as you follow some conditions. The
important conditions for this discussion are:
* You must distribute (or at least make available) the source code for
the software.
* If you form a derivative work with GPL licensed software, then the
resulting work should also be GPL licensed. [1]
Derivative work is a term from US copyright law (though most copyright
laws have some similar concept). A derivative work is a work that is
based in whole or in part on another work.
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 with any of the databases. 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.
The technical process used (linking methods, abstraction layers,
communication layers, ...) cannot be the only determining factor of
whether a derivative work is or is not formed. If it were, then it
would allow software licenses (both free and non-free) to be easily
circumvented. Instead the end intent of the action must be taken into
account.
A good analogy for this is the case of someone dying due to someone
else's actions. Consider the following cases:
I drop a heavy potted plant on David. (He has a great comics collection
that I covet. ;)
I ask Mark to drop a heavy potted plant out the window, but I don't
tell him that David will likely be killed by this.
Mark falls out of the window because the plant is really heavy.
David shoots Marks because he thinks that he is going to drop a potted
plant on him.
Which of the above is murder? Who is responsible? It really depends on
how much is known about each situation. If David shoots Mark, and Mark
is the only person who knew that I asked him to drop the plant out the
window, then I would seem to be innocent (unless I was recorded urging
Mark to drop the pot or I confessed).
The context that an event occurs in has a tremendous effect on how it
is perceived.
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 then you should
purchase a commercial 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.
[0] Note that different countries have different copyright laws. The
exact bundle of rights and how they are protected vary from country to
country.
[1] 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.
Cheers!
--
Zak Greant
MySQL AB Community Advocate