# Module OASISLicense

    module OASISLicense: sig .. end

License definition

This module allows to manipulate DEP-5 style license.

- Author(s): Sylvain Le Gall
- See also DEP-5

    type license

Valid licenses

    type license_exception

Valid license exceptions.

    type license_version =

`|` | `Version of `OASISVersion.t``
`|` | `VersionOrLater of `OASISVersion.t``
`|` | `NoVersion`

License version.

    type license_dep_5_unit = {

`` | `license : `license`;`
`` | `excption : `license_exception option`;`
`` | `version : `license_version`;`

`}`

DEP-5 license, basic.

    type license_dep_5 =

`|` | `DEP5Unit of `license_dep_5_unit``
`|` | `DEP5Or of `license_dep_5 list``
`|` | `DEP5And of `license_dep_5 list``

DEP-5 license, complex.

    type t =

`|` | `DEP5License of `license_dep_5``
`|` | `OtherLicense of `string``

OASIS supported type of license.

    type license_data = {

`` | `long_name : `string`;` | `(*` | Expanded name of the license. | `*)`
`` | `versions : `OASISVersion.t list`;` | `(*` | Standard versions of the license. | `*)`
`` | `note : `string option`;` | `(*` | Extra information about the license. | `*)`
`` | `deprecated : `string option`;` | `(*` | Deprecated alternative. | `*)`

`}`

Extra data about license Not exported

    type license_exception_data = {

`` | `explanation : `string`;` | `(*` | Purpose of the exception. | `*)`
`` | `licenses : `license list`;` | `(*` | Compatible licenses with the exception. | `*)`

`}`

Extra data about license exception Not exported

    val to_string : t -> string

Convert a DEP-5 license to string. Not exported.

    val legal_disclaimer : string -> t -> string

Convert a DEP-5 license to a legal disclaimer for the product. Not exported.

    val string_of_license : license -> string

Convert a license to string. Not exported.

    val string_of_license_exception : license_exception -> string

Convert a license exception to string. Not exported.

    val value : t OASISValues.t

License value. Not exported.

    val choices : unit -> t list

Choices for quickstart question. Not exported.

    val license_data : unit -> (license * license_data) list

All available license, their short name, their long name, and compatible versions. Not exported.

    val license_exception_data : unit ->
           (license_exception * license_exception_data) list

All available license exception, their name, and compatible license. Not exported.

    val odn_of_t : t -> OASISDataNotation.t

Dump `OASISDataNotation.t`. Not exported.

### License definitions

No licenses are exported.

    val proprietary : license

    val apache : license

    val artistic : license

    val bsd2 : license

    val bsd3 : license

    val bsd4 : license

    val cecill : license

    val cecillb : license

    val cecillc : license

    val freebsd : license

    val isc : license

    val cc_by : license

    val cc_by_sa : license

    val cc_by_nd : license

    val cc_by_nc : license

    val cc_by_nc_sa : license

    val cc_by_nc_nd : license

    val cc0 : license

    val cddl : license

    val cpl : license

    val eiffel : license

    val expat : license

    val gpl : license

    val lgpl : license

    val agpl : license

    val gfdl : license

    val gfdl_niv : license

    val lppl : license

    val mpl : license

    val perl : license

    val psf : license

    val qpl : license

    val w3c_software : license

    val zlib : license

    val zope : license

    val mit : license

    val wtfpl : license

    val public_domain : license

    val ocaml_linking_exception : license_exception