[Hackage] #828: Distribution.License datatype and comment weirdness

Hackage cvs-ghc at haskell.org
Sat Apr 2 00:21:30 CEST 2011

#828: Distribution.License datatype and comment weirdness
  Reporter:  sli            |        Owner:          
      Type:  defect         |       Status:  new     
  Priority:  normal         |    Milestone:          
 Component:  Cabal library  |      Version:
  Severity:  minor          |     Keywords:          
Difficulty:  unknown        |   Ghcversion:          
  Platform:                 |  
 Looking at the Distribution.License source, I notice some issues with the
 comments and (sadly) the data License type. Some of these seem like bugs,
 some maybe more like enhancement requests.

 What seems to me like bugs

 * In the comments, GPL is expanded as "GNU Public License". The correct
 expansion is "GNU General Public License".

 * AllRightsReserved is really a misnomer. "All rights reserved" doesn't
 mean what many people seem to think it means. Specifically it does NOT
 mean "no license granted". Rather it is a boilerplate text that once was,
 but no longer is, required in some jurisdictions to get full copyright
 protection. Nowadays it is entirely superfluous, but still often added to
 copyright notices by custom. It is *entirely orthogonal* to whether there
 is some license granted or not.

 Possible enhancements

 First, GPL versions. It's quite common to have at least GPLv2 only (for
 example the Linux kernel is so licensed), GPLv2+ (lots of software), GPLv3
 only and GPLv3+ (new software releases by FSF). It appears that there is
 no distinction between these.

 It is also common to grant exceptions (additional permissions) to the GPL
 (in the way specified by FSF in their FAQ) to allow linking to some GPL-
 incompatible library. Perhaps a "plus additional permissions" modifier
 could be added.

 Second, it's also quite common to have disjunctive licenses, like "you may
 distribute this software either under the Q Public License, or the GNU
 General Public License, version 2 or (at your option) any later version".

 You may want to look at how the Debian project maintains machine-readable
 specifications of licenses. See, for example,

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

More information about the cabal-devel mailing list