Package aQute.bnd.annotation.headers
Annotation Interface BundleLicense
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 information 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 ::= ’<<EXTERNAL>>’ | ( license ( ’,’ license ) * ) license ::= name ( ’;’ license-attr ) license-attr ::= description | link description ::= ’description’ ’=’ string link ::= ’link’ ’=’ <url>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<<EXTERNAL>>
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 one of the identifiers defined by Software Package Data Exchange (SPDX) License List. Clients of this bundle can assume that licenses with the same identifier refer to the same license. This can for example be used to minimize the click through licenses. Alternatively, 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://<domain-name>/licenses/<license-name>-<version>.<extension>
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) Provides 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.
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 license annotations have been predefined. For example:
Apache_2_0
,
BSD_2_Clause
,
BSD_3_Clause
,
CDDL_1_0
,
EPL_1_0
,
EPL_2_0
,
GPL_2_0
,
GPL_3_0
,
LGPL_2_1
,
MIT
, and
MPL_2_0
.
-
Required Element Summary
Required ElementsModifier and TypeRequired ElementDescriptionThe name of the license, should refer to Software Package Data Exchange (SPDX) License List -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionA short description of the licenseA URI to the license text.
-
Element Details
-
name
String nameThe name of the license, should refer to Software Package Data Exchange (SPDX) License List
-
-