Skip to content

Commit 5131ee1

Browse files
committed
Update documentation
* Update copyright dates * Update USAGE * Update SPEC (Change the version to 2.0) Signed-off-by: Chin Yeung Li <[email protected]>
1 parent 4975af7 commit 5131ee1

File tree

5 files changed

+141
-127
lines changed

5 files changed

+141
-127
lines changed

NOTICE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2013-2015 nexB Inc. http://www.nexb.com/ - All rights reserved.
1+
Copyright (c) 2013-2017 nexB Inc. http://www.nexb.com/ - All rights reserved.
22
Licensed under the Apache License, Version 2.0 (the "License");
33
you may not use this file except in compliance with the License.
44
You may obtain a copy of the License at

README.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,27 @@ The AboutCode toolkit and ABOUT files provide a simple way to document the
1212
(origin and license) and other important or interesting information about
1313
third-party software components that you use in your project.
1414

15-
You start by storing ABOUT files (a small text file with field/value pairs)
15+
You start by storing ABOUT files (a small YAML formatted text file with field/value pairs)
1616
side-by-side with each of the third-party software components you use.
17-
Each ABOUT file documents one software component origin and license.
17+
Each ABOUT file documents one software component origin and license(s).
1818
For more information on the ABOUT file format, visit http://www.dejacode.org
1919
There are many examples of ABOUT files (valid or invalid) in the testdata/
2020
directory of the whole repository.
2121

2222
The current version of the AboutCode toolkit can read these ABOUT files so that you
2323
can collect and validate the inventory of third-party components that you use.
2424

25-
In future versions, this tool will be able to generate attribution notices and
25+
In addition, this tool is able to generate attribution notices and
2626
collect redistributable source code used in your project to help you comply
2727
with open source licenses requirements.
2828

29-
This version of the ABOUT tool follows the ABOUT specification version 0.8.1 at:
30-
http://www.dejacode.org/about_spec_v0.8.1.html
29+
This version of the ABOUT tool follows the ABOUT specification version 2.0 at:
30+
https://github.com/nexB/aboutcode-toolkit/blob/master/SPEC
3131

3232

3333
REQUIREMENTS
3434
------------
35-
The AboutCode toolkit is tested with Python 2.6 or 2.7 on Linux, Mac and Windows.
35+
The AboutCode toolkit is tested with 2.7 on Linux, Mac and Windows.
3636
You will need to install a Python interpreter if you do not have one already
3737
installed.
3838

SPEC

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
ABOUT File Specification v1.0
1+
ABOUT File Specification v2.0
22
Purpose
3-
An ABOUT file provides a simple way to document the provenance (origin and license) and other important or interesting information about a software component. An ABOUT file is a small text file stored in the codebase side-by-side with the software component file or archive that it documents. No modification of the documented software is needed.
3+
An ABOUT file provides a simple way to document the provenance (origin and license) and other important or interesting information about a software component. An ABOUT file is a small YAML formatted text file stored in the codebase side-by-side with the software component file or archive that it documents. No modification of the documented software is needed.
44

55
The ABOUT format is plain text with field name/value pairs separated by a colon. It is easy to read and create by hand and is designed first for humans, rather than machines. The format is well-defined and structured just enough to make it easy to process with software as well. It contains enough information to fulfill key license requirements such as creating credits or attribution notices, collecting redistributable source code, or providing information about new versions of a software component.
66

@@ -15,10 +15,10 @@ A simple and valid ABOUT file named httpd.ABOUT may look like this:
1515

1616
download_url: http://archive.apache.org/dist/httpd/httpd-2.4.3.tar.gz
1717

18-
license_text_file: httpd.LICENSE
18+
license_file: httpd.LICENSE
1919
notice_file: httpd.NOTICE
2020
copyright: Copyright (c) 2012 The Apache Software Foundation.
21-
license_spdx: Apache-2.0
21+
license_expression: apache-2.0
2222

2323
The meaning of this ABOUT file is:
2424

@@ -27,7 +27,7 @@ The name of this component is "Apache HTTP Server" with version "2.4.3".
2727
The home URL for this component is http://httpd.apache.org
2828
The file "httpd-2.4.3.tar.gz" was originally downloaded from http://archive.apache.org/dist/httpd/httpd-2.4.3.tar.gz
2929
In the same directory, "httpd.LICENSE" and "httpd.NOTICE" are files that contain respectively the license text and the notice text for this component.
30-
This component SPDX license identifier is "Apache-2.0"
30+
This component is licensed under "apache-2.0"
3131
Specification
3232
An ABOUT file is an ASCII text file with lines of colon-separated "field name":"value" pairs. This format is loosely based on the Email header field format as specified in RFC5322/RFC822 at http://tools.ietf.org/html/rfc5322 . By reusing this specification, several available tools and libraries can parse and interpret ABOUT files. Note that while Unicode characters are not supported in an ABOUT file proper, external files can contain UTF-8 Unicode.
3333

@@ -96,11 +96,11 @@ When an ABOUT file contains both a field name and a _file-suffixed field for the
9696

9797
For example, the full license text for a component is often stored in a separate file named COPYING:
9898

99-
license_text_file: linux.COPYING
99+
license_file: linux.COPYING
100100

101101
In this example, the README file is stored in a doc directory, one directory above the ABOUT file directory, using a relative POSIX path:
102102

103-
license_text_file: ../docs/ruby.README
103+
license_file: ../docs/ruby.README
104104

105105
Field referencing a URL
106106

@@ -140,38 +140,39 @@ Other Mandatory fields
140140

141141
When a tool processes an ABOUT file, it must issue an error if these mandatory field are missing.
142142

143+
about_resource: The resource this file referencing to.
143144
name: Component name.
144-
version: Component version. A component usually has a version, such as a revision number or hash from a version control system (for a snapshot checked out from VCS such as Subversion or Git). If not available, the version should be the date the component was provisioned, in an ISO date format such as 'YYYY-MM-DD'.
145145
Optional Information fields
146146

147+
version: Component version. A component usually has a version, such as a revision number or hash from a version control system (for a snapshot checked out from VCS such as Subversion or Git). If not available, the version should be the date the component was provisioned, in an ISO date format such as 'YYYY-MM-DD'.
148+
about_resource_path: Path the the reference component
147149
spec_version: The version of the ABOUT file format specification used for this file. This is provided as a hint to readers and tools in order to support future versions of this specification.
148-
description and description_file: Component description, as a short text or an external file.
150+
description: Component description, as a short text.
149151
download_url: A direct URL to download the original file or archive documented by this ABOUT file.
150152
home_url: URL to the homepage for this component.
151-
date: The date ('YYYY-MM-DD') when this ABOUT file was created or last validated (such as the date when the URLs were verified). ISO date format such as 'YYYY-MM-DD'.
152-
readme and readme_file: Readme information for the component, as a short text or an external file.
153-
changelog and changelog_file: Changelog text for the component, as a short text or an external file.
154-
news and news_file: News text for the component, as a short text or an external file.
155-
news_url: URL to a news feed for the component.
156-
notes and notes_file: Notes and comments about the component, as a short text or an external file.
153+
changelog_file: Changelog file for the component.
154+
notes: Notes and comments about the component.
157155
Optional Owner and Author fields
158156

159157
owner: The name of the primary organization or person(s) that owns or provides the component.
158+
owner_url: URL to the homepage for the owner.
160159
contact: Contact information (such as an email address or physical address) for the component owner.
161-
author and author_file: Name of the organization(s) or person(s) that authored the component, as a short text or an external file.
160+
author: Name of the organization(s) or person(s) that authored the component.
162161
Optional Licensing fields
163162

164-
copyright and copyright_file: Copyright statement for the component, as a short text or an external file.
165-
notice and notice_file: Legal notice or credits for the component, as a short text or an external file.
163+
copyright: Copyright statement for the component.
164+
notice_file: Legal notice or credits for the component.
166165
notice_url: URL to a legal notice for the component.
167-
license_text and license_text_file: License text that applies to the component, as a short text or an external file. For example, the name of a license file such as LICENSE or COPYING file extracted from a downloaded archive.
166+
license_file: License file that applies to the component. For example, the name of a license file such as LICENSE or COPYING file extracted from a downloaded archive.
168167
license_url: URL to the license text for the component.
169-
license_spdx: The SPDX license short form identifiers for the license of this component. See http://spdx.org/licenses/ for details. You can separate each identifier using " or " and " and " as defined in the SPDX specification 1.1 to document the relationship between multiple license identifiers, such as a choice among multiple licenses. The case of the SPDX ID is not significant, such that APACHE-1.1 and apache-1.1 are the same field value. Tools should normalize the case of the ID to be the official case sensitive SPDX ID.
168+
license_expression: The license expression for the license of this component. You can separate each identifier using " or " and " and " to document the relationship between multiple license identifiers, such as a choice among multiple licenses.
169+
license_name: The license short name for the license.
170170
Optional Licensing flag fields
171171

172172
redistribute: Set this flag to yes if the component license requires source code redistribution. Defaults to no when absent.
173173
attribute: Set this flag to yes if the component license requires publishing an attribution or credit notice. Defaults to no when absent.
174174
track_changes: Set this flag to yes if the component license requires tracking changes made to a the component. Defaults to no when absent.
175+
modified: Set this flag to yes if the component has been modified. Defaults to no when absent.
175176
Optional Extension fields
176177

177178
You can create extension fields by prefixing them with a short prefix to distinguish these from the standard fields. You should provide documentation for these extensions and create or extend existing tools to support these extensions. Other tools must ignore these extensions.
@@ -204,17 +205,7 @@ Optional Extension fields for checksums and digital signatures
204205

205206
These fields support checksums (such as SHA1 and MD5) and signatures (such as GPG) commonly provided with downloaded archives to verify their integrity. A tool can optionally use these to verify the integrity of a file documented by an ABOUT file. This extension defines the "checksum_" and "signature_" field extension prefixes with suffix identifiers of the type of signature or checksum such as in "checksum_sha1".
206207

207-
checksum_sha1, checksum_md5, checksum_sha256, checksum_sha512: Checksum for the file documented by this ABOUT file in the "about_resource" field. The suffix defines the checksum algorithm such as "_md5", "_sha1", "_sha256". The checksum algorithms and formats are as defined in the GNU Coreutils tools md5sum, sha1sum and sha256sum commands ( http://www.gnu.org/software/coreutils/ ) that follow the specifications defined in the FIPS-180-2 standard ( http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf ). Files can be referenced with the "_file" suffix such as with "checksum_sha1_file" to reference checksums files commonly provided such as here: http://mirrors.ibiblio.org/maven2/org/jdom/jdom/1.1.2/jdom-1.1.2-javadoc.jar.md5
208-
signature_gpg, signature_gpg_file, signature_pgp, signature_pgp_file: Signature or external signature file for the file documented by this ABOUT file in the "about_resource" field. Signature files for GPG and PGP are commonly provided to verify code archives integrity and provenance such as here: http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.7.tar.sign or here: http://archive.apache.org/dist/maven/plugins/maven-acr-plugin-1.0-source-release.zip.asc or here:
208+
checksum: Checksum for the file documented by this ABOUT file in the "about_resource" field.
209209
Some examples:
210210

211-
signature_gpg_file: signature/linux-3.1.7.tar.sign
212-
checksum_md5: f30b9c173b1f19cf42ffa44f78e4b96c
213-
214-
Optional Extension fields for DejaCode Enterprise
215-
216-
These fields provide a reference to DejaCode Enterprise objects via a URN, key or name.
217-
218-
dje_component: The DejaCode Enterprise component URN or component name for the component.
219-
dje_license: The DejaCode Enterprise license key for the component.
220-
dje_owner: The DejaCode Enterprise owner URN for the component.
211+
checksum_md5: f30b9c173b1f19cf42ffa44f78e4b96c

0 commit comments

Comments
 (0)