So it seems like we have not exactly a good reputation around the globe for being the most clear with licenses. I think this is unfortunately true, and I can explain it better with a few examples.
One of the thing that right now it’s often forgot, but that might become quite more important in the next months, with the release of GNU GPL v3, is the difference between the GNU GPL licenses Version 2 and Version 2, or at your option, any later version. The first for instance is used by the Linux kernel, while the latter is the most used one for any other project, GNU projects and so on.
I’m not a lawyer and my understanding of licenses is quite dull on its own, but for what I can see, the importance of the difference between the two is that you can apply GPLv3 terms on a package released under GPLv2+, but not on one released under GPLv2. Also, I’m not sure of this, but it might not be possible to take code released under GPLv2 and use it on a GPLv2+ or GPLv3 project.. this also refers to the header files that are used by applications to access Linux-specific defines.
Are we ready to cope with this mess? I’m afraid not. While the Free Software Directory I criticised yesterday has made the two different licenses report a different name, so that one can always know what can and what cannot do, on ebuilds we only have GPL-2 license but not GPL-2+, which is kinda bad on its own.
The recent flames with Jörg Shilling about the license of cdrtools shows the importance of clear licenses. On a similar note, the FFmpeg project is currently reviewing the license of their code so that it’s clear which parts are licensed under GPL and which under LGPL, and making sure they are not infringing any license, and they are to praise for this work.
But this is not enough. How many things are currently set to have a “BSD” license? But what’s that? 4-clause BSD? 3-clause BSD? 2-clause BSD? 1-clause BSD? (this one should probably be MIT), 0-clause BSD? (also called as-is). We have no way to differentiate them right now, but they should, most likely.
Also, almost all BSD licenses requires not to drop the COPYING file that states the copyright, do we respect that? I’m afraid not. We can get away with this as we’re a source distribution, and we only distribute a little subset of binary packages, so in most cases we’re fine, but I think we should make clear the license of every package. Maybe even adding a “license-strict” feature to portage that for instance will block you to build a LGPL-licensed package against ffmpeg after enabling the a52dec library wrapper (that’s GPL-licensed, and thus makes ffmpeg GPL-licensed itself; luckily soon we won’t need that anymore as the AC.3 decoder will be native into FFmpeg).
I’m not sure how this should be handled, I’m open to suggestions, maybe we need a licenses project that takes care of analysing and considering the different license issues, with the developers that knows more about licensing and so on.