This question came up again today on the gdal-dev discussion list, and Even Rouault posted an answer that summarizes very well the obligations related to the most common licenses in our field: GPL, LGPL, BSD and MIT/X11.
I reproduce Even's answer here for reference as a starting point for next time someone asks:
... here's my understanding of the obligations of the licences. Take it with a grain of salt : "I'm not a lawyer". * If your application links to a GPL library, the whole application, including your own code, is bound by the GPL. You must include the appropriate copyright notice for the library and provide the user access to the source code of the GPL library (including the modifications you may have done) and to the code of your application too under the terms of the GPL. * If your application links to a LGPL library, you must include the appropriate copyright notice for the library and provide the user access to the source code of the LGPL library (including the modifications you may have done in it). Your application itself may be released under the terms you like. * If your application links to a BSD library, well, that's depend of the BSD licence. There are 2-clause, 3-clause and 4-clause variants of the BSD licence... If it includes the following clause "Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution", well just comply with it. Otherwise, if you don't distribute any source code (and you don't have to), you have nothing to do. In any case, the licence only covers the library code, not your application. * The MIT licence is a bit similar, except that, the general understanding is that it places no obligations if you distribute the library as a binary object. But I've always found that the term "the Software" in the licence isn't very explicit if it only covers only the source code or binaries generated from it. So it might be nice to include the copyright notice somewhere if you distribute it as a binary. If you distribute it as source code, it's clear that you must include the copyright notice.
The answer also depends on what you'll be doing with the code. If you are not distributing it outside your company, then you can do as you like, even with gpl code.
ReplyDeleteThe AGPL wasn't mentionned above: it's the only exception to this rule. AGPL adds a clause to the GPL basically saying that distributing a service across a network counts as distribution. For instance, you can use WordPress GPL code inhouse to your heart's content but if you ever think of distributing that outside, you're going to have to abide by the GPL. If you plan to do the same thing with http://status.net/ for example, then you must share your changes since StatusNet is AGPL.