License Artifact Specifier
Version 0.1
Overview
This proposal extends the URI Syntax proposal: /URISyntax
License artifacts are artifacts containing the license for a specific version of a project.
The key aims of this proposal are to:
- formalise artifact-specifier for license artifacts;
- provide a set of best practices for such artifacts; and
- enable tools to construct a URI to unambigously locate a particular license artifact using a set of known criteria
URI Components
An absolute repository URI is written as follows: {{{ repository-uri = access-specifier "/" product-specifier "/"
- version-specifier "/" artifact-specifier }}}
For license artifacts, artifact-specifier is: {{{ artifact-specifier = license-specifier
- license-specifier = "licenses" "/" license-name license-name = LICENSE.txt | path_segment
(path_segment is per http://www.ietf.org/rfc/rfc2396.txt) }}}
Rationale
TODO:
- LICENSE.txt is currently used by maven.
- the proposed ASL 2.0 adds a NOTICE file.
See http://www.apache.org/licenses/proposed/
Tool support
Tools can unambigously locate a license artifact given the project-version URI.
E.g, given: uri = http://repo.apache.org/apache/ant/1.5.4/
The license artifact URI would be: uri = http://repo.apache.org/apache/ant/1.5.4/licences/LICENSE.txt
URI Examples
{{{ http://repo.apache.org/apache/ant/1.5.4/licences/LICENSE.txt