Guidelines and HOWTOs/Relicensing/KDE Relicensing

From KDE Community Wiki

KDE GPL v2.0 Relicensing effort

Why does it matter ?

A couple of KDE dependent projects or even libraries have moved or are going to move to GPLv3 (State of GPLv3 movement).

Unfortunately, GPL v3 is incompatible with GPL v2. This means that it is not possible to create a project linking GPL v2 and v3 code together. There is no problem for projects which are licensed GPLv2+ (version 2 or above).

A few parts of KDE are currently licensed as GPLv2 only. So far we have no reason to believe that this was something other than an oversight. However, we still need to validate with the individual copyright holders that a relicense to GPLv2+ or GPLv2+v3 is okay with them.

Therefore, in an effort we're trying to identify the contributors that have contributed under the terms of GPLv2 and where the "+" part was not explicetly mentioned. If we know that all contributors agreed to a relicense, we can go ahead and flip the license of the individual source file.

How can I help ?

By identifying a contributor who as contributed under the terms of GPLv2 (use kdesdk/scripts/relicensecheck.pl on the file in question), and contacting him if he wasn't already contacted. Ask him the following questions:

  • Are you okay with relicensing your contributions done under GPLv2 to GPLv2+?
  • Are you okay with relicensing your contributions done under GPLv2 to GPLv2 or GPLv3 ?
  • Are you okay with relicensing your contributions done under LGPLv2 to LGPLv2+?
  • Are you okay with relicensing your contributions done under LGPLv2 to LGPLv2 or LGPLv3?
  • Are you okay with the KDE e.V. deciding on a future licensing change to your code, should that be necessary?

Whats next?

  1. you checkout relicensecheck.pl from trunk/KDE/kdesdk/scripts
  2. you run it on the file or directory in question
  3. you interpret the result. check each commit that is being complained about carefully. Try to get the copyright's holder's permission. if you get it, update the whitelist in the script.
  4. review the list of declared copyright holders in the file.
  5. if you're all clear, change the license to the most liberal license possible. Document your change verbosely in the SVN commit log.

Current Reply List

  • Please keep the list sorted by family name!
  • Please only use "YES" or "NO"
Name GPLv2->GPLv2+ LGPLv2 -> LGPLv2+ GPLv2 -> GPLv2+v3 LGPLv2 -> LGPLv2+LGPLv3 KDE e.V. decides
Adam, Till YES YES YES YES NO
Bastian, Waldo NO NO YES YES YES
Boemann, Casper YES YES YES YES YES
Broadstone, Matt NO NO YES YES YES
Cullmann, Christoph NO NO YES YES NO
Drummond, Craig YES YES YES YES YES
Dymo, Alexander YES YES YES YES NO
Faure, David YES YES YES YES YES
Granroth, Kurt YES YES YES YES YES
Herden, Jens YES YES YES YES YES
Hoeglund, Fredrik NO NO YES YES
Kainhofer, Reinhold YES YES YES YES YES
Kellet, Alexander YES YES YES YES YES
Knight, Robert YES YES YES YES YES
Kretz, Matthias NO NO YES YES NO
Kulow, Stephan YES YES YES YES NO
Lunak, Lubos YES YES YES YES NO
Mac-Vicar, Duncan YES YES YES YES NO
Macieira, Thiago YES YES YES YES YES
Mantia, Andras NO NO YES YES YES
Martyn, Greg YES YES YES YES YES
Montel, Laurent YES YES YES YES YES
Moore, Richard NO NO YES YES YES
Mueller, Dirk YES YES YES YES NO
Mutz, Marc YES YES NO NO NO
Riddell, Jonathan YES YES YES YES YES
Sand, Espen YES YES YES
Schlaeger, Chris NO NO YES YES NO
Seigo, Aaron YES YES YES YES YES
Stephenson, Will YES YES YES YES YES
Tapsell, John YES YES YES YES YES
Trueg, Sebastian (Exception: K3b) YES YES YES YES YES
Wolfer, Urs YES YES YES YES YES

Current TODO List

  • Matthias Kretz
  • KDAB
  • Tobias Koenig
  • Matthew Woehlke
  • Lubos Lunak
  • Daniel Teske
  • Dawit Alemayehu
  • Oswald Buddenhagen
  • Laurent Montel
  • Alex Zepeda
  • Thomas Leitner
  • Stephan Kulow
  • Lars Knoll
  • Kevin Ottens
  • Daniel Molkentin
  • Simon Hausmann
  • Maksim Orlovich
  • Sirtaj Singh Kang
  • Will Stephenson
  • Karol Szwed
  • Thorsten Roeder
  • Joseph Wenninger

Current list of problematic directories

kdeadmin/ksysv/
kdeadmin/kuser/
kdeartwork/kscreensaver/kdesavers/
kdebase/apps/kappfinder/
kdebase/apps/keditbookmarks/
kdebase/apps/konqueror/settings/filetypes/
kdebase/apps/konqueror/settings/kio/
kdebase/apps/konqueror/src/
kdebase/apps/konqueror/src/tests/
kdebase/apps/lib/konq/
kdebase/apps/nsplugins/viewer/
kdebase/runtime/kcontrol/componentchooser/
kdebase/runtime/khelpcenter/
kdebase/runtime/kpasswdserver/
kdebase/runtime/kurifilter-plugins/fixhost/
kdebase/runtime/kurifilter-plugins/localdomain/
kdebase/runtime/nepomuk/strigibackend/
kdebase/runtime/phonon/xine/
kdebase/workspace/kcontrol/background/
kdebase/workspace/kcontrol/input/core/
kdebase/workspace/kcontrol/input/xcursor/
kdebase/workspace/kcontrol/krdb/
kdebase/workspace/kcontrol/style/
kdebase/workspace/kdm/kfrontend/
kdebase/workspace/kmenuedit/
kdebase/workspace/ksplash/ksplashx/
kdebase/workspace/ksysguard/gui/
kdebase/workspace/ksysguard/gui/ksgrd/
kdebase/workspace/ksysguard/gui/SensorDisplayLib/
kdebase/workspace/ksysguard/ksysguardd/
kdebase/workspace/ksysguard/ksysguardd/FreeBSD/
kdebase/workspace/ksysguard/ksysguardd/Irix/
kdebase/workspace/ksysguard/ksysguardd/Linux/
kdebase/workspace/ksysguard/ksysguardd/NetBSD/
kdebase/workspace/ksysguard/ksysguardd/Solaris/
kdebase/workspace/ksysguard/ksysguardd/Tru64/
kdebase/workspace/ktip/
kdebase/workspace/libs/kdm/
kdebase/workspace/libs/ksysguard/processui/
kdebase/workspace/libs/plasma/widgets/
kdebase/workspace/plasma/dataengines/filebrowser/
kdebase/workspace/solid/kcm/
kdebase/workspace/solid/networking/tests/
kdebindings/csharp/qyoto/tools/csrcc/
kdebindings/csharp/qyoto/tools/uics/
kdebindings/ruby/qtruby/tools/rbrcc/
kdebindings/ruby/qtruby/tools/rbuic/
kdebindings/ruby/qtruby/tools/rbuic/ruby/
kdebindings/xparts/xpart_notepad/
kdeedu/klettres/src/
kdeedu/kstars/kstars/indi/drivers/ccd/
kdeedu/kstars/kstars/indi/drivers/focuser/
kdeedu/kstars/kstars/indi/drivers/telescope/
kdeedu/kstars/kstars/indi/drivers/video/
kdeedu/kstars/kstars/indi/libs/webcam/
kdeedu/kturtle/src/
kdeedu/kturtle/src/interpreter/
kdeedu/libkdeedu/extdate/
kdeedu/marble/src/lib/geodata/
kdeedu/marble/src/lib/geodata/data/
kdeedu/marble/src/lib/geodata/handlers/gpx/
kdeedu/marble/src/lib/geodata/handlers/kml/
kdeedu/marble/src/lib/geodata/parser/
kdegames/knetwalk/src/
kdegraphics/gwenview/lib/
kdegraphics/okular/generators/chm/kio-msits/
kdegraphics/okular/generators/chm/lib/
kdegraphics/okular/generators/comicbook/
kdegraphics/okular/generators/plucker/unpluck/
kdegraphics/okular/generators/spectre/libspectre/
kdegraphics/okular/generators/spectre/libspectre/ghostscript/
kdelibs/cmake/automoc/
kdelibs/kde3support/tests/
kdelibs/kdecore/tests/
kdelibs/kdeui/tests/
kdelibs/kfile/tests/
kdelibs/kinit/tests/
kdelibs/kioslave/http/kcookiejar/
kdelibs/kioslave/http/kcookiejar/tests/
kdelibs/kjsembed/examples/editor/
kdelibs/kpty/
kdelibs/phonon/kcm/
kdelibs/phonon/tests/
kdelibs/solid/examples/tutorial6/
kdelibs/solid/tests/
kdenetwork/kopete/doc/t2/
kdenetwork/kopete/doc/t3/
kdenetwork/kopete/protocols/irc/
kdenetwork/kopete/protocols/jabber/libiris/cutestuff/legacy/
kdenetwork/kopete/protocols/jabber/libiris/cutestuff/network/
kdenetwork/kopete/protocols/jabber/libiris/cutestuff/util/
kdenetwork/kopete/protocols/jabber/libiris/iris/include/
kdenetwork/kopete/protocols/jabber/libiris/iris/jabber/
kdenetwork/kopete/protocols/jabber/libiris/iris/xmpp-core/
kdenetwork/kopete/protocols/jabber/libiris/iris/xmpp-im/
kdenetwork/kopete/protocols/oscar/liboscar/utils/
kdenetwork/kopete/protocols/qq/
kdenetwork/kopete/protocols/yahoo/libkyahoo/
kdepim/akonadi/resources/openchange/
kdepim/akonadi/server/sqlplugin/
kdepim/kaddressbook/xxport/
kdepim/kdgantt/
kdepim/kdgantt1/
kdepim/kleopatra/utils/
kdepim/kmail/
kdepim/libkleo/ui/
kdepimlibs/kcal/libical/vzic-1.3/
kdepimlibs/kcal/versit/
kdepimlibs/kioslave/sieve/
kdepimlibs/syndication/tests/
kdepim/views/conversationview/
kdesdk/kioslave/svn/ksvnd/
kdesdk/kompare/komparepart/
kdevelop/buildtools/managers/automake/tests/
kdevelop/plugins/qtdesigner/internals/
kdevplatform/interfaces/
kdevplatform/test/common/
kdewebdev/kommander/editor/
kdewebdev/kommander/factory/
kdewebdev/kommander/plugin/

Current top 30 of possible contributors to GPLv2-only files

  23647 sequitur
  20801 gerken
  20659 craig
  17365 rdale
  17080 tokoe
  15023 dfaure
  13945 lunakl
   9339 arnorehn
   8703 thorsen
   8273 coolo
   7458 cies
   7448 mutlaqja
   7424 rogowski
   6018 gyurco
   5692 djurban
   5531 mrudolf
   5525 aacid
   5446 ogoffart
   5299 mkretz
   5245 winterz
   4216 cschlaeg
   4152 johnflux
   3652 waba
   3327 fredrik
   3138 chehrlic
   2944 mlaurent
   2916 teske
   2661 kniederk
   2614 martyn
   2484 lypanov