Distinguish between GNU GPL V2 and V3 licenses

Bug #190913 reported by Elliot Murphy
6
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Medium
Edwin Grubbs

Bug Description

When you register an new project there is only a generic GPL and LGPL option for selecting the license.
I propose to keep these generic options only for existing projects and add GPLv2, GPLv2+, LGPLv2, LGPLv2+,
GPLv3, GPLv3+, LGPLv3 and LGPLv3+ options for new projects. This would make it easier to see which version
of the GPL or LGPL a project is using.

Also, fix the naming, the correct names are "GNU XXX".

Elliot Murphy (statik)
Changed in launchpad:
assignee: nobody → edwin-grubbs
importance: Undecided → Medium
milestone: none → 1.2.2
status: New → Confirmed
Changed in launchpad:
milestone: 1.2.2 → 1.2.3
Changed in launchpad:
milestone: 1.2.3 → 1.2.4
Revision history for this message
Edwin Grubbs (edwin-grubbs) wrote :

[12:34:56] <mrevell> I propose we add an introductory sentence above the licence check-boxes. Something like:
[12:35:00] <mrevell> "Select the licence(s) under which you release your project."
[12:35:06] <mrevell> And also strengthen the wording below to say, "Launchpad.net is free to use for software projects that share their source code and comply with these licensing policies. Contact us if your project uses a proprietary licence."
[12:36:03] <mrevell> Cool. We can link "contact us" to help.launchpad.net/Feedback

Changed in launchpad:
status: Confirmed → In Progress
Revision history for this message
Edwin Grubbs (edwin-grubbs) wrote :

GPLv2+, GPLv3+, LGPLv2+, and LGPLv3+ seem like unnecessary options. Whenever a GPLv4 becomes available, it should be possible for users to select that as new options. I think that providing the "+" options will more likely cause misuse, since it is not obvious that "+" means "later versions" versus "added restrictions".

Revision history for this message
LaserJock (laserjock) wrote :

The problem is that GPLv2+ and GPLv2 are very different licenses right now. If I'm writing a GPLv3 app I can't use GPLv2 code but I can use GPLv2+ so while it is confusing it's also pretty important. I'm not sure if Launchpad wants to be responsible for helping users with licensing but something like what Fedora does at http://fedoraproject.org/wiki/Licensing#GPLCompatibilityMatrix might be helpful.

Revision history for this message
Dennis Benzinger (dennis-benzinger) wrote :

@Edwin Grubbs:
The "+" options are necessary. It's a big difference if code is released as GPLv2 or GPLv2+.
In the latter case I can convert the code to GPLv3 and use it in another GPLv3 program.
If the code I want to use is licensed under GPLv2 I can't do that. The same situation will
arise if GPLv4 is published and I want to use GPLv3 or GPLv3+ code.

@Jordan Mantha:
I don't think we should make another copy of the license compatibility matrix like Fedora did.
Just point the Launchpad users to the original one at <http://www.fsf.org/licensing/licenses/gpl-faq.html#AllCompatibility>.

Revision history for this message
Dennis Benzinger (dennis-benzinger) wrote :

My last comment is not quite correct. GPLv2+ code can be used directly in GPLv3 code.
You don't have to convert anything. Conversion comes into play if you want to use GPLv2+
code in LGPLv3+ code. In this case you have to convert the LGPLv3+ code to GPLv3.
Read more about this in the license compatibility matrix at:
http://www.fsf.org/licensing/licenses/gpl-faq.html#AllCompatibility

But my main point remains true. The "+" options are necessary.

Revision history for this message
Edwin Grubbs (edwin-grubbs) wrote :

Since the "GPLv2 or later" is significantly different than just dual-licensing under the GPLv2 and GPLv3, we should add it. I think the name should be "GPLv2 or later" instead of "GPLv2+" for clarity.

http://www.fsf.org/licensing/licenses/gpl-faq.html#v2OrLaterPatentLicense

Revision history for this message
Edwin Grubbs (edwin-grubbs) wrote :

Since we are not tracking all the license versions for all the other licenses, it shouldn't be necessary to do that for the GPL/LGPL. Therefore, just the GPLv2, GPLv3, LGPLv2.1 and the LGPLv3 will be added. Also, the ten most rarely used licenses will be removed from the form so that the number of options becomes smaller instead of bigger.

Revision history for this message
LaserJock (laserjock) wrote :

This is true, except most license are probably compatible version to version whereas with the GPL this is not the case presently. If you aren't going to track GPL/LGPL versions perhaps you should just do "GPL" and "LGPL" and forget the versions altogether?

Revision history for this message
William Grant (wgrant) wrote :

As above, distinguishing only between GPL[23] is fairly useless, as one can't determine compatibility without knowing if it is 'GPLx or later.'

Revision history for this message
Dennis Benzinger (dennis-benzinger) wrote :

As I said before it is a _big_ difference if code is licensed under GPL[23] (and only under that version)
or if it is under GPL[23]+. If I'm looking for a library that I can use in one of my programs it's quite
important to know which of this two options are used. If you omit the "or later" variants I have to look
at every project indivdually which kind of license it uses and perhaps even have to download the code
just to know which license is used. With the "or later" versions I could simply look at the license option
on the project page and immediatly know if I can use this code or not.

If you want to remove rarely used licenses what happens to projects that use such a license?
And can I still search for projects using a removed license? Probably you should only remove licenses
if no project uses them. For the other rarely used licenses (which are in use) you could hide them from
the project registration page and only show them when a user explicitly asks for them by pressing a
button or following a link.

Revision history for this message
Elliot Murphy (statik) wrote :

Dennis,
Thanks for your comments. We're going to go ahead with the simplification as described - the licensing thing was merely intended to make it clear whether or not projects were using free licenses, you would still need to look at every project individually and download the code to determine exactly which license is used.

Changed in launchpad:
status: In Progress → Fix Committed
Changed in launchpad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.