Open Source Stack Exchange is a question and answer site for people organizing, marketing or licensing open source development projects. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Does the Python Software Foundation License permit relicensing to the GNU GPLv3 (or v2)?

share|improve this question
    
It would be nice to have a table of licenses that permit re-licencing and with what requirements. – ThorSummoner Feb 27 at 22:17
    
There is a discussion on this in Wikipedia – vonbrand Mar 1 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. – Zizouz212 Mar 1 at 0:47
up vote 6 down vote accepted

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.

share|improve this answer
    
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. – ThorSummoner Feb 27 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 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. – ThorSummoner Feb 27 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 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. – Prahlad Yeri Feb 28 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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.