Annotation Type BundleLicense


  • @Retention(CLASS)
    @Target({ANNOTATION_TYPE,TYPE})
    public @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 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.
    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, and MPL_2_0.

    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.String name
      The name of the license, should refer to Open Source Initiative
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.String description
      A short description of the license
      java.lang.String link
      A URI to the license text.
      • description

        java.lang.String description
        A short description of the license
        Default:
        ""
      • link

        java.lang.String link
        A URI to the license text. This maybe relative, in that case it is from the corresponding bundle.
        Default:
        ""