Does the Python Software Foundation License permit relicensing to the GNU GPLv3 (or v2)?
-
1It would be nice to have a table of licenses that permit re-licencing and with what requirements.– ThorSummonerFeb 27, 2016 at 22:17
-
There is a discussion on this in Wikipedia– vonbrandMar 1, 2016 at 0:22
-
1@vonbrand I wouldn't call it a "discussion" - since it's technically more an article. Concerning the subject though, we have a tag dedicated to it.– Zizouz212Mar 1, 2016 at 0:47
2 Answers
You cannot re-license the individual PSFL-licensed work, because you are not the copyright holder and the copyright holder has not permitted you to do so. Python will remain under the PSFL; the only way to change this is for the copyright holder to issue it under a different license.
Instead, however, if you are merely interested in combining a PSFL-licensed work with GPL-licensed code, then you are interested in the question of whether the PSFL is GPL compatible.
The Free Software Foundation says of Python licensing for various versions:
License of Python 2.0.1, 2.1.1, and newer versions
This is a free software license and is compatible with the GNU GPL. Please note, however, that intermediate versions of Python (1.6b1, through 2.0 and 2.1) are under a different license (see below).
License of Python 1.6a2 and earlier versions (#Python1.6a2)
This is a free software license and is compatible with the GNU GPL. Please note, however, that newer versions of Python are under other licenses (see above and below).
License of Python 1.6b1 through 2.0 and 2.1
This is a free software license but is incompatible with the GNU GPL. The primary incompatibility is that this Python license is governed by the laws of the State of Virginia, in the USA, and the GPL does not permit this.
As long as you're not using a version of Python between 1.6b1 and 2.0 or version 2.1, your copy of Python is compatible with the GPL.
GPL compatibility does not allow you to simply relicense the Python interpreter in isolation, but it does mean that you can combine the interpreter with other works that are licensed under the GPL and license the entire combined work under the GPL, as required by the GPL.
In other words, you can comply with both licenses' requirements simultaneously. In the particular case of the GPL, this is possible because the set of restrictions imposed by the Python license is a subset of those imposed by the GPL.
-
I thought that re-licensing was distinct from license compatibility; In my case I want to fork a project licensed under the PSFL and release my fork under the GPL; I am already aware that I can use them together. Feb 27, 2016 at 22:51
-
3@ThorSummoner You are free to include PSFL-licensed work in a combined work that is, as a whole, licensed under the GPL. You cannot re-license the individual PSFL-licensed work, because you are not the copyright holder and the copyright holder has not permitted you to do so. In your particular case, go ahead and make your GPL-licensed fork. Your original contributions will the GPL licensed, the PSFL-licensed work, considered in isolation, will remain PSFL-licensed. The work as a whole is GPL-licensed. See also gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean– apsillers ♦Feb 27, 2016 at 22:57
-
If the fork was a substantial re-write of the original project, could it be relicensed? That's a topic that I haven't came across any resources on yet. Feb 27, 2016 at 23:02
-
1@ThorSummoner If you performed a clean room rewrite of the software without consulting the original code, then it is possible that your code might not be considered a derivative work under copyright law. In that case, if true, the work is all your own, and you may license it however you like. Otherwise, your work is a derivative work of the PSFL-licensed code (even if no original line of code tangibly persists in your rewrite!) and you must abide by the PSFL's terms for derivative works (e.g., preserve copyright notices, license text, etc)– apsillers ♦Feb 27, 2016 at 23:09
-
Like many have said, you cannot "relicense" it without originl copyright holders' permission. But what you can do is fork it and then add GPL on top of PSFL. Since they are compatible, dual licensing is possible. You will have to maintain the original license terms of course. Feb 28, 2016 at 8:27
If you get some code under the Python license, and you add some code you license under GPL, the result has to be licensed under the more restrictive license, i.e., GPL.
In any case, doing so is damaging. Your combination will become a pariah in the larger Python community, as it can't be included without tainting all. This is a sure recipe to have it die on the wine. The community will probably see you as disruptive, and shun you. Everybody loses.