The License datatype. For more information about these and other open-source licenses, you may visit http://www.opensource.org/.
.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
.cabal file from a short enumeration defined in this module. It
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
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
|GPL (Maybe Version)|
GNU Public License. Source code must accompany alterations.
|LGPL (Maybe Version)|
Lesser GPL, Less restrictive than GPL, useful for libraries.
3-clause BSD license, newer, no advertising clause. Very free license.
4-clause BSD license, older, with advertising clause. You almost certainly want to use the BSD3 license instead.
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.
Holder makes no claim to ownership, least restrictive license.
No rights are granted to others. Undistributable. Most restrictive.
Some other license.
Not a recognised license. Allows us to deal with future extensions more gracefully.