Cabal-1.18.1.3: A framework for packaging Haskell software

Portabilityportable
Maintainercabal-devel@haskell.org
Safe HaskellSafe-Inferred

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, AGPL, LGPL, 'Apache 2.0', MIT and BSD3 licenses.

Synopsis

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.

AGPL (Maybe Version)

GNU Affero General Public License

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.

Apache (Maybe Version)

The Apache License. Version 2.0 is the current version, previous versions are considered historical.

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.