| 1 |
[[!meta title="DEP-5: Machine-readable debian/copyright"]]
|
| 2 |
|
| 3 |
Title: Machine-readable debian/copyright
|
| 4 |
DEP: 5
|
| 5 |
State: CANDIDATE
|
| 6 |
Date: 2011-01-06
|
| 7 |
Drivers: Steve Langasek <vorlon@debian.org>,
|
| 8 |
Lars Wirzenius <liw@liw.fi>
|
| 9 |
URL: http://dep.debian.net/deps/dep5
|
| 10 |
License:
|
| 11 |
Copying and distribution of this file, with or without modification,
|
| 12 |
are permitted in any medium without royalty provided the copyright
|
| 13 |
notice and this notice are preserved.
|
| 14 |
Abstract:
|
| 15 |
Establish a standard, machine-readable format for debian/copyright
|
| 16 |
files within packages, to facilitate automated checking and
|
| 17 |
reporting of licenses for packages and sets of packages.
|
| 18 |
|
| 19 |
[[!toc ]]
|
| 20 |
|
| 21 |
# Introduction
|
| 22 |
|
| 23 |
This is a proposal to make `debian/copyright` machine-interpretable.
|
| 24 |
This file is one of the most important files in Debian packaging, yet
|
| 25 |
there is currently no standard format defined for it and its contents
|
| 26 |
vary tremendously across packages, making it difficult to automatically
|
| 27 |
extract licensing information.
|
| 28 |
|
| 29 |
This is not a proposal to change the policy in the short term. In
|
| 30 |
particular, nothing in this proposal supersedes or modifies any of the
|
| 31 |
requirements specified in Debian Policy regarding the appropriate detail or
|
| 32 |
granularity to use when documenting copyright and license status in
|
| 33 |
`debian/copyright`.
|
| 34 |
|
| 35 |
# Rationale
|
| 36 |
|
| 37 |
The diversity of free software licenses means that Debian needs to care
|
| 38 |
not only about the freeness of a given work, but also its license's
|
| 39 |
compatibility with the other parts of Debian it uses.
|
| 40 |
|
| 41 |
The arrival of the GPL version 3, its incompatibility with version 2,
|
| 42 |
and our inability to spot the software where the incompatibility might
|
| 43 |
be problematic is one prominent occurrence of this limitation.
|
| 44 |
|
| 45 |
There are earlier precedents, also. One is the GPL/OpenSSL
|
| 46 |
incompatibility. Apart from grepping `debian/copyright`, which is
|
| 47 |
prone to numerous false positives (packaging under the GPL but software
|
| 48 |
under another license) or negatives (GPL software but with an "OpenSSL
|
| 49 |
special exception" dual licensing form), there is no reliable way to
|
| 50 |
know which software in Debian might be problematic.
|
| 51 |
|
| 52 |
And there is more to come. There are issues with shipping GPLv2-only
|
| 53 |
software with a CDDL operating system such as Nexenta. The GPL version 3
|
| 54 |
solves this issue, but not all GPL software can switch to it and we have
|
| 55 |
no way to know how much of Debian should be stripped from such a system.
|
| 56 |
|
| 57 |
A user might want to have a way to avoid software with certain licenses
|
| 58 |
they have a problem with, even if the licenses are DFSG-free. For
|
| 59 |
example, the Affero GPL.
|
| 60 |
|
| 61 |
# Acknowledgements
|
| 62 |
|
| 63 |
Many people have worked on this specification over the years.
|
| 64 |
The following alphabetical list is incomplete,
|
| 65 |
please suggest missing people:
|
| 66 |
Russ Allbery,
|
| 67 |
Ben Finney,
|
| 68 |
Sam Hocevar,
|
| 69 |
Steve Langasek,
|
| 70 |
Charles Plessy,
|
| 71 |
Noah Slater,
|
| 72 |
Jonas Smedegaard,
|
| 73 |
Lars Wirzenius.
|
| 74 |
|
| 75 |
# File syntax
|
| 76 |
|
| 77 |
The `debian/copyright` file must be machine-interpretable, yet
|
| 78 |
human-readable, while communicating all mandated upstream information,
|
| 79 |
copyright notices and licensing details.
|
| 80 |
|
| 81 |
The syntax of the file is the same as for other Debian control files,
|
| 82 |
as specified in section 5.1 of the Debian Policy Manual.
|
| 83 |
See
|
| 84 |
<http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-controlsyntax>
|
| 85 |
for details.
|
| 86 |
Extra fields can be added to any paragraph.
|
| 87 |
No prefixing is necessary or desired, but please avoid names similar
|
| 88 |
to standard ones so that mistakes are easier to catch.
|
| 89 |
Future versions of the `debian/copyright`
|
| 90 |
specification will attempt to avoid conflicting specifications
|
| 91 |
for widely used extra fields.
|
| 92 |
|
| 93 |
There are four kinds values for fields. Each field specifies which
|
| 94 |
kind is allowed.
|
| 95 |
|
| 96 |
* Single-line values.
|
| 97 |
* White space separated lists.
|
| 98 |
* Line based lists.
|
| 99 |
* Text formatted like package long descriptions.
|
| 100 |
|
| 101 |
A single-line value means that the whole value of a field must fit on
|
| 102 |
a single line. For example, the `Format` field has a single line value
|
| 103 |
specifying the version of the machine-readable format that is used.
|
| 104 |
|
| 105 |
A white space separated list means that the field value may be on one
|
| 106 |
line or many, but values in the list are separated by one or more
|
| 107 |
white space characters (including space, TAB, and newline). For
|
| 108 |
example, the `Files` field has a list of filename patterns.
|
| 109 |
|
| 110 |
Another kind of list value has one value per line. For example,
|
| 111 |
`Copyright` can list many copyright statements, one per line.
|
| 112 |
|
| 113 |
Formatted text fields use the same rules as the long description in
|
| 114 |
a package's `Description` field, possibly also using the first
|
| 115 |
line as a synopsis, like `Description` uses it for the
|
| 116 |
short description.
|
| 117 |
See section 5.6.13, "Description", at
|
| 118 |
<http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description>
|
| 119 |
for details.
|
| 120 |
For example, `Disclaimer` has no special first line, whereas
|
| 121 |
`License` does.
|
| 122 |
|
| 123 |
# Paragraphs
|
| 124 |
|
| 125 |
There are three kinds of paragraphs: the first one is called
|
| 126 |
the "header paragraph". Every other paragraph is either a "Files"
|
| 127 |
paragraph or a stand-alone license paragraph.
|
| 128 |
This is similar to source and binary package paragraphs
|
| 129 |
in `debian/control` files.
|
| 130 |
|
| 131 |
## Header paragraph (Once)
|
| 132 |
|
| 133 |
* **`Format`**
|
| 134 |
* Required
|
| 135 |
* Syntax: single line
|
| 136 |
* URI of the format specification, such as:
|
| 137 |
* http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=REVISION
|
| 138 |
|
| 139 |
* **`Upstream-Name`**
|
| 140 |
* Optional
|
| 141 |
* Syntax: single line
|
| 142 |
* The name upstream uses for the software.
|
| 143 |
|
| 144 |
* **`Upstream-Contact`**
|
| 145 |
* Optional
|
| 146 |
* Syntax: line based list
|
| 147 |
* The preferred address(es) to reach
|
| 148 |
the upstream project. May be free-form text, but by convention
|
| 149 |
will usually be written as a list of RFC5822 addresses or URIs.
|
| 150 |
|
| 151 |
* **`Source`**
|
| 152 |
* Required
|
| 153 |
* Syntax: formatted text, no synopsis
|
| 154 |
* An explanation from where the upstream source came from.
|
| 155 |
Typically this would be a URL, but it might be a free-form
|
| 156 |
explanation. If the upstream source has been modified to remove
|
| 157 |
non-free parts, that should be explained in this field.
|
| 158 |
|
| 159 |
* **`Disclaimer`**
|
| 160 |
* Optional
|
| 161 |
* Syntax: formatted text, no synopsis
|
| 162 |
* This field can be
|
| 163 |
used in the case of non-free and contrib packages (see [Policy
|
| 164 |
12.5](
|
| 165 |
http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile))
|
| 166 |
|
| 167 |
* **`Comment`**
|
| 168 |
* Optional
|
| 169 |
* Syntax: formatted text, no synopsis
|
| 170 |
* Description: This field can provide additional information. For
|
| 171 |
example, it might quote an e-mail from upstream
|
| 172 |
justifying why the license is acceptable to the main archive, or
|
| 173 |
an explanation of how this version of the package has been forked
|
| 174 |
from a version known to be DFSG-free, even though the current
|
| 175 |
upstream version is not.
|
| 176 |
|
| 177 |
* **`Copyright`**
|
| 178 |
* Optional.
|
| 179 |
* Syntax: line based list
|
| 180 |
* In the header paragraph (no `Files` specification), this field
|
| 181 |
gives the copyright information for the package as a whole, which
|
| 182 |
may be different or simplified from a combination of all the
|
| 183 |
per-file copyright information. See also `Copyright` below in
|
| 184 |
the `Files paragraph` section.
|
| 185 |
|
| 186 |
Example:
|
| 187 |
|
| 188 |
Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
| 189 |
Upstream-Name: SOFTware
|
| 190 |
Upstream-Contact: John Doe <john.doe@example.com>
|
| 191 |
Source: http://www.example.com/software/project
|
| 192 |
|
| 193 |
## Files paragraph (Repeatable)
|
| 194 |
|
| 195 |
The declaration of copyright and license for files is done in one or more
|
| 196 |
paragraphs. In the simplest case, a single paragraph can be used which
|
| 197 |
applies to all files and lists all applicable copyrights and licenses.
|
| 198 |
|
| 199 |
* **`Files`**
|
| 200 |
* Required (not in header paragraph).
|
| 201 |
* Syntax: white space separated list
|
| 202 |
* List of patterns indicating files covered by the license
|
| 203 |
and copyright specified in this paragraph. See below for details.
|
| 204 |
|
| 205 |
* **`Copyright`**
|
| 206 |
* Required
|
| 207 |
* Syntax: line based list
|
| 208 |
* One or more free-form copyright statement(s), one per line,
|
| 209 |
that apply to the files matched by the above pattern.
|
| 210 |
If a work has no copyright holder (i.e., it is in the public
|
| 211 |
domain), that information should be recorded here.
|
| 212 |
|
| 213 |
The Copyright field collects all relevant copyright notices for the
|
| 214 |
files of this paragraph. Not all copyright notices may apply to every
|
| 215 |
individual file, and years of publication for one copyright holder may
|
| 216 |
be gathered together. For example, if file A has:
|
| 217 |
|
| 218 |
Copyright 2008 John Smith
|
| 219 |
Copyright 2009 Angela Watts
|
| 220 |
|
| 221 |
and file B has:
|
| 222 |
|
| 223 |
Copyright 2010 Angela Watts
|
| 224 |
|
| 225 |
the Copyright field for a stanza covering both file A and file B need
|
| 226 |
contain only:
|
| 227 |
|
| 228 |
Copyright 2008 John Smith
|
| 229 |
Copyright 2009, 2010 Angela Watts
|
| 230 |
|
| 231 |
The Copyright field may contain the original copyright statement
|
| 232 |
copied exactly (including the word "Copyright"), or it can
|
| 233 |
shorten the text, as long as it does not sacrifice information.
|
| 234 |
Examples in this specification use both forms.
|
| 235 |
|
| 236 |
* **`License`**
|
| 237 |
* Licensing terms for the files listed in **`Files`** field for this paragraph
|
| 238 |
* Required
|
| 239 |
* Syntax: formatted text, with synopsis
|
| 240 |
* First line: an abbreviated name for the license, or expression giving
|
| 241 |
alternatives (see *Short names* section for a list of standard
|
| 242 |
abbreviations). If there are licenses present
|
| 243 |
in the package without a standard short name, an arbitrary short
|
| 244 |
name may be assigned for these licenses. These arbitrary names
|
| 245 |
are only guaranteed to be unique within a single copyright file.
|
| 246 |
* Remaining lines: if left blank here, the file **must** include
|
| 247 |
a stand-alone **`License`** paragraph matching each license short
|
| 248 |
name listed on the first line (see the *Standalone License Paragraph*
|
| 249 |
section). Otherwise, this field should either include the full text
|
| 250 |
of the license(s) or include a pointer to the license file under
|
| 251 |
`/usr/share/common-licenses`. This field should include all text
|
| 252 |
needed in order to fulfill both Debian Policy's requirement for
|
| 253 |
including a copy of the software's distribution license
|
| 254 |
(<a href="http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile">§12.5</a>),
|
| 255 |
and any license requirements to include warranty disclaimers or
|
| 256 |
other notices with the binary package.
|
| 257 |
|
| 258 |
* **`Comment`**
|
| 259 |
* Same as in the header paragraph.
|
| 260 |
|
| 261 |
Filename patterns in the `Files` field are specified using a
|
| 262 |
simplified shell glob syntax. Patterns are separated by
|
| 263 |
white space.
|
| 264 |
|
| 265 |
* Only the wildcards `*` and `?` apply; the former matches any number
|
| 266 |
of characters (including none), the latter a single character. Both
|
| 267 |
match a slash ("`/`") and a leading dot.
|
| 268 |
* The backslash ("`\\`") is used to remove the magic from the next
|
| 269 |
character; see table below.
|
| 270 |
* Patterns match pathnames that start at the root of the source tree.
|
| 271 |
Thus, "`Makefile.in`" matches only the file at the root of the tree,
|
| 272 |
but "`*/Makefile.in`" matches at any depth.
|
| 273 |
|
| 274 |
Backslash escape sequences:
|
| 275 |
|
| 276 |
\* match star (asterisk)
|
| 277 |
\? match question mark
|
| 278 |
\\ match backslash
|
| 279 |
|
| 280 |
Any other character following a backslash is an error.
|
| 281 |
|
| 282 |
Multiple `Files` paragraphs are allowed. The last paragraph that
|
| 283 |
matches a particular file applies to it.
|
| 284 |
|
| 285 |
Exclusions are done by having multiple `Files` paragraphs.
|
| 286 |
|
| 287 |
Example:
|
| 288 |
|
| 289 |
Files: *
|
| 290 |
Copyright: 1975-2010 Ulla Upstream
|
| 291 |
License: GPL-2+
|
| 292 |
|
| 293 |
Files: debian/*
|
| 294 |
Copyright: 2010 Daniela Debianizer
|
| 295 |
License: GPL-2+
|
| 296 |
|
| 297 |
Files: debian/patches/fancy-feature
|
| 298 |
Copyright: 2010 Daniela Debianizer
|
| 299 |
License: GPL-3+
|
| 300 |
|
| 301 |
Files: */*.1
|
| 302 |
Copyright: 2010 Manuela Manpager
|
| 303 |
License: GPL-2+
|
| 304 |
|
| 305 |
In this example, all files are copyright by the upstream and licensed
|
| 306 |
under the GPL, version 2 or later, with three exceptions.
|
| 307 |
All the Debian packaging files are copyright by the packager,
|
| 308 |
and further one specific file providing a new feature is licensed
|
| 309 |
differently. Finally, there are some manual pages added to the package,
|
| 310 |
written by a third person.
|
| 311 |
|
| 312 |
## Standalone License Paragraph (Optional, Repeatable)
|
| 313 |
|
| 314 |
Where a set of files are dual (tri, etc) licensed, or when the same license
|
| 315 |
occurs multiple times, you can use a single line **`License`** field and
|
| 316 |
standalone **`License`** paragraphs to expand the license short names.
|
| 317 |
|
| 318 |
Example 1 (tri-licensed files).
|
| 319 |
|
| 320 |
Files: src/js/editline/*
|
| 321 |
Copyright: 1993, John Doe
|
| 322 |
1993, Joe Average
|
| 323 |
License: MPL-1.1 or GPL-2 or LGPL-2.1
|
| 324 |
|
| 325 |
License: MPL-1.1
|
| 326 |
[LICENSE TEXT]
|
| 327 |
|
| 328 |
License: GPL-2
|
| 329 |
[LICENSE TEXT]
|
| 330 |
|
| 331 |
License: LGPL-2.1
|
| 332 |
[LICENSE TEXT]
|
| 333 |
|
| 334 |
|
| 335 |
Example 2 (recurrent license).
|
| 336 |
|
| 337 |
Files: src/js/editline/*
|
| 338 |
Copyright: 1993, John Doe
|
| 339 |
1993, Joe Average
|
| 340 |
License: MPL-1.1
|
| 341 |
|
| 342 |
Files: src/js/fdlibm/*
|
| 343 |
Copyright: 1993, J-Random Corporation
|
| 344 |
License: MPL-1.1
|
| 345 |
|
| 346 |
License: MPL-1.1
|
| 347 |
[LICENSE TEXT]
|
| 348 |
|
| 349 |
# License specifications
|
| 350 |
|
| 351 |
## Short name
|
| 352 |
|
| 353 |
Much of the value of a machine-parseable copyright file lies in being able to
|
| 354 |
correlate the licenses of multiple pieces of software. To that end, this
|
| 355 |
spec defines standard short names for a number of commonly used licenses,
|
| 356 |
which can be used in the first line of a "`License`" field.
|
| 357 |
|
| 358 |
These short names have the specified meanings across all uses of this file
|
| 359 |
format, and *must not* be used to refer to any other licenses. Parsers may
|
| 360 |
thus rely on these short names referring to the same licenses wherever they
|
| 361 |
occur, without needing to parse or compare the full license text.
|
| 362 |
|
| 363 |
From time to time, licenses may be added to or removed from the list of
|
| 364 |
standard short names. Such changes in the list of short names will always
|
| 365 |
be accompanied by changes to the recommended `Format` value.
|
| 366 |
Implementors who are parsing copyright files should take care not to assume
|
| 367 |
anything about the meaning of license short names for unknown
|
| 368 |
`Format` versions.
|
| 369 |
|
| 370 |
Use of a standard short name does not override the Debian Policy requirement
|
| 371 |
to include the full license text in `debian/copyright`, nor any requirements
|
| 372 |
in the license of the work regarding reproduction of legal notices. This
|
| 373 |
information must still be included in the `License` field, either in a
|
| 374 |
stand-alone license paragraph or in the relevant files paragraph.
|
| 375 |
|
| 376 |
For licenses which have multiple versions in use, the version number is
|
| 377 |
added, using a dash as a separator. If omitted, the lowest version number is
|
| 378 |
implied. When the license grant permits using the terms of any later version
|
| 379 |
of that license, the short name is finished with a plus sign.
|
| 380 |
For SPDX compatibility, trailing "dot-zeroes" are considered to be equal
|
| 381 |
to plainer version (e.g., "2.0.0" is considered equal to "2.0" and "2").
|
| 382 |
|
| 383 |
|
| 384 |
[[!table data="""
|
| 385 |
**keyword** | **meaning**
|
| 386 |
`Apache` | Apache license. For versions, consult the [Apache Software Foundation](http://www.apache.org/licenses/).
|
| 387 |
`Artistic` | Artistic license. For versions, consult the [Perl Foundation](http://www.perlfoundation.org/legal)
|
| 388 |
`BSD-2-clause` | Berkeley software distribution license, 2-clause version
|
| 389 |
`BSD-3-clause` | Berkeley software distribution license, 3-clause version
|
| 390 |
`BSD-4-clause` | Berkeley software distribution license, 4-clause version
|
| 391 |
`FreeBSD` | FreeBSD Project license
|
| 392 |
`ISC` | [Internet Software Consortium](http://opensource.org/licenses/isc-license.txt)'s license, sometimes also known as the OpenBSD License
|
| 393 |
`CC-BY` | Creative Commons Attribution license
|
| 394 |
`CC-BY-SA` | Creative Commons Attribution Share Alike license
|
| 395 |
`CC-BY-ND` | Creative Commons Attribution No Derivatives
|
| 396 |
`CC-BY-NC` | Creative Commons Attribution Non-Commercial
|
| 397 |
`CC-BY-NC-SA` | Creative Commons Attribution Non-Commercial Share Alike
|
| 398 |
`CC-BY-NC-ND` | Creative Commons Attribution Non-Commercial No Derivatives
|
| 399 |
`CC0` | Creative Commons Universal waiver
|
| 400 |
`CDDL` | Common Development and Distribution License. For versions, consult [Sun Microsystems](http://www.sun.com/cddl/).
|
| 401 |
`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).
|
| 402 |
`EFL` | The Eiffel Forum License. For versions, consult the [Open Source Initiative](http://www.opensource.org/licenses/eiffel.html)
|
| 403 |
`Expat` | The Expat license
|
| 404 |
`GPL` | GNU General Public License
|
| 405 |
`LGPL` | GNU Lesser General Public License, (GNU Library General Public License for versions lower than 2.1)
|
| 406 |
`GFDL` | GNU Free Documentation License
|
| 407 |
`GFDL-NIV` | GNU Free Documentation License, with no invariant sections
|
| 408 |
`LPPL` | LaTeX Project Public License
|
| 409 |
`MPL` | Mozilla Public License. For versions, consult [Mozilla.org](http://www.mozilla.org/MPL)
|
| 410 |
`Perl` | Perl license (use "GPL-1+ or Artistic-1" instead)
|
| 411 |
`Python-CNRI` | Python Software Foundation license. For versions, consult the [Python Software Foundation](http://www.python.org/psf/license/)
|
| 412 |
`QPL` | Q Public License
|
| 413 |
`W3C` | 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)
|
| 414 |
`Zlib` | [zlib/libpng license](http://www.opensource.org/licenses/zlib-license.php)
|
| 415 |
`Zope` | Zope Public License. For versions, consult [Zope.org](http://www.zope.org/Resources/License/)
|
| 416 |
"""]]
|
| 417 |
|
| 418 |
There are [many versions of the MIT
|
| 419 |
license](http://en.wikipedia.org/wiki/MIT_License#Various_versions).
|
| 420 |
Please use Expat instead, when it matches.
|
| 421 |
|
| 422 |
Exceptions and clarifications are signaled in plain text, by appending
|
| 423 |
"with '''keywords''' exception" to the short name. This document provides a
|
| 424 |
list of keywords that refer to the most frequent exceptions.
|
| 425 |
|
| 426 |
The GPL "`Font`" exception refers to the text added to the
|
| 427 |
license notice of each file as specified at [How does the GPL apply to
|
| 428 |
fonts?](http://www.gnu.org/licenses/gpl-faq.html#FontException). The precise
|
| 429 |
text corresponding to this exception is:
|
| 430 |
|
| 431 |
> As a special exception, if you create a document which uses this font,
|
| 432 |
> and embed this font or unaltered portions of this font into the
|
| 433 |
> document, this font does not by itself cause the resulting document to
|
| 434 |
> be covered by the GNU General Public License. This exception does not
|
| 435 |
> however invalidate any other reasons why the document might be covered
|
| 436 |
> by the GNU General Public License. If you modify this font, you may
|
| 437 |
> extend this exception to your version of the font, but you are not
|
| 438 |
> obligated to do so. If you do not wish to do so, delete this exception
|
| 439 |
> statement from your version.
|
| 440 |
|
| 441 |
The GPL "`OpenSSL`" exception gives permission to link GPL-licensed
|
| 442 |
code with the OpenSSL library, which contains GPL-incompatible clauses.
|
| 443 |
For more information, see ["The -OpenSSL License and The
|
| 444 |
GPL"](http://www.gnome.org/~markmc/openssl-and-the-gpl.html) by Mark
|
| 445 |
McLoughlin and the message ["middleman software license conflicts with
|
| 446 |
OpenSSL"](http://lists.debian.org/debian-legal/2004/05/msg00595.html)
|
| 447 |
by Mark McLoughlin on the `debian-legal` mailing list. The text corresponding
|
| 448 |
to this exception is:
|
| 449 |
|
| 450 |
> In addition, as a special exception, the copyright holders give
|
| 451 |
> permission to link the code of portions of this program with the
|
| 452 |
> OpenSSL library under certain conditions as described in each
|
| 453 |
> individual source file, and distribute linked combinations including
|
| 454 |
> the two.
|
| 455 |
|
| 456 |
> You must obey the GNU General Public License in all respects for all
|
| 457 |
> of the code used other than OpenSSL. If you modify file(s) with this
|
| 458 |
> exception, you may extend this exception to your version of the
|
| 459 |
> file(s), but you are not obligated to do so. If you do not wish to do
|
| 460 |
> so, delete this exception statement from your version. If you delete
|
| 461 |
> this exception statement from all source files in the program, then
|
| 462 |
> also delete it here.
|
| 463 |
|
| 464 |
|
| 465 |
## Syntax
|
| 466 |
|
| 467 |
License names are case-insensitive, and may not contain spaces.
|
| 468 |
|
| 469 |
In case of multi-licensing, the license short names are separated by `or`
|
| 470 |
when the user can chose between different licenses, and by `and` when use
|
| 471 |
of the work must simultaneously comply with the terms of multiple licenses.
|
| 472 |
|
| 473 |
For instance, this is a simple, "GPL version 2 or later" field:
|
| 474 |
|
| 475 |
License: GPL-2+
|
| 476 |
|
| 477 |
This is a dual-licensed GPL/Artistic work such as Perl:
|
| 478 |
|
| 479 |
License: GPL-1+ or Artistic
|
| 480 |
|
| 481 |
This is for a file that has both GPL and classic BSD code in it:
|
| 482 |
|
| 483 |
License: GPL-2+ and BSD
|
| 484 |
|
| 485 |
For the most complex cases, the comma is used to disambiguate the priority of
|
| 486 |
`or`s and `and`s: `and` has the priority over `or`, unless preceded by a comma.
|
| 487 |
For instance:
|
| 488 |
|
| 489 |
`A or B and C` means `A or (B and C)`.
|
| 490 |
`A or B, and C` means `(A or B), and C`.
|
| 491 |
|
| 492 |
This is for a file that has Perl code and classic BSD code in it:
|
| 493 |
|
| 494 |
License: GPL-2+ or Artistic-2.0, and BSD
|
| 495 |
|
| 496 |
A GPL-2+ work with the OpenSSL exception is in effect a dual-licensed
|
| 497 |
work that can be redistributed either under the GPL-2+, or under the
|
| 498 |
GPL-2+ with the OpenSSL exception. It is thus expressed as
|
| 499 |
`GPL-2+ with OpenSSL exception`:
|
| 500 |
|
| 501 |
License: GPL-2+ with OpenSSL exception
|
| 502 |
This program is free software; you can redistribute it
|
| 503 |
and/or modify it under the terms of the GNU General Public
|
| 504 |
License as published by the Free Software Foundation; either
|
| 505 |
version 2 of the License, or (at your option) any later
|
| 506 |
version.
|
| 507 |
.
|
| 508 |
In addition, as a special exception, the author of this
|
| 509 |
program gives permission to link the code of its
|
| 510 |
release with the OpenSSL project's "OpenSSL" library (or
|
| 511 |
with modified versions of it that use the same license as
|
| 512 |
the "OpenSSL" library), and distribute the linked
|
| 513 |
executables. You must obey the GNU General Public
|
| 514 |
License in all respects for all of the code used other
|
| 515 |
than "OpenSSL". If you modify this file, you may extend
|
| 516 |
this exception to your version of the file, but you are
|
| 517 |
not obligated to do so. If you do not wish to do so,
|
| 518 |
delete this exception statement from your version.
|
| 519 |
.
|
| 520 |
This program is distributed in the hope that it will be
|
| 521 |
useful, but WITHOUT ANY WARRANTY; without even the implied
|
| 522 |
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
| 523 |
PURPOSE. See the GNU General Public License for more
|
| 524 |
details.
|
| 525 |
.
|
| 526 |
You should have received a copy of the GNU General Public
|
| 527 |
License along with this package; if not, write to the Free
|
| 528 |
Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
| 529 |
Boston, MA 02110-1301 USA
|
| 530 |
.
|
| 531 |
On Debian systems, the full text of the GNU General Public
|
| 532 |
License version 2 can be found in the file
|
| 533 |
`/usr/share/common-licenses/GPL-2'.
|
| 534 |
|
| 535 |
## SPDX
|
| 536 |
|
| 537 |
[SPDX](http://spdx.org/) is an attempt to standardize a format
|
| 538 |
for communicating the components, licenses and copyrights
|
| 539 |
associated with a software package. It and the machine-readable
|
| 540 |
`debian/copyright` format attempt to be somewhat compatible.
|
| 541 |
However, the two formats have different aims, and so the formats
|
| 542 |
are different.
|
| 543 |
The [DEP5 wiki page](http://wiki.debian.org/Proposals/CopyrightFormat)
|
| 544 |
will be used to track the differences.
|
| 545 |
|
| 546 |
|
| 547 |
# Examples
|
| 548 |
|
| 549 |
## Simple
|
| 550 |
|
| 551 |
A possible `copyright` file for the program 'X Solitaire' distributed in the
|
| 552 |
Debian source package `xsol`:
|
| 553 |
|
| 554 |
Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
| 555 |
Upstream-Name: X Solitaire
|
| 556 |
Source: ftp://ftp.example.com/pub/games
|
| 557 |
|
| 558 |
Copyright: Copyright 1998 John Doe <jdoe@example.com>
|
| 559 |
License: GPL-2+
|
| 560 |
This program is free software; you can redistribute it
|
| 561 |
and/or modify it under the terms of the GNU General Public
|
| 562 |
License as published by the Free Software Foundation; either
|
| 563 |
version 2 of the License, or (at your option) any later
|
| 564 |
version.
|
| 565 |
.
|
| 566 |
This program is distributed in the hope that it will be
|
| 567 |
useful, but WITHOUT ANY WARRANTY; without even the implied
|
| 568 |
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
| 569 |
PURPOSE. See the GNU General Public License for more
|
| 570 |
details.
|
| 571 |
.
|
| 572 |
You should have received a copy of the GNU General Public
|
| 573 |
License along with this package; if not, write to the Free
|
| 574 |
Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
| 575 |
Boston, MA 02110-1301 USA
|
| 576 |
.
|
| 577 |
On Debian systems, the full text of the GNU General Public
|
| 578 |
License version 2 can be found in the file
|
| 579 |
`/usr/share/common-licenses/GPL-2'.
|
| 580 |
|
| 581 |
Files: debian/*
|
| 582 |
Copyright: Copyright 1998 Jane Smith <jsmith@example.net>
|
| 583 |
License:
|
| 584 |
[LICENSE TEXT]
|
| 585 |
|
| 586 |
## Complex
|
| 587 |
|
| 588 |
A possible `copyright` file for the program 'Planet Venus', distributed in the
|
| 589 |
Debian source package `planet-venus`:
|
| 590 |
|
| 591 |
Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
|
| 592 |
Upstream-Name: Planet Venus
|
| 593 |
Upstream-Contact: John Doe <jdoe@example.com>
|
| 594 |
Source: http://www.example.com/code/venus
|
| 595 |
|
| 596 |
Copyright: 2008, John Doe <jdoe@example.com>
|
| 597 |
2007, Jane Smith <jsmith@example.org>
|
| 598 |
2007, Joe Average <joe@example.org>
|
| 599 |
2007, J. Random User <jr@users.example.com>
|
| 600 |
License: PSF-2
|
| 601 |
[LICENSE TEXT]
|
| 602 |
|
| 603 |
Files: debian/*
|
| 604 |
Copyright: 2008, Dan Developer <dan@debian.example.com>
|
| 605 |
License:
|
| 606 |
Copying and distribution of this package, with or without
|
| 607 |
modification, are permitted in any medium without royalty
|
| 608 |
provided the copyright notice and this notice are
|
| 609 |
preserved.
|
| 610 |
|
| 611 |
Files: debian/patches/theme-diveintomark.patch
|
| 612 |
Copyright: 2008, Joe Hacker <hack@example.org>
|
| 613 |
License: GPL-2+
|
| 614 |
[LICENSE TEXT]
|
| 615 |
|
| 616 |
Files: planet/vendor/compat_logging/*
|
| 617 |
Copyright: 2002, Mark Smith <msmith@example.org>
|
| 618 |
License: MIT
|
| 619 |
[LICENSE TEXT]
|
| 620 |
|
| 621 |
Files: planet/vendor/httplib2/*
|
| 622 |
Copyright: 2006, John Brown <brown@example.org>
|
| 623 |
License: MIT2
|
| 624 |
Unspecified MIT style license.
|
| 625 |
|
| 626 |
Files: planet/vendor/feedparser.py
|
| 627 |
Copyright: 2007, Mike Smith <mike@example.org>
|
| 628 |
License: PSF-2
|
| 629 |
[LICENSE TEXT]
|
| 630 |
|
| 631 |
Files: planet/vendor/htmltmpl.py
|
| 632 |
Copyright: 2004, Thomas Brown <coder@example.org>
|
| 633 |
License: GPL-2+
|
| 634 |
This program is free software; you can redistribute it
|
| 635 |
and/or modify it under the terms of the GNU General Public
|
| 636 |
License as published by the Free Software Foundation; either
|
| 637 |
version 2 of the License, or (at your option) any later
|
| 638 |
version.
|
| 639 |
.
|
| 640 |
This program is distributed in the hope that it will be
|
| 641 |
useful, but WITHOUT ANY WARRANTY; without even the implied
|
| 642 |
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
| 643 |
PURPOSE. See the GNU General Public License for more
|
| 644 |
details.
|
| 645 |
.
|
| 646 |
You should have received a copy of the GNU General Public
|
| 647 |
License along with this package; if not, write to the Free
|
| 648 |
Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
| 649 |
Boston, MA 02110-1301 USA
|
| 650 |
.
|
| 651 |
On Debian systems, the full text of the GNU General Public
|
| 652 |
License version 2 can be found in the file
|
| 653 |
`/usr/share/common-licenses/GPL-2'.
|
| 654 |
|
| 655 |
|
| 656 |
# Appendix: Note about the use of this format in Debian
|
| 657 |
|
| 658 |
The Debian Policy (§12.5) demands that each package is accompanied by a file,
|
| 659 |
`debian/copyright` in source packages and `/usr/share/doc/package/copyright` in
|
| 660 |
binary packages, that contains a verbatim copy of its copyright and
|
| 661 |
distribution license. In addition, it requires that copyrights must be
|
| 662 |
extractable by mechanical means. This proposal for machine-readable copyright
|
| 663 |
and license summary files has been crafted for Debian's use, but it is our hope
|
| 664 |
that other software distributions, as well as upstream developers will adopt
|
| 665 |
it, so that review efforts can be easily reproduced and shared.
|
| 666 |
|
| 667 |
The copyright of the Debian packaging and the history of package maintainers is
|
| 668 |
simply indicated in a **`Files: debian/*`** paragraph.
|
| 669 |
|