project creation page should encourage common licenses

Bug #333932 reported by Karl Fogel
8
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Barry Warsaw

Bug Description

(This request results from a thread with kiko, joey, mrevell, bac, kfogel, which in turn followed from bug #332160.)

We'd like to redo the choose-a-license area on the project creation page.

It's getting long (21 licenses!), and now we need to add some new CC licenses. So let's shunt the more exotic licenses off into a separate block that people only see if they can't find the license they want on the main page. The guiding principle here is:

  "Launchpad should accept any license that we know is open source, but we should try to steer people toward the common ones."

So now the main project-creation page would offer these options:

   "We strongly recommend one of the following licenses:

   GNU GPL version 3
   GNU Affero GPL version 3
   BSD (revised)
   MIT / X License
   GNU GPL version 2
   GNU LGPL version 2.1
   GNU LGPLv3
   Apache 2.0
   Public Domain / Creative Commons 0

   [then slightly separated from the above list come these two options, which presumably open up into an AJAX-y panel or something]:

   Other open source licenses...
   Proprietary license...

 * "More open source licenses..." would offer the remaining open source licenses (taken from our current list):

  Academic Free License
  Artistic License
  Common Public License
  Eclipse Public License
  Educational Community License
  Mozilla Public License
  Open Software License
  Perl License
  PHP License
  Python License
  Zope Public License

 Plus these two new ones:

  Creative Commons Attribution (for non-software projects)
  Creative Commons Attribution-ShareAlike (for non-software projects)

 Plus a final escape hatch in case the needed license isn't listed:

  Other: [text field to enter info about other open source license]

 * "Proprietary license..." would steer you in the right direction for that (our offering for private and/or proprietary projects is a work-in-progress right now, I think Brad knows more)

I will update https://help.launchpad.net/Legal/ProjectLicensing to talk about how non-software projects are okay (that's what bug #332160 was originally about).

Regarding UI:

Obviously, let the force flow within you and do what you think is right :-). Joey Stanford had some ideas:

 "..., if the project is a doc or a website which is under GFDL or CC, that should also be on that [second] licensing page. An AJAX choice box there would make that transition either: if project then show project licenses, elseif doc then show doc licenses."

In reply, I said:

 "Didn't quite understand that... (we don't have a 'project type' field right now, AFAICT.)"

Joey responded:

 "I'm thinking about how the ajax screen would flow. Instead of having the project and doc licenses mixed, we could simply separate them onto two different panels."

One final note: I've left GFDL (the GNU Free Documentation License) off the list for now, as it's really several licenses that offer different degrees of freedom, and dealing with that could be complicated from a UI perspective. However, if we get a lot of requests for it, we can add it and sort out those issues.

Revision history for this message
Karl Fogel (kfogel) wrote :

Just to be completely unambiguous: when I say "project creation page", I mean:

   https://launchpad.net/projects/+new

Karl Fogel (kfogel)
description: updated
Revision history for this message
Matthew Paul Thomas (mpt) wrote :

As I understand it, there are three possible reasons for asking for a license at all:

(1) To help discourage registration of things that aren't software-related. This would be catered for just as well by a single-choice menu of half a dozen items than it is by a multi-choice list of twenty-something items (no matter how they're presented).

(2) To let people search for projects matching a particular license, for the purpose of sharing code. It seems unlikely that this would ever be sophisticated enough to be useful, though: Launchpad will never understand, for example, that code licensed under GPLv2-or-later-with-the-font-exception can be used in a project licensed under GPLv3-only but that the reverse isn't true.

(3) To allow recording and presentation of statistics on how license choice is changing over time. This would be fun, but not particularly useful, and you'd probably be more interested in the relative popularity of the common licenses anyway.

If that's an accurate summary, the license selection could be just a single-choice menu, containing only the ~10 most common licenses (as requested by this bug), and ending with the catch-all option "Multiple/Other OSI-Approved".

Revision history for this message
Karl Fogel (kfogel) wrote :

Note that the license choice is the place where we steer some projects toward our commercial offering. So the "Proprietary/Private..." option has to be there; the single "Other" catch-all isn't enough.

Re (2): Launchpad doesn't have to understand what the licenses mean -- searching is still useful if just the humans understand, or can write their own code that understands (i.e., since we have APIs, it can be useful to record data that Launchpad itself doesn't do much with).

But I think the real issue is automation of project approval. If we have just a generic Other/OSI-Approved option, some percentage of people are going to use it for licenses they made up, or for licenses that aren't actually OSI-approved. Even if we have "Other OSI-Approved: [text field here]", so they could type in the name of the particular license, we'd still have to review it, since every license can be spelled and abbreviated in a myriad different ways. Whereas with a set list, we know that if they checked that radio button, then that's the exact license they meant, and we don't have to spend human time making sure.

By the way, we could handle the "multiple licenses" situation by making them checkboxes instead of radio buttons (if they're not already).

Revision history for this message
Brad Crittenden (bac) wrote :

License selection is currently done through checkboxes so a registrant can select as many as appropriate.

Currently registering through the normal means requires selecting *something*. Often we see 'Other/Open source' with "I don't know yet" as the additional information. So I agree people would just default to the Other OSI-approved.

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

The existence of "Other/Open Source" means that, if people want to register a project with a made-up or unsanctioned license while telling the truth, they already can. And since you already need to review every project for other reasons, collapsing the more obscure options into "Multiple/Other OSI-Approved" (with the text field) wouldn't introduce any new review requirement. It would, though, make project registration less daunting.

Revision history for this message
Curtis Hovey (sinzui) wrote :

I want to address this issue with the new project guided workflow.

Changed in launchpad-registry:
assignee: nobody → barry
importance: Undecided → High
milestone: none → 2.2.4
status: New → Triaged
Revision history for this message
Barry Warsaw (barry) wrote :

Here's a thought, based on the guided project registration stuff. The pull down for licenses can have the top 7 or 8 (whatever looks best in the u/i), then there would be an "Other open source" choice. This latter would prompt you for a url to www.opensource.org which should be the only arbiter of "what is an open source license" that we care about. If the url you enter doesn't 404, then we accept it as an open source license.

Otherwise, you can use "Proprietary license..." and enter in a text field what the license is.

Curtis Hovey (sinzui)
tags: added: story-guided-project-registration
Curtis Hovey (sinzui)
Changed in launchpad-registry:
milestone: 2.2.4 → 2.2.5
Curtis Hovey (sinzui)
Changed in launchpad-registry:
milestone: 2.2.5 → 2.2.6
Revision history for this message
Barry Warsaw (barry) wrote :

Bug 174661 tracks the database/enum backend work of adding the new CC licenses. This bug now tracks just the ui work to expose those to projects (along with the other ui changes). The branches for these two bugs will land separately.

Revision history for this message
Barry Warsaw (barry) wrote :

From bug 326308:

"After thinking about this, I'll handle the Perl License issue as part of bug 333932. That bug will entail reorganizing the license selection widget into sections to reduce clutter. I'll move the Perl License to a "legacy" section and hide that during project registration. During project edit, you'll see that choice only if your project's chosen it, mostly so you can de-select it :)."

Barry Warsaw (barry)
Changed in launchpad-registry:
status: Triaged → In Progress
Barry Warsaw (barry)
Changed in launchpad-registry:
status: In Progress → Fix Committed
Revision history for this message
Curtis Hovey (sinzui) wrote : Bug 333932 Fix released

Fixed released in Launchpad 2.2.6.

Changed in launchpad-registry:
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 blueprints

Remote bug watches

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