From: Russ Allbery Date: Tue, 21 Feb 2012 18:01:04 +0000 (-0800) Subject: Update copyright-format to match the current DEP-5 website text X-Git-Url: https://git.donarmstrong.com/?p=debian%2Fdebian-policy.git;a=commitdiff_plain;h=bb91a7facf981330bd079b0ba58523b9f28c57ce Update copyright-format to match the current DEP-5 website text This addresses multiple issues, clarifications, and reformatting done as part of the DEP process after the initial import of the document into the Debian Policy repository. --- diff --git a/copyright-format/copyright-format.xml b/copyright-format/copyright-format.xml index e854c2a..2420631 100644 --- a/copyright-format/copyright-format.xml +++ b/copyright-format/copyright-format.xml @@ -15,7 +15,6 @@ Machine-readable <filename>debian/copyright</filename> file. - Version 1.0 Copying and distribution of this file, with or without modification, are @@ -25,12 +24,10 @@ - This specification was drafted as DEP-5, to establish a - standard, machine-readable format for - debian/copyright files within packages and - facilitate automated checking and reporting of licenses for packages and - sets of packages. + Establish a standard, machine-readable format for + debian/copyright files within packages and to + facilitate automated checking and reporting of licenses for packages + and sets of packages. @@ -121,32 +118,40 @@ avoid conflicting specifications for widely used extra fields. - There are four kinds values for fields. Each field specifies which kind - is allowed. + The file consists of two or more paragraphs. At minimum, the file + must include one header + paragraph and one Files + paragraph. + + + The value of each field is of one of the four types listed below. The + definition for each field in this document indicates which type of + value it takes.
Single-line values - A single-line value means that the whole value of a field must fit on a - single line. For example, the Format field has a - single line value specifying the version of the machine-readable format - that is used. + A single-line value means that the whole value of a field must fit + on a single line. For example, the Format field + has a single-line value specifying the version of the + machine-readable format that is used.
- White space separated lists + Whitespace-separated lists - A white space separated list means that the field value may be on one - line or many, but values in the list are separated by one or more white - space characters (including space, TAB, and newline). For example, the - Files field has a list of filename patterns. + A whitespace-separated list means that the field value may be on one + line or many, but values in the list are separated by one or more + whitespace characters (including space, TAB, and newline). For + example, the Files field has a list of filename + patterns.
- Line based lists + Line-based lists Another kind of list value has one value per line. For example, Copyright can list many copyright statements, one per @@ -171,110 +176,77 @@
Paragraphs - There are three kinds of paragraphs: the first one is called the - header paragraph. Every other - paragraph is either a Files - paragraph or a stand-alone - license paragraph. This is similar to source and binary package + There are three kinds of paragraphs. The first paragraph in the file + is called the header paragraph. + Every other paragraph is either a Files paragraph or a stand-alone License + paragraph. This is similar to source and binary package paragraphs in debian/control files.
Header paragraph (Once) -
- <varname>Format</varname> - - Required single line: URI of the format specification, such as: - http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ - -
- -
- <varname>Upstream-Name</varname> - - Optional single line: the name upstream uses for the software - -
- -
- <varname>Upstream-Contact</varname> - - Optional line based list: the preferred address(es) to reach the - upstream project. May be free-form text, but by convention will - usually be written as a list of RFC5322 addresses or URIs. - -
- -
- <varname>Source</varname> - - Optional formatted text, no synopsis: an explanation from where the - upstream source came from. Typically this would be a URL, but it might - be a free-form explanation. The Debian Policy section 12.5 - requires this information unless there are no upstream sources, which - is mainly the case for native Debian packages. If the upstream source - has been modified to remove non-free parts, that should be explained - in this field. - -
- -
- <varname>Disclaimer</varname> - - Optional formatted text, no synopsis: this field can be used in the - case of non-free and contrib packages (see 12.5) - -
- -
- <varname>Comment</varname> - - Optional formatted text, no synopsis: this field can provide - additional information. For example, it might quote an e-mail from - upstream justifying why the license is acceptable to the main archive, - or an explanation of how this version of the package has been forked - from a version known to be DFSG-free, even though the current upstream - version is not. - -
- -
- <varname>License</varname> - - Optional formatted text, with synopsis: in the header paragraph - (no Files specification), this field gives the - license information for the package as a whole, which may be different - or simplified from a combination of all the per-file license - information. License below in the Files paragraph section. - -
- - + + The following fields may be present in a header paragraph. + + + + + Format: required. + + + + + Upstream-Name: + optional. + + + + + Upstream-Contact: + optional. + + + + + Source: optional. + + + + + Disclaimer: + optional. + + + + + Comment: optional. + + + + + License: optional. + + + + + Copyright: optional. + + + + + The Copyright and License + fields in the header paragraph may complement + but do not replace the Files paragraphs. They + can be used to summarise the contributions and redistribution terms + for the whole package, for instance when a work combines a + permissive and a copyleft license, or to document a + compilation copyright and license. It is + possible to use only License in the header + paragraph, but Copyright alone makes no sense. +
Example header paragraph @@ -285,7 +257,7 @@ Source: http://www.example.com/software/project
-
+
Files paragraph (Repeatable) The declaration of copyright and license for files is done in one or @@ -293,150 +265,32 @@ Source: http://www.example.com/software/project which applies to all files and lists all applicable copyrights and licenses. - -
- <varname>Files</varname> - - Required white space separated list: list of patterns indicating files - covered by the license and copyright specified in this paragraph. - - - Filename patterns in the Files field are specified - using a simplified shell glob syntax. Patterns are separated by white - space. - - - - Only the wildcards * and ? - apply; the former matches any number of characters (including - none), the latter a single character. Both match a slash - (/) and a leading dot. - - - - - Patterns match pathnames that start at the root of the source - tree. Thus, Makefile.in - matches only the file at the root of the tree, but - */Makefile.in matches at any - depth. - - - - - The backslash (\) is used to remove the magic - from the next character; see table below. - - - - - - - - Escape sequence - Matches - - - - - \* - star (asterisk) - - - \? - question mark - - - \\ - backslash - - - - - Any other character following a backslash is an error. - - - Multiple Files paragraphs are allowed. The last - paragraph that matches a particular file applies to it. - - Exclusions are done by having multiple Files - paragraphs. + The following fields may be present in a Files paragraph. -
- - - -
- <varname>License</varname> - - Required formatted text, with synopsis: licensing terms for the files - listed in Files field for this paragraph. - - - First line: an abbreviated name for the license, or expression - giving alternatives (see Short - names section for a list of standard abbreviations). If there - are licenses present in the package without a standard short name, an - arbitrary short name may be assigned for these licenses. These - arbitrary names are only guaranteed to be unique within a single - copyright file. - - - Remaining lines: if left blank here, the file - must include a stand-alone - License paragraph matching each license short - name listed on the first line (see the Standalone License - Paragraph section). Otherwise, this field should either - include the full text of the license(s) or include a pointer to the - license file under /usr/share/common-licenses. - This field should include all text needed in order to fulfill both - Debian Policy's requirement for including a copy of the software's - distribution license (12.5), - and any license requirements to include warranty disclaimers or other - notices with the binary package. - -
-
- <varname>Comment</varname> - - Same as the - Comment field in the header paragraph. - -
+ + + + Files: required. + + + + + Copyright: required. + + + + + License: required. + + + + + Comment: optional. + + +
Example files paragraphs @@ -467,13 +321,30 @@ License: GPL-2+
- Standalone License Paragraph (Optional, Repeatable) + Stand-alone License Paragraph (Optional, Repeatable) Where a set of files are dual (tri, etc) licensed, or when the same - license occurs multiple times, you can use a single line - License field and standalone + license occurs multiple times, you can use a single-line + License field and stand-alone License paragraphs to expand the license short names. + + The following fields may be present in a stand-alone License + paragraph. + + + + + + License: required. + + + + + Comment: optional. + + + tri-licensed files Files: src/js/editline/* @@ -508,6 +379,221 @@ License: MPL-1.1
+
+ Fields + + The following fields are defined for use in + debian/copyright. + + +
+ <varname>Format</varname> + + Single-line: URI of the format specification, such as: + http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/. + +
+ +
+ <varname>Upstream-Name</varname> + + Single-line: the name upstream uses for the software + +
+ +
+ <varname>Upstream-Contact</varname> + + Line-based list: the preferred address(es) to reach the upstream + project. May be free-form text, but by convention will usually be + written as a list of RFC5322 addresses or URIs. + +
+ +
+ <varname>Source</varname> + + Formatted text, no synopsis: an explanation from where the upstream + source came from. Typically this would be a URL, but it might be a + free-form explanation. The Debian Policy section 12.5 + requires this information unless there are no upstream sources, + which is mainly the case for native Debian packages. If the + upstream source has been modified to remove non-free parts, that + should be explained in this field. + +
+ +
+ <varname>Disclaimer</varname> + + Formatted text, no synopsis: this field can be used in the case of + non-free and contrib packages (see 12.5). + +
+ +
+ <varname>Comment</varname> + + Formatted text, no synopsis: this field can provide additional + information. For example, it might quote an e-mail from upstream + justifying why the license is acceptable to the main archive, or an + explanation of how this version of the package has been forked from + a version known to be DFSG-free, even though the current upstream + version is not. + +
+ +
+ <varname>License</varname> + + Formatted text, with synopsis. In the header paragraph, this field + gives the license information for the package as a whole, which may + be different or simplified from a combination of all the per-file + license information. In a Files paragraph, this field gives the + licensing terms for the files listed in the Files + field for this paragraph. In a stand-alone License paragraph, it + gives the licensing terms for those paragraphs which reference it. + + + First line: an abbreviated name for the license, or expression + giving alternatives (see Short + names section for a list of standard abbreviations). If + there are licenses present in the package without a standard short + name, an arbitrary short name may be assigned for these licenses. + These arbitrary names are only guaranteed to be unique within a + single copyright file. + + + Remaining lines: if left blank here, the file + must include a stand-alone License + paragraph matching each license short + name listed on the first line. + Otherwise, this field should either + include the full text of the license(s) or include a pointer to the + license file under /usr/share/common-licenses. + This field should include all text needed in order to fulfill both + Debian Policy's requirement for including a copy of the software's + distribution license (12.5), + and any license requirements to include warranty disclaimers or + other notices with the binary package. + +
+ + + +
+ <varname>Files</varname> + + Whitespace-separated list: list of patterns indicating files covered + by the license and copyright specified in this paragraph. + + + Filename patterns in the Files field are + specified using a simplified shell glob syntax. Patterns are + separated by whitespace. + + + + Only the wildcards * and ? + apply; the former matches any number of characters (including + none), the latter a single character. Both match a slash + (/) and a leading dot. + + + + + Patterns match pathnames that start at the root of the source + tree. Thus, Makefile.in + matches only the file at the root of the tree, but + */Makefile.in matches at + any depth. + + + + + The backslash (\) is used to remove the + magic from the next character; see table below. + + + + + + + + Escape sequence + Matches + + + + + \* + star (asterisk) + + + \? + question mark + + + \\ + backslash + + + + + Any other character following a backslash is an error. + + + Multiple Files paragraphs are allowed. The last + paragraph that matches a particular file applies to it. + + + Exclusions are done by having multiple Files + paragraphs. + +
+ +
License specification @@ -541,7 +627,7 @@ License: MPL-1.1 debian/copyright, nor any requirements in the license of the work regarding reproduction of legal notices. This information must still be included in the License - field, either in a stand-alone license paragraph or in the relevant + field, either in a stand-alone License paragraph or in the relevant files paragraph. @@ -710,8 +796,8 @@ License: MPL-1.1 CC0 - Creative Commons Zero 1.0 Universal - 1.0. + Creative Commons Zero + 1.0 Universal. @@ -894,7 +980,8 @@ License: MPL-1.1 license differs from a common license because of added restrictions rather than because of added permissions, a distinct short name should be used instead of with - keywordsexception. + keywords + exception. Only one exception may be specified for each license within a given