The Bundle-License header provides an optional machine readable form of
license information. The purpose of this header is to automate some of the
license processing required by many organizations like for example license
acceptance before a bundle is used. The header is structured to provide the
use of unique license naming to merge acceptance requests, as well as links
to human readable infor- mation about the included licenses. This header is
purely informational for management agents and must not be processed by the
OSGi Framework.
The syntax for this header is as follows:
Bundle-License ::= ’<>’ |
( license ( ’,’ license ) * )
license ::= name ( ’;’ license-attr ) *
license-attr ::= description | link
description ::= ’description’ ’=’ string
link ::= ’link’ ’=’
This header has the following attributes:
- name – Provides a globally unique name for this license, preferably world
wide, but it should at least be unique with respect to the other clauses. The
magic name <> is used to indicate that this artifact does not
contain any license information but that licensing information is provided in
some other way. This is also the default contents of this header.
- Clients of this bundle can assume that licenses with the same name refer
to the same license. This can for example be used to minimize the click
through licenses. This name should be the canonical URL of the license, it
must not be localized by the translator. This URL does not have to exist but
must not be used for later versions of the license. It is recommended to use
URLs from Open Source Initiative. Other
licenses should use the following structure, but this is not mandated:
http:///licenses/
-.
- description – (optional) Provide the description of the license. This is
a short description that is usable in a list box on a UI to select more
information about the license.
- link – (optional) Provide a URL to a page that defines or explains the
license. If this link is absent, the name field is used for this purpose. The
URL is relative to the root of the bundle. That is, it is possible to refer
to a file inside the bundle.
If the Bundle-License statement is absent, then this does not mean that the
bundle is not licensed. Licensing could be handled outside the bundle and the
<<EXTERNAL>>
form should be assumed. This header is informational and
may not have any legal bearing. Consult a lawyer before using this header to
automate licensing processing.
A number of licenses have been predefined, ASL_2_0
,
BSD_2_Clause
, BSD_3_Clause
, CDDL_1_0
, EPL_1_0
, GPL_2_0
, GPL_3_0
, LGPL_2_1
, MIT_1_0
,
MPL_2_0
.