[Hackage] #857: Decide what to do about licenses

Hackage cvs-ghc at haskell.org
Sat Jun 18 20:31:55 CEST 2011

#857: Decide what to do about licenses
  Reporter:  duncan         |        Owner:         
      Type:  task           |       Status:  new    
  Priority:  normal         |    Milestone:         
 Component:  Cabal library  |      Version:
  Severity:  normal         |     Keywords:         
Difficulty:  unknown        |   Ghcversion:         
  Platform:                 |  
 Currently you can specify some partial info about a license in the .cabal
 file. It's not exhaustive and does not cover all licenses. It seems
 originally intended so that common licenses will be given the same name
 (so no confusion over "bsd" =? "BSD").

 There are a number of outstanding requests for new licenses to be listed
 (#854 BSD2 & ISC, #821 Apache). This is based on users expecting that most
 licenses they might want should be listed. The current alternative of
 course is that they just list it as `OtherLicense`.

 So this all comes down to what do we want the license field for, what is
 it's purpose, does it have any semantics?

 Currently we can't really say that it has any reliable semantics (even if
 the info were accurate), it's really just a way to stop people spelling
 "GPL" wrong. It also serves a purpose to indicate what are recommended
 licenses, to work against license proliferation.

 So, should we move to a more accurate license system where you can express
 more precisely the licensing terms? Apart from listing more licenses this
 would mean we have to tackle:
  * multiple licenses (conjunctive): the distributor has to comply with
 multiple licenses, e.g. because different parts of the code have different
  * dual licensing (disjunctive): the distributor gets to pick which
 license to use
  * GPL open ended versions: The GPL recommends that authors license under
 terms like "Version X or any later version". This is a special kind of
 dual licensing, it's the infinite disjunction of all later versions of the
 license and of course those later versions are mostly unknown so it'd have
 to be handled specially.

 Then there's the issue in the BSD licenses that there's hardly any
 standard BSD3 license, people make up all kinds of variations. The
 2-clause license is not actually (properly) listed by the FSF or the OSI
 (bizarrely the OSI has it listed but with the wrong text).

Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/857>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects

More information about the cabal-devel mailing list