@Retention(value=CLASS)
@Target(value={ANNOTATION_TYPE,TYPE})
public @interface BundleLicense
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 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 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
, and
MPL_2_0
.
Modifier and Type | Required Element and Description |
---|---|
java.lang.String |
name
The name of the license, should refer to
Open Source Initiative
|
Modifier and Type | Optional Element and Description |
---|---|
java.lang.String |
description
A short description of the license
|
java.lang.String |
link
A URI to the license text.
|
public abstract java.lang.String name