Distribution.License

Cabal-1.10.2.0: A framework for packaging Haskell software

Portability | portable
Maintainer | cabal-devel@haskell.org

Distribution.License

Description

The License datatype. For more information about these and other open-source licenses, you may visit http://www.opensource.org/.

The `.cabal` file allows you to specify a license file. Of course you can use any license you like but people often pick common open source licenses and it's useful if we can automatically recognise that (eg so we can display it on the hackage web pages). So you can also specify the license itself in the `.cabal` file from a short enumeration defined in this module. It includes `GPL`, `LGPL` and `BSD3` licenses.

Synopsis

- data License
  - = GPL (Maybe Version)
  - | LGPL (Maybe Version)
  - | BSD3
  - | BSD4
  - | MIT
  - | PublicDomain
  - | AllRightsReserved
  - | OtherLicense
  - | UnknownLicense String
- knownLicenses :: [License]

# Documentation

data License

This datatype indicates the license under which your package is released. It is also wise to add your license to each source file using the license-file field. The `AllRightsReserved` constructor is not actually a license, but states that you are not giving anyone else a license to use or distribute your work. The comments below are general guidelines. Please read the licenses themselves and consult a lawyer if you are unsure of your rights to release the software.

Constructors

GPL (Maybe Version) | GNU Public License. Source code must accompany alterations.
LGPL (Maybe Version) | Lesser GPL, Less restrictive than GPL, useful for libraries.
BSD3 | 3-clause BSD license, newer, no advertising clause. Very free license.
BSD4 | 4-clause BSD license, older, with advertising clause. You almost certainly want to use the BSD3 license instead.
MIT | The MIT license, similar to the BSD3. Very free license.
PublicDomain | Holder makes no claim to ownership, least restrictive license.
AllRightsReserved | No rights are granted to others. Undistributable. Most restrictive.
OtherLicense | Some other license.
UnknownLicense String | Not a recognised license. Allows us to deal with future extensions more gracefully.

Instances

Eq License |
Read License |
Show License |
Text License |

knownLicenses :: [License]