Sun 11 Apr 2004
Category : Commentary/gnu.txt
I'm reading the Free Software Foundation's definition of the GNU General Public License (GPL), as well as some very interesting pages, like this on selling free software.
Let's say, I'm now able to add a new panel (say, for Spam Control) to Postfix Enabler and, among the new features, is an ability to generate very detailed mail statistics. Let's say, also, I'm thinking of using pflogsumm, a Perl script written by Jim Seymour and distributed under the terms of the GNU GPL, to save time writing a log analysis tool of my own.
Now, if I were to download, install and use pflogsumm for my own use, in my own projects, I can use it freely, both in the "free beer" and "free speech" sense - i.e., I don't have to pay to use it and I can make any modification to the source code as I need.
But, if I want to embed its use within a larger piece of software that I wrote myself, and distribute the whole as a package, what happens?
I think the relevant rule is found in the following paragraph in the GPL :
"These requirements apply to the modified work as a whole. 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. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it."
- the key sentences being, "...this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License" - (italics added).
Therefore, if we build and sell an accounting system that interfaces with MySQL, an Open Source database system that is also released under the terms of the GNU GPL, then I think it's safe to say that the accounting system can be released as a proprietary product because the two are clearly separate products.
However, I think but I'm not sure, if I build something like this (below), then Postfix Enabler has to be released also under the terms of the GNU GPL :
It's interesting to work through the implications. For example, let's take ourselves through these scenarios :
Does the GPL allow me to sell copies of the program for money?
"Yes, the GPL allows everyone to do this. The right to sell copies is part of the definition of free software. Except in one special situation, there is no limit on what price you can charge. (The one exception is the required written offer to provide source code that must accompany binary-only release.)"
Does the GPL allow me to charge a fee for downloading the program from my site?
"Yes. You can charge any fee you wish for distributing a copy of the program. If you distribute binaries by download, you must provide "equivalent access" to download the source--therefore, the fee to download source may not be greater than the fee to download the binary."
Does the GPL allow me to require that anyone who receives the software must pay me a fee and/or notify me?
"No. In fact, a requirement like that would make the program non-free. If people have to pay when they get a copy of a program, or if they have to notify anyone in particular, then the program is not free. See the definition of free software.
"The GPL is a free software license, and therefore it permits people to use and even redistribute the software without being required to pay anyone a fee for doing so."
If I distribute GPL'd software for a fee, am I required to also make it available to the public without a charge?
"No. However, if someone pays your fee and gets a copy, the GPL gives them the freedom to release it to the public, with or without a fee. For example, someone could pay your fee, and then put her copy on a web site for the general public."
So "free speech" would, probably, lead eventually to "free beer". It's hard to sell a product for a fee if somewhere else it can be downloaded, legally, for free. I believe people would only do it if the add-ons it brings - like consultancy and training projects - are worth more to the company than any revenue lost from releasing the product for free.
And so, if I'm unsure whether to release Postfix Enabler under the GPL, then using pflogsumm now is out of the question because :
If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL?
"Yes, because the program as it is actually run includes the library."
At this point, I think the issues have become clear.
SpamAssassin and all the Perl modules it uses are released under the Perl Artistic License (though Spamassassin from 3.0 on will be released under the Apache Software License, according the Spamassasin site), which doesn't appear to have the copyleft restriction. The Free Software Foundation site has a very interesting page comparing the features of each of the known licenses against the GPL.
So, if you're looking to hire an Intellectual Property lawyer (lots of people getting into this field), quiz him all the nuances of all these licenses and watch to see if he starts to drown.