| 1 |
[[!meta title="DEP-5: Machine-readable debian/copyright"]]
|
| 2 |
|
| 3 |
Title: Machine-readable debian/copyright
|
| 4 |
DEP: 5
|
| 5 |
State: DRAFT
|
| 6 |
Date: 2009-03-22
|
| 7 |
Drivers: Steve Langasek <vorlon@debian.org>
|
| 8 |
URL: http://dep.debian.net/deps/dep5
|
| 9 |
License:
|
| 10 |
Copying and distribution of this file, with or without modification,
|
| 11 |
are permitted in any medium without royalty provided the copyright
|
| 12 |
notice and this notice are preserved.
|
| 13 |
Abstract:
|
| 14 |
Establish a standard, machine-readable format for debian/copyright
|
| 15 |
files within packages, to facilitate automated checking and
|
| 16 |
reporting of licenses for packages and sets of packages.
|
| 17 |
|
| 18 |
[[!toc ]]
|
| 19 |
|
| 20 |
# Introduction
|
| 21 |
|
| 22 |
This is a proposal to make `debian/copyright` machine-interpretable.
|
| 23 |
This file is one of the most important files in Debian packaging, yet
|
| 24 |
there is currently no standard format defined for it and its contents
|
| 25 |
vary tremendously across packages, making it difficult to automatically
|
| 26 |
extract licensing information.
|
| 27 |
|
| 28 |
This is not a proposal to change the policy in the short term.
|
| 29 |
|
| 30 |
# Rationale
|
| 31 |
|
| 32 |
The diversity of free software licenses means that Debian needs to care
|
| 33 |
not only about the freeness of a given work, but also its license's
|
| 34 |
compatibility with the other parts of Debian it uses.
|
| 35 |
|
| 36 |
The arrival of the GPL version 3, its incompatibility with version 2,
|
| 37 |
and our inability to spot the software where the incompatibility might
|
| 38 |
be problematic is one prominent occurrence of this limitation.
|
| 39 |
|
| 40 |
There are earlier precedents, also. One is the GPL/OpenSSL
|
| 41 |
incompatibility. Apart from grepping `debian/copyright`, which is
|
| 42 |
prone to numerous false positives (packaging under the GPL but software
|
| 43 |
under another license) or negatives (GPL software but with an "OpenSSL
|
| 44 |
special exception" dual licensing form), there is no reliable way to
|
| 45 |
know which software in Debian might be problematic.
|
| 46 |
|
| 47 |
And there is more to come. There are issues with shipping GPLv2-only
|
| 48 |
software with a CDDL operating system such as Nexenta. The GPL version 3
|
| 49 |
solves this issue, but not all GPL software can switch to it and we have
|
| 50 |
no way to know how much of Debian should be stripped from such a system.
|
| 51 |
|
| 52 |
A user might want to have a way to avoid software with certain licenses
|
| 53 |
they have a problem with, even if the licenses are DFSG-free. For
|
| 54 |
example, the Affero GPL.
|
| 55 |
|
| 56 |
# Compatibility and Human-Readability
|
| 57 |
The file must be encoded as UTF-8 and strictly formatted as a superset
|
| 58 |
of RFC2822 including significant newlines. Free-form text is not
|
| 59 |
allowed.
|
| 60 |
|
| 61 |
The `debian/copyright` file must be machine-interpretable, yet
|
| 62 |
human-readable, while communicating all mandated upstream information,
|
| 63 |
copyright notices and licensing details.
|
| 64 |
|
| 65 |
For the sake of human-readability this proposal avoids any complex field
|
| 66 |
names or syntax rules.
|
| 67 |
|
| 68 |
# Implementation
|
| 69 |
## Sections
|
| 70 |
### Header Section (Once)
|
| 71 |
|
| 72 |
* **`Format-Specification`**
|
| 73 |
* Required
|
| 74 |
* Single occurrence
|
| 75 |
* Syntax: URI of the format specification, such as:
|
| 76 |
* http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=REVISION
|
| 77 |
* Note that the unwieldy length of the URL should be solved in
|
| 78 |
future by hosting the specification at a shorter URL (including the
|
| 79 |
specification version).
|
| 80 |
* Currently (2008-07-25) this field can trigger a lintian warning
|
| 81 |
about excessive line length; an exception for the `Format-Specification`
|
| 82 |
line is pending in [bug 491302](http://bugs.debian.org/491302).
|
| 83 |
|
| 84 |
* **`Name`**
|
| 85 |
* Optional
|
| 86 |
* Single occurrence
|
| 87 |
* Syntax: Single line (in most cases a single word), containing the name of the software.
|
| 88 |
|
| 89 |
* **`Maintainer`**
|
| 90 |
* Optional
|
| 91 |
* Single occurrence
|
| 92 |
* Syntax: Line(s) containing the preferred address(es) to reach current upstream maintainer(s). May be free-form text, but by convention will usually be written as a list of RFC2822 addresses or URIs.
|
| 93 |
|
| 94 |
* **`Source`**
|
| 95 |
* Optional
|
| 96 |
* Single occurrence
|
| 97 |
* Syntax: One or more URIs, one per line, indicating the primary point of distribution of the software.
|
| 98 |
|
| 99 |
* **`Disclaimer`**
|
| 100 |
* Optional
|
| 101 |
* Single occurrence
|
| 102 |
* Syntax: Free-form text. On Debian systems, this field can be used in the case of non-free and contrib packages (see [Policy 12.5](http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile)
|
| 103 |
|
| 104 |
Examples:
|
| 105 |
|
| 106 |
Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
| 107 |
Name: SOFTware
|
| 108 |
Maintainer: John Doe <john.doe@example.com>
|
| 109 |
Source: http://www.example.com/software/project
|
| 110 |
|
| 111 |
Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
| 112 |
Name: xyz
|
| 113 |
Maintainer: Jane Smith <jane.smith@example.com>
|
| 114 |
Source: http://www.example.com/gitwww
|
| 115 |
|
| 116 |
### Files Section (Repeatable)
|
| 117 |
|
| 118 |
The declaration of copyright and license for files is done in one or
|
| 119 |
more stanzas.
|
| 120 |
|
| 121 |
* **`Files`**
|
| 122 |
* Required for all but the first stanza. If omitted from the first stanza, this is equivalent to a value of '*'.
|
| 123 |
* Syntax: List of patterns indicating files having the same license and sharing copyright holders. See "File patterns" below
|
| 124 |
|
| 125 |
* **`Copyright`**
|
| 126 |
* Required
|
| 127 |
* Syntax: one or more free-form copyright statement(s) that apply to the files matched by the above pattern.
|
| 128 |
* Example value: 2008, John Q. Holder <john.holder@example.org>
|
| 129 |
* If a work has no copyright holder (i.e., it is in the public domain), that information should be recorded here.
|
| 130 |
|
| 131 |
* **`License`**
|
| 132 |
* Licensing terms for the files listed in **`Files`** field for this section
|
| 133 |
* Required
|
| 134 |
* Syntax:
|
| 135 |
* First line: an abbreviated name for the license (see *Short names* section for a list of standard abbreviations). If empty, it is given the default value 'other'. Only one license per file can use this default value; if there is more than one license 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.
|
| 136 |
* Remaining lines: if left blank here, the file **must** include a stand-alone **`License`** section matching each license short name listed on the first line (see the *Standalone License Section* 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.
|
| 137 |
|
| 138 |
Example:
|
| 139 |
|
| 140 |
Files: *
|
| 141 |
Copyright: 2008, John Doe <john.doe@example.com>
|
| 142 |
2007, Jane Smith <jane.smith@example.com>
|
| 143 |
License: PSF-2
|
| 144 |
[LICENSE TEXT]
|
| 145 |
|
| 146 |
### Standalone License Section
|
| 147 |
Where a set of files are dual (tri, etc) licensed, or when the same license
|
| 148 |
occurs multiple times, you can use a single line **`License`** field and
|
| 149 |
standalone **`License`** stanzas to expand the license short names.
|
| 150 |
|
| 151 |
Example 1 (tri-licensed files).
|
| 152 |
|
| 153 |
Files: src/js/editline/*
|
| 154 |
Copyright: 1993, John Doe
|
| 155 |
1993, Joe Average
|
| 156 |
License: MPL-1.1 or GPL-2 or LGPL-2.1
|
| 157 |
|
| 158 |
License: MPL-1.1
|
| 159 |
[LICENSE TEXT]
|
| 160 |
|
| 161 |
License: GPL-2
|
| 162 |
[LICENSE TEXT]
|
| 163 |
|
| 164 |
License: LGPL-2.1
|
| 165 |
[LICENSE TEXT]
|
| 166 |
|
| 167 |
|
| 168 |
Example 2 (recurrent license).
|
| 169 |
|
| 170 |
Files: src/js/editline/*
|
| 171 |
Copyright: 1993, John Doe
|
| 172 |
1993, Joe Average
|
| 173 |
License: MPL-1.1
|
| 174 |
|
| 175 |
Files: src/js/fdlibm/*
|
| 176 |
Copyright: 1993, J-Random Corporation
|
| 177 |
License: MPL-1.1
|
| 178 |
|
| 179 |
License: MPL-1.1
|
| 180 |
[LICENSE TEXT]
|
| 181 |
|
| 182 |
### Extra fields.
|
| 183 |
|
| 184 |
Extra fields can be added to any section. Their name starts by **`X-`**.
|
| 185 |
|
| 186 |
## Fields Detail
|
| 187 |
### Files
|
| 188 |
#### Format
|
| 189 |
The **`Files`** field contains a list of comma-separated patterns
|
| 190 |
|
| 191 |
Files: foo.c, bar.*, baz.[ch]
|
| 192 |
|
| 193 |
File names containing spaces or commas should be put within double
|
| 194 |
quotes. The backslash character is an escaping character, be it inside
|
| 195 |
or outside double quotes:
|
| 196 |
|
| 197 |
Files: "Program Files/*", manual[english].txt
|
| 198 |
|
| 199 |
#### Syntax
|
| 200 |
Patterns are handled as by the `find` utility's `-name` option. Patterns
|
| 201 |
containing a path separator ("/") are handled as by the `find` utility's
|
| 202 |
`-path` option.
|
| 203 |
|
| 204 |
The following matches all `Makefile.am` files in the tree and all
|
| 205 |
Python scripts:
|
| 206 |
|
| 207 |
Files: */Makefile.am, *.py
|
| 208 |
|
| 209 |
But this will only match the top-level `Makefile.am`:
|
| 210 |
|
| 211 |
Files: ./Makefile.am
|
| 212 |
|
| 213 |
For the first example, the equivalent `find` command would be:
|
| 214 |
|
| 215 |
find . -path "*/Makefile.am" -o -name "*.py"
|
| 216 |
|
| 217 |
It is quite common for a work to have files with copyright held by
|
| 218 |
different parties and received under different licenses. To accommodate
|
| 219 |
this, **multiple stanzas are allowed with different `Files`
|
| 220 |
declarations**.
|
| 221 |
|
| 222 |
However it makes for easier reading if the copyright file lists the
|
| 223 |
"main" license first: the one matching the "top level" of the work, with
|
| 224 |
others listed as exceptions. To allow this, the following precedence
|
| 225 |
rule applies for matching files: **If multiple `Files` declarations
|
| 226 |
match the same file, then only the last match counts.**
|
| 227 |
|
| 228 |
As a result, it is recommended for clarity that the stanzas appear in
|
| 229 |
order from most general (e.g. `Files: *`) first, through to most
|
| 230 |
specific. In the following example, the file `getopt.c` matches both
|
| 231 |
`Files: *` and `Files: getopt.*`; only the last match counts, so
|
| 232 |
the file `getopt.c` has the license declaration `License: BSD`.
|
| 233 |
|
| 234 |
Files: *
|
| 235 |
Copyright: 2003-2005, John Doe <jdoe@xample.com>
|
| 236 |
License: [the main work's license]
|
| 237 |
[LICENSE TEXT]
|
| 238 |
|
| 239 |
Files: getopt.*
|
| 240 |
Copyright: 2000, The Corporation Foundation, Inc.
|
| 241 |
License: BSD
|
| 242 |
[LICENSE TEXT]
|
| 243 |
|
| 244 |
### License
|
| 245 |
#### Short name
|
| 246 |
|
| 247 |
Much of the value of a machine-parseable copyright file lies in being able to
|
| 248 |
correlate the licenses of multiple pieces of software. To that end, this
|
| 249 |
spec defines standard short names for a number of commonly used licenses,
|
| 250 |
which can be used in the first line of a "`License`" field.
|
| 251 |
|
| 252 |
These short names have the specified meanings across all uses of this file
|
| 253 |
format, and *must not* be used to refer to any other licenses. Parsers may
|
| 254 |
thus rely on these short names referring to the same licenses wherever they
|
| 255 |
occur, without needing to parse or compare the full license text.
|
| 256 |
|
| 257 |
From time to time, licenses may be added to or removed from the list of
|
| 258 |
standard short names. Such changes in the list of short names will always
|
| 259 |
be accompanied by changes to the recommended `Format-Specification` value.
|
| 260 |
Implementors who are parsing copyright files should take care not to assume
|
| 261 |
anything about the meaning of license short names for unknown
|
| 262 |
`Format-Specification` versions.
|
| 263 |
|
| 264 |
Use of a standard short name does not override the Debian Policy requirement
|
| 265 |
to include the full license text in `debian/copyright`, nor any requirements
|
| 266 |
in the license of the work regarding reproduction of legal notices. This
|
| 267 |
information must still be included in the `License` field, either in a
|
| 268 |
stand-alone license section or in the relevant files section.
|
| 269 |
|
| 270 |
For licenses which have multiple versions in use, the version number is
|
| 271 |
added, using a dash as a separator. If omitted, the lowest version number is
|
| 272 |
implied. When the license grant permits using the terms of any later version
|
| 273 |
of that license, the short name is finished with a plus sign.
|
| 274 |
|
| 275 |
|
| 276 |
[[!table data="""
|
| 277 |
**keyword** | **meaning**
|
| 278 |
`Apache` | Apache license. For versions, consult the [Apache Software Foundation](http://www.apache.org/licenses/).
|
| 279 |
`Artistic` | Artistic license. For versions, consult the [Perl Foundation](http://www.perlfoundation.org/perl5/index.cgi?action=revision_list;page_name=artistic_license)
|
| 280 |
`BSD` | Berkeley software distribution license
|
| 281 |
`FreeBSD` | FreeBSD Project license
|
| 282 |
`ISC` | [Internet Software Consortium](http://opensource.org/licenses/isc-license.txt)'s license, sometimes also known as the OpenBSD License
|
| 283 |
`CC-BY` | Creative Commons Attribution license
|
| 284 |
`CC-BY-SA` | Creative Commons Attribution Share Alike license
|
| 285 |
`CC-BY-ND` | Creative Commons Attribution No Derivatives
|
| 286 |
`CC-BY-NC` | Creative Commons Attribution Non-Commercial
|
| 287 |
`CC-BY-NC-SA` | Creative Commons Attribution Non-Commercial Share Alike
|
| 288 |
`CC-BY-NC-ND` | Creative Commons Attribution Non-Commercial No Derivatives
|
| 289 |
`CC0` | Creative Commons Universal waiver
|
| 290 |
`CDDL` | Common Development and Distribution License. For versions, consult [Sun Microsystems](http://www.sun.com/cddl/).
|
| 291 |
`CPL` | IBM Common Public License. For versions, consult the [IBM Common Public License (CPL) Frequently asked questions](http://www.ibm.com/developerworks/library/os-cplfaq.html).
|
| 292 |
`Eiffel` | The Eiffel Forum License. For versions, consult the [Open Source Initiative](http://www.opensource.org/licenses/eiffel.html)
|
| 293 |
`Expat` | The Expat license
|
| 294 |
`GPL` | GNU General Public License
|
| 295 |
`LGPL` | GNU Lesser General Public License, (GNU Library General Public License for versions lower than 2.1)
|
| 296 |
`GFDL` | GNU Free Documentation License
|
| 297 |
`GFDL-NIV` | GNU Free Documentation License, with no invariant sections
|
| 298 |
`LPPL` | LaTeX Project Public License
|
| 299 |
`MPL` | Mozilla Public License. For versions, consult [Mozilla.org](http://www.mozilla.org/MPL)
|
| 300 |
`Perl` | Perl license (equates to "GPL-1+ or Artistic-1
|
| 301 |
`PSF` | Python Software Foundation license. For versions, consult the [Python Software Foundation](http://www.python.org/psf/license/)
|
| 302 |
`QPL` | Q Public License
|
| 303 |
`W3C-Software` | W3C Software License. For more information, consult the [W3C Intellectual Rights FAQ](http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620S) and the [20021231 W3C Software notice and license](http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231)
|
| 304 |
`ZLIB` | [zlib/libpng license](http://www.opensource.org/licenses/zlib-license.php)
|
| 305 |
`Zope` | Zope Public License. For versions, consult [Zope.org](http://www.zope.org/Resources/License/)
|
| 306 |
`other` | Any other custom license. *License notice text must be copied verbatim.*
|
| 307 |
"""]]
|
| 308 |
|
| 309 |
Exceptions and clarifications are signalled in plain text, by appending
|
| 310 |
"with '''keywords''' exception" to the short name. This document provides a
|
| 311 |
list of keywords that refer to the most frequent exceptions.
|
| 312 |
|
| 313 |
The GPL "`Font`" exception refers to the text added to the
|
| 314 |
license notice of each file as specified at [How does the GPL apply to
|
| 315 |
fonts?](http://www.gnu.org/licenses/gpl-faq.html#FontException). The precise
|
| 316 |
text corresponding to this exception is:
|
| 317 |
|
| 318 |
> As a special exception, if you create a document which uses this font,
|
| 319 |
> and embed this font or unaltered portions of this font into the
|
| 320 |
> document, this font does not by itself cause the resulting document to
|
| 321 |
> be covered by the GNU General Public License. This exception does not
|
| 322 |
> however invalidate any other reasons why the document might be covered
|
| 323 |
> by the GNU General Public License. If you modify this font, you may
|
| 324 |
> extend this exception to your version of the font, but you are not
|
| 325 |
> obligated to do so. If you do not wish to do so, delete this exception
|
| 326 |
> statement from your version.
|
| 327 |
|
| 328 |
The GPL "`OpenSSL`" exception gives permission to link GPL-licensed
|
| 329 |
code with the OpenSSL library, which contains GPL-incompatible clauses.
|
| 330 |
For more information, see ["The -OpenSSL License and The
|
| 331 |
GPL"](http://www.gnome.org/~markmc/openssl-and-the-gpl.html) by Mark
|
| 332 |
McLoughlin and the message ["middleman software license conflicts with
|
| 333 |
OpenSSL"](http://lists.debian.org/debian-legal/2004/05/msg00595.html)
|
| 334 |
by Mark McLoughlin on the `debian-legal` mailing list. The text corresponding
|
| 335 |
to this exception is:
|
| 336 |
|
| 337 |
> In addition, as a special exception, the copyright holders give
|
| 338 |
> permission to link the code of portions of this program with the
|
| 339 |
> OpenSSL library under certain conditions as described in each
|
| 340 |
> individual source file, and distribute linked combinations including
|
| 341 |
> the two.
|
| 342 |
|
| 343 |
> You must obey the GNU General Public License in all respects for all
|
| 344 |
> of the code used other than OpenSSL. If you modify file(s) with this
|
| 345 |
> exception, you may extend this exception to your version of the
|
| 346 |
> file(s), but you are not obligated to do so. If you do not wish to do
|
| 347 |
> so, delete this exception statement from your version. If you delete
|
| 348 |
> this exception statement from all source files in the program, then
|
| 349 |
> also delete it here.
|
| 350 |
|
| 351 |
** Problematic Licenses**
|
| 352 |
|
| 353 |
The following license names are well known, but ambiguously refer to a number
|
| 354 |
of different licenses, in ways not easily addressed by the use of version
|
| 355 |
numbers or exception qualifiers. They are therefore not included as
|
| 356 |
standard short names in this specification.
|
| 357 |
|
| 358 |
[[!table data="""
|
| 359 |
**license name** | **problem**
|
| 360 |
`MIT` | Several variants of the MIT license exist: (1) the standard version with three paragraphs (blanket permission, keep this notice, NO WARRANTY), (2) a version with a no-endorsement clause, and (3) other versions with slight wording differences.
|
| 361 |
`PD` | Being in the public domain is not a license. See Linux journal article ["Why the Public Domain Isn't a License"](http://www.linuxjournal.com/article/6225) by Lawrence Rosen. If the work is truly public domain, this should be stated in the copyright field.
|
| 362 |
`PHP` | The PHP license contains terms which can only reasonably be met when applied to the PHP language itself. Since software other than PHP which uses this license will be rejected from Debian, there's no need for a shared standard keyword.
|
| 363 |
"""]]
|
| 364 |
|
| 365 |
#### Syntax
|
| 366 |
License names are case-insensitive.
|
| 367 |
|
| 368 |
In case of multi-licensing, the license short names are separated by `or`
|
| 369 |
when the user can chose between different licenses, and by `and` when use
|
| 370 |
of the work must simultaneously comply with the terms of multiple licenses.
|
| 371 |
|
| 372 |
For instance, this is a simple, "GPL version 2 or later" field:
|
| 373 |
|
| 374 |
License: GPL-2+
|
| 375 |
|
| 376 |
This is a dual-licensed GPL/Artistic work such as Perl:
|
| 377 |
|
| 378 |
License: GPL-2+ or Artistic-2.0
|
| 379 |
|
| 380 |
This is for a file that has both GPL and classic BSD code in it:
|
| 381 |
|
| 382 |
License: GPL-2+ and BSD
|
| 383 |
|
| 384 |
For the most complex cases, the comma is used to disambiguate the priority of
|
| 385 |
`or`s and `and`s: `and` has the priority over `or`, unless preceded by a comma.
|
| 386 |
For instance:
|
| 387 |
|
| 388 |
`A or B and C` means `A or (B and C)`.
|
| 389 |
`A or B, and C` means `(A or B), and C`.
|
| 390 |
|
| 391 |
This is for a file that has Perl code and classic BSD code in it:
|
| 392 |
|
| 393 |
License: GPL-2+ or Artistic-2.0, and BSD
|
| 394 |
|
| 395 |
A GPL-2+ work with the OpenSSL exception is in effect a dual-licensed
|
| 396 |
work that can be redistributed either under the GPL-2+, or under the
|
| 397 |
GPL-2+ with the OpenSSL exception. It is thus expressed as
|
| 398 |
`GPL-2+ with OpenSSL exception`:
|
| 399 |
|
| 400 |
License: GPL-2+ with OpenSSL exception
|
| 401 |
This program is free software; you can redistribute it
|
| 402 |
and/or modify it under the terms of the GNU General Public
|
| 403 |
License as published by the Free Software Foundation; either
|
| 404 |
version 2 of the License, or (at your option) any later
|
| 405 |
version.
|
| 406 |
.
|
| 407 |
In addition, as a special exception, the author of this
|
| 408 |
program gives permission to link the code of its
|
| 409 |
release with the OpenSSL project's "OpenSSL" library (or
|
| 410 |
with modified versions of it that use the same license as
|
| 411 |
the "OpenSSL" library), and distribute the linked
|
| 412 |
executables. You must obey the GNU General Public
|
| 413 |
License in all respects for all of the code used other
|
| 414 |
than "OpenSSL". If you modify this file, you may extend
|
| 415 |
this exception to your version of the file, but you are
|
| 416 |
not obligated to do so. If you do not wish to do so,
|
| 417 |
delete this exception statement from your version.
|
| 418 |
.
|
| 419 |
This program is distributed in the hope that it will be
|
| 420 |
useful, but WITHOUT ANY WARRANTY; without even the implied
|
| 421 |
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
| 422 |
PURPOSE. See the GNU General Public License for more
|
| 423 |
details.
|
| 424 |
.
|
| 425 |
You should have received a copy of the GNU General Public
|
| 426 |
License along with this package; if not, write to the Free
|
| 427 |
Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
| 428 |
Boston, MA 02110-1301 USA
|
| 429 |
.
|
| 430 |
On Debian systems, the full text of the GNU General Public
|
| 431 |
License version 2 can be found in the file
|
| 432 |
`/usr/share/common-licenses/GPL-2'.
|
| 433 |
|
| 434 |
|
| 435 |
|
| 436 |
## Implementation
|
| 437 |
|
| 438 |
It is proposed to implement this proposal in pseudo-RFC-822 format (the one of
|
| 439 |
debian/control). However, other syntaxes could be used, such as YAML.
|
| 440 |
|
| 441 |
### Examples in pseudo-RFC-822 format
|
| 442 |
#### Simple
|
| 443 |
A possible `copyright` file for the program 'X Solitaire' distributed in the
|
| 444 |
Debian source package `xsol`:
|
| 445 |
|
| 446 |
Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
| 447 |
Name: X Solitaire
|
| 448 |
Source: ftp://ftp.example.com/pub/games
|
| 449 |
|
| 450 |
Copyright: 1998, John Doe <jdoe@example.com>
|
| 451 |
License: GPL-2+
|
| 452 |
This program is free software; you can redistribute it
|
| 453 |
and/or modify it under the terms of the GNU General Public
|
| 454 |
License as published by the Free Software Foundation; either
|
| 455 |
version 2 of the License, or (at your option) any later
|
| 456 |
version.
|
| 457 |
.
|
| 458 |
This program is distributed in the hope that it will be
|
| 459 |
useful, but WITHOUT ANY WARRANTY; without even the implied
|
| 460 |
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
| 461 |
PURPOSE. See the GNU General Public License for more
|
| 462 |
details.
|
| 463 |
.
|
| 464 |
You should have received a copy of the GNU General Public
|
| 465 |
License along with this package; if not, write to the Free
|
| 466 |
Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
| 467 |
Boston, MA 02110-1301 USA
|
| 468 |
.
|
| 469 |
On Debian systems, the full text of the GNU General Public
|
| 470 |
License version 2 can be found in the file
|
| 471 |
`/usr/share/common-licenses/GPL-2'.
|
| 472 |
|
| 473 |
Files: debian/*
|
| 474 |
Copyright: 1998, Jane Smith <jsmith@example.net>
|
| 475 |
License:
|
| 476 |
[LICENSE TEXT]
|
| 477 |
|
| 478 |
#### Complex
|
| 479 |
A possible `copyright` file for the program 'Planet Venus', distributed in the
|
| 480 |
Debian source package `planet-venus`:
|
| 481 |
|
| 482 |
Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
| 483 |
Name: Planet Venus
|
| 484 |
Maintainer: John Doe <jdoe@example.com>
|
| 485 |
Source: http://www.example.com/code/venus
|
| 486 |
|
| 487 |
Copyright: 2008, John Doe <jdoe@example.com>
|
| 488 |
2007, Jane Smith <jsmith@example.org>
|
| 489 |
2007, Joe Average <joe@example.org>
|
| 490 |
2007, J. Random User <jr@users.example.com>
|
| 491 |
License: PSF-2
|
| 492 |
[LICENSE TEXT]
|
| 493 |
|
| 494 |
Files: debian/*
|
| 495 |
Copyright: 2008, Dan Developer <dan@debian.example.com>
|
| 496 |
License:
|
| 497 |
Copying and distribution of this package, with or without
|
| 498 |
modification, are permitted in any medium without royalty
|
| 499 |
provided the copyright notice and this notice are
|
| 500 |
preserved.
|
| 501 |
|
| 502 |
Files: debian/patches/theme-diveintomark.patch
|
| 503 |
Copyright: 2008, Joe Hacker <hack@example.org>
|
| 504 |
License: GPL-2+
|
| 505 |
[LICENSE TEXT]
|
| 506 |
|
| 507 |
Files: planet/vendor/compat_logging/*
|
| 508 |
Copyright: 2002, Mark Smith <msmith@example.org>
|
| 509 |
License: MIT
|
| 510 |
[LICENSE TEXT]
|
| 511 |
|
| 512 |
Files: planet/vendor/httplib2/*
|
| 513 |
Copyright: 2006, John Brown <brown@example.org>
|
| 514 |
License: MIT2
|
| 515 |
Unspecified MIT style license.
|
| 516 |
|
| 517 |
Files: planet/vendor/feedparser.py
|
| 518 |
Copyright: 2007, Mike Smith <mike@example.org>
|
| 519 |
License: PSF-2
|
| 520 |
[LICENSE TEXT]
|
| 521 |
|
| 522 |
Files: planet/vendor/htmltmpl.py
|
| 523 |
Copyright: 2004, Thomas Brown <coder@example.org>
|
| 524 |
License: GPL-2+
|
| 525 |
This program is free software; you can redistribute it
|
| 526 |
and/or modify it under the terms of the GNU General Public
|
| 527 |
License as published by the Free Software Foundation; either
|
| 528 |
version 2 of the License, or (at your option) any later
|
| 529 |
version.
|
| 530 |
.
|
| 531 |
This program is distributed in the hope that it will be
|
| 532 |
useful, but WITHOUT ANY WARRANTY; without even the implied
|
| 533 |
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
| 534 |
PURPOSE. See the GNU General Public License for more
|
| 535 |
details.
|
| 536 |
.
|
| 537 |
You should have received a copy of the GNU General Public
|
| 538 |
License along with this package; if not, write to the Free
|
| 539 |
Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
| 540 |
Boston, MA 02110-1301 USA
|
| 541 |
.
|
| 542 |
On Debian systems, the full text of the GNU General Public
|
| 543 |
License version 2 can be found in the file
|
| 544 |
`/usr/share/common-licenses/GPL-2'.
|
| 545 |
|
| 546 |
|
| 547 |
## Appendix: Note about the use of this format in Debian
|
| 548 |
|
| 549 |
The Debian Policy (§12.5) demands that each package is accompanied by a file,
|
| 550 |
`debian/copyright` in source packages and `/usr/share/doc/package/copyright` in
|
| 551 |
binary packages, that contains a verbatim copy of its copyright and
|
| 552 |
distribution license. In addition, it requires that copyrights must be
|
| 553 |
extractable by mechanical means. This proposal for machine-readable copyright
|
| 554 |
and license summary files has been crafted for Debian's use, but it is our hope
|
| 555 |
that other software distributions, as well as upstream developers will adopt
|
| 556 |
it, so that review efforts can be easily reproduced and shared.
|
| 557 |
|
| 558 |
The copyright of the Debian packaging and the history of package maintainers is
|
| 559 |
simply indicated in a **`Files: debian/*`** section.
|
| 560 |
|
| 561 |
The Policy section §12.5 demands that packages distributed in the ''non-free''
|
| 562 |
and ''contrib'' sections of the Debian archive carry a disclaimer in
|
| 563 |
`debian/copyright` that reminds that these packages are not part of the Debian
|
| 564 |
operating system, and explain why they can not be distributed in the ''main''
|
| 565 |
section. The **`Disclaimer`** field was created for this purpose.
|
| 566 |
|
| 567 |
For a ''non-free'' package to be autobuilt, `debian/copyright` must contain an
|
| 568 |
explanation that autobuilding is not forbidden (see
|
| 569 |
[20061129152824.GT2560@mails.so.argh.org](http://lists.debian.org/msgid-search/20061129152824.GT2560@mails.so.argh.org)).
|
| 570 |
It is proposed to use an extra field in the header, with name
|
| 571 |
**`X-Autobuild`**, that would contain `yes` in the first line and the
|
| 572 |
explanation in the others.
|