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 http://repo.apache.org/apache/commons-cli/1.0/licences/LICENSE.txt http://repo.apache.org/apache/commons-cli/2.0/licences/LICENSE.txt