[Edit: revised version hiding my blushes by giving the right reason for the policy, it's nothing to do with Qt anymore, D'oh! :-)]
Licensing and license compatability is hard, and I'm no expert (that would be Ade...), but I do know that krazy is telling me there is an increasing amount of code turning up in KDE that is licensed only under GPL3 which is a no-no according to the KDE Licensing Policy. The policy is in place because we need to keep our code base consistent and internally compatible while still allowing us to link to GPL2 only libraries if needed.
I'll be nudging people to get fixes made, but please remember that any new app code needs to be (GPL2+ || (GPL2+ && GPL3+)). Any new library code (kdelibs, kdepimlibs, kdebase-runtime) needs to be (LGPL2.1+ || (LGPL2.1+ && LGPL3+) || BSD || MIT || X11) where appropriate. This is just a high-level summary, read the Licensing Policy for the exact details, start the New Year with a refresher course :-). Contact the licensing mailing list if you need expert advice.
Don't forget you must also include a copyright statement in the form "Copyright <year> <name of author> <e-mail>". Although not explained in the policy, there's a few important criteria this needs to meet to carry maximum legal weight (at least according to discussions on the licensing list):
So an ideal notice would look like "Copyright 2003, 2004, 2005, 2009 Joe Bloggs joe.bloggs@kde.org".
I see a few people trying to beat the email harvesters by writing "joe.bloggs kde org", I guess that's still acceptable if a little futile? Please try make the email an address that will last a while: University, work, and even ISP addresses have natural life-spans far shorter than your code and someone may need to reach you 5-10 years later. The kdemail forwarder is a good option if you are not an ev member with a kde.org address (hmm, about time I joined!).
Krazy is your friend for checking stuff like this, remember to look a couple of days after any commit to see if you've missed something :-) I wonder if we could have an svn hook that runs krazy and apidox over only the files changed by a commit and e-mails the result to the committer? Or if all the checks would be too inefficient, at least an important subset? All I know is most people forget to check krazy and apidox, so any automation would be good.
Happy New Year y'all!
Comments
The whole point of the LGPL...
is to allow proprietary code to link against an LGPL library. However, the "proprietary linking" portion of the license also allows GPLv3 code to link against it. It's the same with non-copyleft licenses.
odysseus talks about linking
odysseus talks about linking against GPLv2 libs... no "L".
Interesting, I was just looking at the same recently
I was wondering what I should license a new app I was working on, should it be GPL2+ or GPL3+. According to the Licensing Policy it should be GPL2+ or GPL3+, but not GPL2+ and GPL3+. GPL3 or later is acceptable according to the policy.
I know the policy language
I know the policy language is a bit cumbersome, but what you are saying is not true. GPL3 or later is not acceptable
hmm?
Ehm, yes it is.
"legal standing"
Well afaik I know what you refer to is not needed in Germany and Austria. Here you don't need to write "copyright" to have the copyright, here publishing something is enough. Anyway that is just an information not meant as changing the policy or whatever.
Hi, I find this policy a
Hi,
I find this policy a little bit strange. Does KDE really forbid any GPLv3 code as part of KDE SC? This would mean KDE is for ever stuck to a outdated license. GPLv2 is the past, GPLv3 the present and GPLvX the future.
Remember what would happen if projects had a similar policy back the days GPLv1 was in the position GPLv2 is today. Than we would still have a lot of GPLv1(+) licensed software. Scarry, isn't it?
Sure if a program want to link to a GPLv2-only lib it has to be GPLv2(+). But if I program doesn't have such dependencies I don't see a reason to use a old license.
Isn't (GPL2+ || (GPL2+ &&
Isn't (GPL2+ || (GPL2+ && GPL3+)) exactly the same as simply GPL2+?