Skip to main content

Sonatype License Naming Conventions

Sonatype license identifier is a string that uniquely identifies a license that is first discovered by Sonatype. The identifier string is a combination of tags that represents salient features of the original license text like the company name, package name, and type of license.

Sonatype license identifiers are of two types:

  1. Short name identifiers, limited to a max length of 50 characters

  2. Long name identifiers, limited to a max length of 200 characters

Short name identifiers

A short name identifier is a concatenated string of a series of <tags>

<tag2> + -<tag1 > + -<tag3> + "variant"(optional) + “-” + <tag4>

Description of tag fields:

  1. <tag 1> consists of an abbreviated form of the full license name in the camel case.Spaces and periods in the original license names are replaced by hyphens. Insignificant words like “and” are ignored.If the license name is already abbreviated in the original license text, the same abbreviation is used.

  2. If <tag1> from step 1 above, is not found to be a unique value in our license database, <tag1> is pre-fixed with abbreviated company/name/author’s name <tag2>. All abbreviated names are written in all uppercase (capital) letters. e.g. Microsoft is written as "MS".

  3. If <tag2> + <tag1> from step 2 above is not found to be a unique value in our license database, component name <tag3> is added as suffix and the license string is <tag2> + <tag1> + <tag3>.

  4. If the license is a variant of an existing known license, <tag2> + <tag1 > + <tag3>is suffixed with the word “variant”. The resulting short identifier is now <tag2> + <tag1> + <tag3> + variant.

  5. The complete concatenated string for short identifier <tag2> + <tag1> + <tag3> + "variant" will not contain any special characters except the hyphen.

  6. <tag4> contains a release date starting with string RD followed by the date mmddyyyy. The format for tag4 is RDmmddyyyy. The resulting short identifier is now <tag2> + -<tag1 > + -<tag3> + "variant"(optional) + “-” + <tag4>.

  7. Older license names contain the text LA, the abbreviation used for license agreement. Depending upon the resulting string length of the short identifier, the text “license agreement” is added to the resulting string from step 6. If this addition exceeds the max length of the short identifier, the abbreviation LA is used.

Long name identifiers

Long name identifiers are descriptive license names limited to 200 characters. It includes all characters of the ASCII character set covering alphabets, numbers, spaces, parentheses of all types (round, curly, square,) periods, commas, hyphens, underscores, quotes, colons, semicolons, and asterisks.

Characters not permitted for long identifiers:

  1. Special characters that are not covered by the list above.

  2. Long identifiers will not contain beginning/trailing spaces.