]> git.donarmstrong.com Git - debian/debian-policy.git/blob - copyright-format/copyright-format.xml
copyright-format: Fix syntax of examples.
[debian/debian-policy.git] / copyright-format / copyright-format.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <?xml-stylesheet type="text/xsl"
3         href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"?>
4
5 <!-- Process this file with an XSLT processor, e.g. xsltproc:    -->
6 <!-- `xsltproc \
7       -''-nonet \
8       1.0.xml'  -->
9
10 <!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
11                          'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
12
13 <article class="specification" status="draft" lang="en" id="copyright-format">
14   <articleinfo>
15     <title>
16       Machine-readable <filename>debian/copyright</filename> file.
17     </title>
18     <subtitle>Version 1.0</subtitle>
19     <legalnotice>
20       <para>
21         Copying and distribution of this file, with or without modification, are
22         permitted in any medium without royalty provided the copyright notice
23         and this notice are preserved.
24       </para>
25     </legalnotice>
26     <abstract>
27       <para>
28         This specification was drafted as <ulink
29         url="http://dep.debian.net/deps/dep5/">DEP-5</ulink>, to establish a
30         standard, machine-readable format for
31         <filename>debian/copyright</filename> files within packages and
32         facilitate automated checking and reporting of licenses for packages and
33         sets of packages.
34       </para>
35     </abstract>
36   </articleinfo>
37
38   <section id="introduction">
39     <title>Introduction</title>
40     <para>
41       This is a proposal to make <filename>debian/copyright</filename>
42       machine-interpretable.  This file is one of the most important files in
43       Debian packaging, yet there is currently no standard format defined for it
44       and its contents vary tremendously across packages, making it difficult to
45       automatically extract licensing information.
46     </para>
47     <para>
48       This is not a proposal to change the policy in the short term.  In
49       particular, nothing in this proposal supersedes or modifies any of the
50       requirements specified in Debian Policy regarding the appropriate detail
51       or granularity to use when documenting copyright and license status in
52       <filename>debian/copyright</filename>.
53     </para>
54   </section>
55
56   <section id="rationale">
57     <title>Rationale</title>
58     <para>
59       The diversity of free software licenses means that Debian needs to care
60       not only about the freeness of a given work, but also its license's
61       compatibility with the other parts of Debian it uses.
62     </para>
63     <para>
64       The arrival of the GPL version 3, its incompatibility with version 2, and
65       our inability to spot the software where the incompatibility might be
66       problematic is one prominent occurrence of this limitation.
67     </para>
68     <para>
69       There are earlier precedents, also. One is the GPL/OpenSSL
70       incompatibility.  Apart from grepping
71       <filename>debian/copyright</filename>, which is prone to numerous false
72       positives (packaging under the GPL but software under another license) or
73       negatives (GPL software but with an <quote>OpenSSL special
74       exception</quote> dual licensing form), there is no reliable way to know
75       which software in Debian might be problematic.
76     </para>
77     <para>
78       And there is more to come.  There are issues with shipping GPLv2-only
79       software with a CDDL operating system such as Nexenta. The GPL version 3
80       solves this issue, but not all GPL software can switch to it and we have
81       no way to know how much of Debian should be stripped from such a system.
82     </para>
83     <para>
84       A user might want to have a way to avoid software with certain licenses
85       they have a problem with, even if the licenses are DFSG-free. For example,
86       the Affero GPL.
87     </para>
88   </section>
89
90   <section id="acknowledgements">
91     <title>Acknowledgements</title>
92     <para>
93       Many people have worked on this specification over the years.  The
94       following alphabetical list is incomplete, please suggest missing people:
95       Russ Allbery,
96       Ben Finney,
97       Sam Hocevar,
98       Steve Langasek,
99       Charles Plessy,
100       Noah Slater,
101       Jonas Smedegaard,
102       Lars Wirzenius.
103     </para>
104   </section>
105
106   <section id="file-syntax">
107     <title>File syntax</title>
108     <para>
109       The <filename>debian/copyright</filename> file must be
110       machine-interpretable, yet human-readable, while communicating all
111       mandated upstream information, copyright notices and licensing details.
112     </para>
113     <para>
114       The syntax of the file is the same as for other Debian control files, as
115       specified in the Debian Policy Manual.  See its <ulink
116       url="http://www.debian.org/doc/debian-policy/ch-controlfields#s-controlsyntax">section
117       5.1</ulink> for details. Extra fields can be added to any paragraph.  No
118       prefixing is necessary or desired, but please avoid names similar to
119       standard ones so that mistakes are easier to catch.  Future versions of
120       the <filename>debian/copyright</filename> specification will attempt to
121       avoid conflicting specifications for widely used extra fields.
122     </para>
123     <para>
124       There are four kinds values for fields.  Each field specifies which kind
125       is allowed.
126     </para>
127
128     <section id="single-line">
129       <title>Single-line values</title>
130       <para>
131         A single-line value means that the whole value of a field must fit on a
132         single line.  For example, the <varname>Format</varname> field has a
133         single line value specifying the version of the machine-readable format
134         that is used.
135       </para>
136     </section>
137
138     <section id="white-space-lists">
139       <title>White space separated lists</title>
140       <para>
141         A white space separated list means that the field value may be on one
142         line or many, but values in the list are separated by one or more white
143         space characters (including space, TAB, and newline).  For example, the
144         <varname>Files</varname> field has a list of filename patterns.
145       </para>
146     </section>
147
148     <section id="line-based-lists">
149       <title>Line based lists</title>
150       <para>
151         Another kind of list value has one value per line. For example,
152         <varname>Copyright</varname> can list many copyright statements, one per
153         line.
154       </para>
155     </section>
156
157     <section id="formatted-text">
158       <title>Text formatted like package long descriptions</title>
159       <para>
160         Formatted text fields use the same rules as the long description in a
161         package's <varname>Description</varname> field, possibly also using the
162         first line  as a synopsis, like <varname>Description</varname> uses it
163         for the short description. See Debian Policy's section 5.6.13, <ulink
164         url="http://www.debian.org/doc/debian-policy/ch-controlfields#s-f-Description"><quote>Description</quote></ulink>,
165         for details.  For example, <varname>Disclaimer</varname> has no special
166         first line, whereas <varname>License</varname> does.
167       </para>
168     </section>
169   </section>
170
171   <section id="paragraphs">
172     <title>Paragraphs</title>
173     <para>
174       There are three kinds of paragraphs: the first one is called the
175       <link linkend="header-paragraph">header paragraph</link>.  Every other
176       paragraph is either a <link linkend="files-paragraph">Files</link>
177       paragraph or a <link linkend="stand-alone-license-paragraph">stand-alone
178       license</link> paragraph.  This is similar to source and binary package
179       paragraphs in <filename>debian/control</filename> files.
180     </para>
181
182     <section id="header-paragraph">
183       <title>Header paragraph (Once)</title>
184       <section id="format-header-field">
185         <title><varname>Format</varname></title>
186         <para>
187           Required single line: URI of the format specification, such as:
188           <literal>http://www.debian.org/doc/copyright-format/1.0</literal>
189         </para>
190       </section>
191
192       <section id="upstream-name-header-field">
193         <title><varname>Upstream-Name</varname></title>
194         <para>
195           Optional single line: the name upstream uses for the software
196         </para>
197       </section>
198
199       <section id="upstream-contact-header-field">
200         <title><varname>Upstream-Contact</varname></title>
201         <para>
202           Optional line based list: the preferred address(es) to reach the
203           upstream project.  May be free-form text, but by convention  will
204           usually be written as a list of RFC5322 addresses or URIs.
205         </para>
206       </section>
207
208       <section id="source-header-field">
209         <title><varname>Source</varname></title>
210         <para>
211           Optional formatted text, no synopsis: an explanation from where the
212           upstream source came from. Typically this would be a URL, but it might
213           be a free-form explanation.  The Debian Policy section <ulink
214           url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile">12.5</ulink>
215           requires this information unless there are no upstream sources, which
216           is mainly the case for native Debian packages. If the upstream source
217           has been modified to remove non-free parts, that should be explained
218           in this field.
219         </para>
220       </section>
221
222       <section id="disclaimer-header-field">
223         <title><varname>Disclaimer</varname></title>
224         <para>
225           Optional formatted text, no synopsis: this field can be used in the
226           case of non-free and contrib packages (see <ulink
227           url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile">12.5</ulink>)
228         </para>
229       </section>
230
231       <section id="comment-header-field">
232         <title><varname>Comment</varname></title>
233         <para>
234           Optional formatted text, no synopsis: this field can provide
235           additional information.  For example, it might quote an e-mail from
236           upstream justifying why the license is acceptable to the main archive,
237           or an explanation of how this version of the package has been forked
238           from a version known to be DFSG-free, even though the current upstream
239           version is not.
240         </para>
241       </section>
242
243       <section id="license-header-field">
244         <title><varname>License</varname></title>
245         <para>
246           Optional formatted text, with synopsis: in the header paragraph
247           (no <varname>Files</varname> specification), this field gives the
248           license information for the package as a whole, which may be different
249           or simplified from a combination of all the per-file license
250           information. <varname>License</varname> below in the <link
251           linkend="files-paragraph">Files paragraph</link> section.
252         </para>
253       </section>
254
255       <section id="copyright-header-field">
256         <title><varname>Copyright</varname></title>
257         <para>
258           Optional line based list: in the header paragraph (no
259           <varname>Files</varname> specification), this field gives the
260           copyright information for the package as a whole, which may be
261           different or simplified from a combination of all the per-file
262           copyright information.  See also <varname>Copyright</varname> below
263           in the <link linkend="files-paragraph">Files paragraph</link>
264           section.
265         </para>
266         <para>
267           The <varname>Copyright</varname> and <varname>License</varname> fields
268           in the <emphasis>header paragraph</emphasis> may complement but do not
269           replace the <emphasis>files paragraphs</emphasis>.  They can be used
270           to summarise the contributions and redistribution terms for the whole
271           package, for instance when a work combines a permissive and a copyleft
272           license, or to document a <emphasis>compilation copyright</emphasis>
273           and license.  It is possible to use only <varname>License</varname> in
274           the header paragraph, but <varname>Copyright</varname> alone makes no
275           sense.
276         </para>
277       </section>
278
279       <section id="example-header-paragraph">
280         <title>Example header paragraph</title>
281 <programlisting>Format: &lt;VERSIONED_FORMAT_URL&gt;
282 Upstream-Name: SOFTware
283 Upstream-Contact: John Doe &lt;john.doe@example.com&gt;
284 Source: http://www.example.com/software/project</programlisting>
285       </section>
286     </section>
287
288     <section id="files-paragraph">
289       <title>Files paragraph (Repeatable)</title>
290       <para>
291         The declaration of copyright and license for files is done in one or
292         more paragraphs.  In the simplest case, a single paragraph can be used
293         which applies to all files and lists all applicable copyrights and
294         licenses.
295       </para>
296
297       <section id="files-files-field">
298         <title><varname>Files</varname></title>
299         <para>
300           Required white space separated list: list of patterns indicating files
301           covered by the license and copyright specified in this paragraph.
302         </para>
303         <para>
304           Filename patterns in the <varname>Files</varname> field are specified
305           using a simplified shell glob syntax.  Patterns are separated by white
306           space.
307         <itemizedlist>
308           <listitem>
309             <para>
310               Only the wildcards <literal>*</literal> and <literal>?</literal>
311               apply; the former matches any number of characters (including
312               none), the latter a single character.  Both match a slash
313               (<literal>/</literal>) and a leading dot.
314             </para>
315           </listitem>
316           <listitem>
317             <para>
318               Patterns match pathnames that start at the root of the source
319               tree.  Thus, <quote><filename>Makefile.in</filename></quote>
320               matches only the file at the root of the tree, but
321               <quote><filename>*/Makefile.in</filename></quote> matches at any
322               depth.
323             </para>
324           </listitem>
325           <listitem>
326             <para>
327               The backslash (<literal>\</literal>) is used to remove the magic
328               from the next character; see table below.
329             </para>
330           </listitem>
331         </itemizedlist>
332         <informaltable>
333           <tgroup cols="2">
334             <thead>
335               <row>
336                 <entry>Escape sequence</entry>
337                 <entry>Matches</entry>
338               </row>
339             </thead>
340             <tbody>
341               <row>
342                 <entry><literal>\*</literal></entry>
343                 <entry>star (asterisk)</entry>
344               </row>
345               <row>
346                 <entry><literal>\?</literal></entry>
347                 <entry>question mark</entry>
348               </row>
349               <row>
350                 <entry><literal>\\</literal></entry>
351                 <entry>backslash</entry>
352               </row>
353             </tbody>
354           </tgroup>
355         </informaltable>
356         Any other character following a backslash is an error.
357       </para>
358       <para>
359         Multiple <varname>Files</varname> paragraphs are allowed.  The last
360         paragraph that matches a particular file applies to it.
361       </para>
362       <para>
363         Exclusions are done by having multiple <varname>Files</varname>
364         paragraphs.
365       </para>
366       </section>
367
368       <section id="copyright-files-field">
369         <title><varname>Copyright</varname></title>
370         <para>
371           Required line based list: one or more free-form copyright
372           statement(s), one per line, that apply to the files matched by the
373           above pattern.  If a work has no copyright holder (i.e., it is in
374           the public domain), that information should be recorded here.
375         </para>
376         <para>
377           The <varname>Copyright</varname> field collects all relevant copyright
378           notices for the files of this paragraph.  Not all copyright notices
379           may apply to every individual file, and years of publication for one
380           copyright holder may be gathered together.  For example, if file A
381           has:
382 <programlisting>Copyright 2008 John Smith
383 Copyright 2009 Angela Watts</programlisting>
384           and file B has:
385 <programlisting>Copyright 2010 Angela Watts</programlisting>
386           the <varname>Copyright</varname> field for a stanza
387           covering both file A and file B need contain only:
388 <programlisting>Copyright 2008 John Smith
389 Copyright 2009, 2010 Angela Watts</programlisting>
390         </para>
391         <para>
392           The <varname>Copyright</varname> field may contain the original
393           copyright statement copied exactly (including the word
394           <quote>Copyright</quote>), or it can shorten the text, as long
395           as it does not sacrifice information.  Examples in this specification
396           use both forms.
397         </para>
398       </section>
399
400       <section id="license-files-field">
401         <title><varname>License</varname></title>
402         <para>
403           Required formatted text, with synopsis: licensing terms for the files
404           listed in <varname>Files</varname> field for this paragraph.
405         </para>
406         <para>
407           First line: an abbreviated name for the license, or expression
408           giving alternatives (see <link linkend="license-short-name">Short
409           names</link> section for a list of standard abbreviations).  If there
410           are licenses present in the package without a standard short name, an
411           arbitrary short name may be assigned for these licenses.  These
412           arbitrary names are only guaranteed to be unique within a single
413           copyright file.
414         </para>
415         <para>
416           Remaining lines: if left blank here, the file
417           <emphasis>must</emphasis> include a stand-alone
418           <varname>License</varname> paragraph matching each license short
419           name listed on the first line (see the <link
420           linkend="stand-alone-license-paragraph">Standalone License
421           Paragraph</link> section).  Otherwise, this field should either
422           include the full text of the license(s) or include a pointer to the
423           license file under <filename>/usr/share/common-licenses</filename>.
424           This field should include all text needed in order to fulfill both
425           Debian Policy's requirement for including a copy of the software's
426           distribution license (<ulink
427           url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile">12.5</ulink>),
428           and any license requirements to include warranty disclaimers or other
429           notices with the binary package.
430         </para>
431       </section>
432
433       <section id="comment-files-field">
434         <title><varname>Comment</varname></title>
435         <para>
436           Same as the <link linkend="comment-header-field">
437           <varname>Comment</varname></link> field in the header paragraph.
438         </para>
439       </section>
440
441       <section id="example-files-paragraph">
442         <title>Example files paragraphs</title>
443 <programlisting>Files: *
444 Copyright: 1975-2010 Ulla Upstream
445 License: GPL-2+
446
447 Files: debian/*
448 Copyright: 2010 Daniela Debianizer
449 License: GPL-2+
450
451 Files: debian/patches/fancy-feature
452 Copyright: 2010 Daniela Debianizer
453 License: GPL-3+
454
455 Files: */*.1
456 Copyright: 2010 Manuela Manpager
457 License: GPL-2+</programlisting>
458         <para>
459           In this example, all files are copyright by the upstream and licensed
460           under the GPL, version 2 or later, with three exceptions.  All the
461           Debian packaging files are copyright by the packager, and further one
462           specific file providing a new feature is licensed differently.
463           Finally, there are some manual pages added to the package, written by
464           a third person.
465         </para>
466       </section>
467     </section>
468
469     <section id="stand-alone-license-paragraph">
470       <title>Standalone License Paragraph (Optional, Repeatable)</title>
471       <para>
472         Where a set of files are dual (tri, etc) licensed, or when the same
473         license occurs multiple times, you can use a single line
474         <varname>License</varname> field and standalone
475         <varname>License</varname> paragraphs to expand the license short names.
476       </para>
477       <example>
478         <title>tri-licensed files</title>
479 <programlisting>Files: src/js/editline/*
480 Copyright: 1993, John Doe
481            1993, Joe Average
482 License: MPL-1.1 or GPL-2 or LGPL-2.1
483
484 License: MPL-1.1
485  [LICENSE TEXT]
486
487 License: GPL-2
488  [LICENSE TEXT]
489
490 License: LGPL-2.1
491  [LICENSE TEXT]</programlisting>
492       </example>
493
494       <example>
495         <title>recurrent license</title>
496 <programlisting>Files: src/js/editline/*
497 Copyright: 1993, John Doe
498            1993, Joe Average
499 License: MPL-1.1
500
501 Files: src/js/fdlibm/*
502 Copyright: 1993, J-Random Corporation
503 License: MPL-1.1
504
505 License: MPL-1.1
506  [LICENSE TEXT]</programlisting>
507       </example>
508     </section>
509   </section>
510
511   <section id="license-specification">
512     <title>License specification</title>
513
514     <section id="license-short-name">
515       <title>Short name</title>
516       <para>
517         Much of the value of a machine-parseable copyright file lies in being
518         able to correlate the licenses of multiple pieces of software.  To that
519         end, this spec defines standard short names for a number of commonly
520         used licenses, which can be used in the first line of a
521         <varname>License</varname> field.
522       </para>
523       <para>
524         These short names have the specified meanings across all uses of this
525         file format, and <emphasis>must not</emphasis> be used to refer to any
526         other licenses.  Parsers may thus rely on these short names referring to
527         the same licenses wherever they occur, without needing to parse or
528         compare the full license text.
529       </para>
530       <para>
531         From time to time, licenses may be added to or removed from the list of
532         standard short names.  Such changes in the list of short names will
533         always be accompanied by changes to the recommended
534         <varname>Format</varname> value. Implementers who are parsing copyright
535         files should take care not to assume anything about the meaning of
536         license short names for unknown <varname>Format</varname> versions.
537       </para>
538       <para>
539         Use of a standard short name does not override the Debian Policy
540         requirement to include the full license text in
541         <filename>debian/copyright</filename>, nor any requirements in the
542         license of the work regarding reproduction of legal notices.  This
543         information must still be included in the <varname>License</varname>
544         field, either in a stand-alone license paragraph or in the relevant
545         files paragraph.
546       </para>
547       <para>
548         For licenses which have multiple versions in use, the version number is
549         added, using a dash as a separator. If omitted, the lowest version
550         number is implied. When the license grant permits using the terms of any
551         later version of that license, the short name is finished with a plus
552         sign. For <link linkend="spdx">SPDX</link> compatibility, trailing
553         <emphasis>dot-zeroes</emphasis> are considered to be equal to plainer
554         version (e.g., <quote>2.0.0</quote> is considered equal to
555         <quote>2.0</quote> and <quote>2</quote>).
556       </para>
557       <para>
558         Currently, the full text of the licenses is only available in the <ulink
559         url="http://spdx.org/licenses">SPDX Open Source License Registry</ulink>.
560       </para>
561       <informaltable>
562         <tgroup cols="2">
563           <thead>
564             <row>
565               <entry>Keyword</entry>
566               <entry>Meaning</entry>
567             </row>
568           </thead>
569           <tbody>
570             <row>
571               <entry>public-domain</entry>
572               <entry>
573                 No license required for any purpose; the work is not subject to
574                 copyright in any jurisdiction.
575               </entry>
576             </row>
577             <row>
578               <entry>
579                 Apache
580               </entry>
581               <entry>
582                 Apache license
583                 <ulink url="http://spdx.org/licenses/ASL-1.0">1.0</ulink>,
584                 <ulink url="http://spdx.org/licenses/ASL-2.0">2.0</ulink>.
585               </entry>
586             </row>
587             <row>
588               <entry>
589                 Artistic
590               </entry>
591               <entry>
592                 Artistic license
593                 <ulink url="http://spdx.org/licenses/Artistic-1.0">1.0</ulink>,
594                 <ulink url="http://spdx.org/licenses/Artistic-2.0">2.0</ulink>.
595               </entry>
596             </row>
597             <row>
598               <entry>
599                 BSD-2-clause
600               </entry>
601               <entry>
602                 Berkeley software distribution license,
603                 <ulink url="http://spdx.org/licenses/BSD-2-Clause">2-clause
604                 version</ulink>.
605               </entry>
606             </row>
607             <row>
608               <entry>
609                 BSD-3-clause
610               </entry>
611               <entry>
612                 Berkeley software distribution license,
613                 <ulink url="http://spdx.org/licenses/BSD-3-Clause">3-clause
614                 version</ulink>.
615               </entry>
616             </row>
617             <row>
618               <entry>
619                 BSD-4-clause
620               </entry>
621               <entry>
622                 Berkeley software distribution license,
623                 <ulink url="http://spdx.org/licenses/BSD-4-Clause">4-clause
624                 version</ulink>.
625               </entry>
626             </row>
627             <row>
628               <entry>
629                 ISC
630               </entry>
631               <entry>
632                 <ulink url="http://spdx.org/licenses/ISC">Internet Software
633                 Consortium</ulink>, sometimes also known as the OpenBSD License.
634               </entry>
635             </row>
636             <row>
637               <entry>
638                 CC-BY
639               </entry>
640               <entry>
641                 Creative Commons Attribution license
642                 <ulink url="http://spdx.org/licenses/CC-BY-1.0">1.0</ulink>,
643                 <ulink url="http://spdx.org/licenses/CC-BY-2.0">2.0</ulink>,
644                 <ulink url="http://spdx.org/licenses/CC-BY-2.5">2.5</ulink>,
645                 <ulink url="http://spdx.org/licenses/CC-BY-3.0">3.0</ulink>.
646               </entry>
647             </row>
648             <row>
649               <entry>
650                 CC-BY-SA
651               </entry>
652               <entry>
653                 Creative Commons Attribution Share Alike license
654                 <ulink url="http://spdx.org/licenses/CC-BY-SA-1.0">1.0</ulink>,
655                 <ulink url="http://spdx.org/licenses/CC-BY-SA-2.0">2.0</ulink>,
656                 <ulink url="http://spdx.org/licenses/CC-BY-SA-2.5">2.5</ulink>,
657                 <ulink url="http://spdx.org/licenses/CC-BY-SA-3.0">3.0</ulink>.
658               </entry>
659             </row>
660             <row>
661               <entry>
662                 CC-BY-ND
663               </entry>
664               <entry>
665                 Creative Commons Attribution No Derivatives license
666                 <ulink url="http://spdx.org/licenses/CC-BY-ND-1.0">1.0</ulink>,
667                 <ulink url="http://spdx.org/licenses/CC-BY-ND-2.0">2.0</ulink>,
668                 <ulink url="http://spdx.org/licenses/CC-BY-ND-2.5">2.5</ulink>,
669                 <ulink url="http://spdx.org/licenses/CC-BY-ND-3.0">3.0</ulink>.
670               </entry>
671             </row>
672             <row>
673               <entry>
674                 CC-BY-NC
675               </entry>
676               <entry>
677                 Creative Commons Attribution Non-Commercial license
678                 <ulink url="http://spdx.org/licenses/CC-BY-NC-1.0">1.0</ulink>,
679                 <ulink url="http://spdx.org/licenses/CC-BY-NC-2.0">2.0</ulink>,
680                 <ulink url="http://spdx.org/licenses/CC-BY-NC-2.5">2.5</ulink>,
681                 <ulink url="http://spdx.org/licenses/CC-BY-NC-3.0">3.0</ulink>.
682               </entry>
683             </row>
684             <row>
685               <entry>
686                 CC-BY-NC-SA
687               </entry>
688               <entry>
689                 Creative Commons Attribution Non-Commercial Share Alike license
690                 <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-1.0">1.0</ulink>,
691                 <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-2.0">2.0</ulink>,
692                 <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-2.5">2.5</ulink>,
693                 <ulink url="http://spdx.org/licenses/CC-BY-NC-SA-3.0">3.0</ulink>.
694               </entry>
695             </row>
696             <row>
697               <entry>
698                 CC-BY-NC-ND
699               </entry>
700               <entry>
701                 Creative Commons Attribution Non-Commercial No Derivatives license
702                 <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-1.0">1.0</ulink>,
703                 <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-2.0">2.0</ulink>,
704                 <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-2.5">2.5</ulink>,
705                 <ulink url="http://spdx.org/licenses/CC-BY-NC-ND-3.0">3.0</ulink>.
706               </entry>
707             </row>
708             <row>
709               <entry>
710                 CC0
711               </entry>
712               <entry>
713                 Creative Commons <ulink
714                 url="http://creativecommons.org/license/zero/">Universal
715                 waiver</ulink>.
716               </entry>
717             </row>
718             <row>
719               <entry>
720                 CDDL
721               </entry>
722               <entry>
723                 <ulink url="http://spdx.org/licenses/CDDL">Common Development
724                 and Distribution License</ulink>.
725               </entry>
726             </row>
727             <row>
728               <entry>
729                 CPL
730               </entry>
731               <entry>
732                 <ulink url="http://spdx.org/licenses/CPL-1.0">IBM Common Public
733                 License</ulink>.
734               </entry>
735             </row>
736             <row>
737               <entry>
738                 EFL
739               </entry>
740               <entry>
741                 The Eiffel Forum License
742                 <ulink url="http://spdx.org/licenses/EFL-1.0">1.0</ulink>,
743                 <ulink url="http://spdx.org/licenses/EFL-2.0">2.0</ulink>.
744               </entry>
745             </row>
746             <row>
747               <entry>
748                 Expat
749               </entry>
750               <entry>
751                 The <ulink url="http://www.jclark.com/xml/copying.txt">Expat</ulink>
752                 license.
753               </entry>
754             </row>
755             <row>
756               <entry>
757                 GPL
758               </entry>
759               <entry>
760                 GNU General Public License
761                 <ulink url="http://spdx.org/licenses/GPL-1.0">1.0</ulink>,
762                 <ulink url="http://spdx.org/licenses/GPL-2.0">2.0</ulink>,
763                 <ulink url="http://spdx.org/licenses/GPL-3.0">3.0</ulink>.
764               </entry>
765             </row>
766             <row>
767               <entry>
768                 LGPL
769               </entry>
770               <entry>
771                 GNU Lesser General Public License
772                 <ulink url="http://spdx.org/licenses/LGPL-2.1">2.1</ulink>,
773                 <ulink url="http://spdx.org/licenses/LGPL-3.0">3.0</ulink>, or
774                 GNU Library General Public License
775                 <ulink url="http://spdx.org/licenses/LGPL-1.0">1.0</ulink>,
776                 <ulink url="http://spdx.org/licenses/LGPL-2.0">2.0</ulink>.
777               </entry>
778             </row>
779             <row>
780               <entry>
781                 GFDL
782               </entry>
783               <entry>
784                 <ulink url="http://spdx.org/licenses/FDL-1.0">GNU Free
785                 Documentation License</ulink>.
786               </entry>
787             </row>
788             <row>
789               <entry>
790                 GFDL-NIV
791               </entry>
792               <entry>
793                 GNU Free Documentation License, with no invariant sections.
794               </entry>
795             </row>
796             <row>
797               <entry>
798                 LPPL
799               </entry>
800               <entry>
801                 <ulink url="http://www.latex-project.org/lppl/">LaTeX Project
802                 Public License</ulink>
803                 <ulink url="http://spdx.org/licenses/LPPL-1.0">1.0</ulink>,
804                 <ulink url="http://spdx.org/licenses/LPPL-1.1">1.1</ulink>,
805                 <ulink url="http://spdx.org/licenses/LPPL-1.2">1.2</ulink>,
806                 <ulink url="http://spdx.org/licenses/LPPL-1.3c">1.3c</ulink>.
807               </entry>
808             </row>
809             <row>
810               <entry>
811                 MPL
812               </entry>
813               <entry>
814                 Mozilla Public License
815                 <ulink url="http://spdx.org/licenses/MPL-1.1">1.1</ulink>.
816               </entry>
817             </row>
818             <row>
819               <entry>
820                 Perl
821               </entry>
822               <entry>
823                 <ulink url="http://dev.perl.org/licenses/">Perl</ulink> license
824                 (use <quote><literal>GPL-1+ or Artistic-1</literal></quote>
825                 instead).
826               </entry>
827             </row>
828             <row>
829               <entry>
830                 Python-CNRI
831               </entry>
832               <entry>
833                 <ulink url="http://spdx.org/licenses/Python-CNRI">Python
834                 license</ulink>.
835               </entry>
836             </row>
837             <row>
838               <entry>
839                 QPL
840               </entry>
841               <entry>
842                 Q Public License <ulink
843                 url="http://spdx.org/licenses/QPL-1.0">1.0</ulink>.
844               </entry>
845             </row>
846             <row>
847               <entry>
848                 W3C
849               </entry>
850               <entry>
851                 <ulink url="http://spdx.org/licenses/W3C">W3C Software
852                 License</ulink> For more information, consult the
853                 <ulink
854                 url="http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620">W3C
855                 Intellectual Rights FAQ</ulink>.
856               </entry>
857             </row>
858             <row>
859               <entry>
860                 Zlib
861               </entry>
862               <entry>
863                 <ulink url="http://spdx.org/licenses/Zlib">
864                 zlib/libpng license</ulink>.
865               </entry>
866             </row>
867             <row>
868               <entry>
869                 Zope
870               </entry>
871               <entry>
872                 Zope Public License
873                   <ulink url="http://spdx.org/licenses/ZPL-1.0">1.0</ulink>,
874                   <ulink url="http://spdx.org/licenses/ZPL-2.0">2.0</ulink>,
875                   <ulink url="http://spdx.org/licenses/ZPL-2.1">2.1</ulink>.
876               </entry>
877             </row>
878           </tbody>
879         </tgroup>
880       </informaltable>
881       <para>
882         There are <ulink
883         url="http://en.wikipedia.org/wiki/MIT_License#Various_versions">many
884         versions of the MIT license</ulink>. Please use Expat instead, when it
885         matches.
886       </para>
887       <para>
888         An exception or clarification to a license is signaled in plain text, by appending
889         <literal>with <varname><replaceable>keywords</replaceable></varname>
890         exception</literal> to the short name.  This document provides a list of
891         keywords that must be used when referring to the most frequent
892         exceptions.  When exceptions other than these are in effect that modify
893         a common license by granting additional permissions, you may use an
894         arbitrary keyword not taken from the below list of keywords.  When a
895         license differs from a common license because of added restrictions
896         rather than because of added permissions, a distinct short name should
897         be used instead of <literal>with
898         <varname><replaceable>keywords</replaceable></varname>exception</literal>.
899       </para>
900       <para>
901         Only one exception may be specified for each license within a given
902         license specification.  If more than one exception applies to a single
903         license, an arbitrary short name must be used instead.
904       </para>
905       <para>
906         The GPL <literal>Font</literal> exception refers to the text added to the
907         license notice of each file as specified at <ulink
908         url="http://www.gnu.org/licenses/gpl-faq#FontException">How does the GPL
909         apply to fonts</ulink>.  The precise text corresponding to this
910         exception is:
911 <programlisting>As a special exception, if you create a document which uses this font,
912 and embed this font or unaltered portions of this font into the
913 document, this font does not by itself cause the resulting document to
914 be covered by the GNU General Public License. This exception does not
915 however invalidate any other reasons why the document might be covered
916 by the GNU General Public License. If you modify this font, you may
917 extend this exception to your version of the font, but you are not
918 obligated to do so. If you do not wish to do so, delete this exception
919 statement from your version.</programlisting>
920         </para>
921         <para>
922           The GPL <literal>OpenSSL</literal> exception gives permission to link GPL-licensed
923 code with the OpenSSL library, which contains GPL-incompatible clauses.
924 For more information, see <ulink
925 url="http://www.gnome.org/~markmc/openssl-and-the-gpl">The -OpenSSL License and
926 The GPL</ulink> by Mark
927 McLoughlin and the message <ulink
928 url="http://lists.debian.org/debian-legal/2004/05/msg00595.html">middleman
929 software license conflicts with OpenSSL</ulink>
930 by Mark McLoughlin on the <emphasis>debian-legal</emphasis> mailing list.  The text corresponding
931 to this exception is:
932 <programlisting>In addition, as a special exception, the copyright holders give
933 permission to link the code of portions of this program with the
934 OpenSSL library under certain conditions as described in each
935 individual source file, and distribute linked combinations including
936 the two.
937
938 You must obey the GNU General Public License in all respects for all
939 of the code used other than OpenSSL. If you modify file(s) with this
940 exception, you may extend this exception to your version of the
941 file(s), but you are not obligated to do so. If you do not wish to do
942 so, delete this exception statement from your version. If you delete
943 this exception statement from all source files in the program, then
944 also delete it here.</programlisting>
945         </para>
946
947         <section id="public-domain">
948           <title>Public domain</title>
949           <para>
950             The <varname>License</varname> short name
951             <literal>public-domain</literal> does not refer to a set of license
952             terms. There are some works which are not subject to copyright in
953             any jurisdiction and therefore no license is required for any
954             purpose covered by copyright law. This short name is an explicit
955             declaration that the associated files are <quote>in the public
956             domain</quote>.
957           </para>
958           <para>
959             Widespread misunderstanding about copyright in general, and the
960             public domain in particular, results in the common assertion that a
961             work is in the public domain when this is partly or wholly untrue
962             for that work. The <ulink
963             url="http://en.wikipedia.org/wiki/Public_domain">Wikipedia article
964             on public domain</ulink> is a useful reference for this subject.
965           </para>
966           <para>
967             When the <varname>License</varname> field in a paragraph has the
968             short name <literal>public-domain</literal>, the remaining lines of
969             the field <emphasis>must</emphasis> explain exactly what exemption
970             the corresponding files for that paragraph have from default
971             copyright restrictions.
972         </para>
973       </section>
974     </section>
975
976     <section id="license-syntax">
977       <title>Syntax</title>
978       <para>
979         License names are case-insensitive, and may not contain spaces.
980       </para>
981       <para>
982         In case of multi-licensing, the license short names are separated by
983         <literal>or</literal> when the user can chose between different licenses,
984         and by <literal>and</literal> when use of the work must simultaneously
985         comply with the terms of multiple licenses.
986       </para>
987       <para>
988         For instance, this is a simple, <quote>GPL version 2 or later</quote>
989         field:
990 <programlisting>License: GPL-2+</programlisting>
991         This is a dual-licensed GPL/Artistic work such as Perl:
992 <programlisting>License: GPL-1+ or Artistic</programlisting>
993         This is for a file that has both GPL and classic BSD code in it:
994 <programlisting>License: GPL-2+ and BSD</programlisting>
995         For the most complex cases, the comma is used to disambiguate the
996         priority of <literal>or</literal>s and <literal>and</literal>s
997         <literal>and</literal> has the priority over <literal>or</literal>,
998         unless preceded by a comma. For instance:
999       </para>
1000       <simpara>
1001         <literal>A or B and C</literal> means <literal>A or (B and C)</literal>.
1002       </simpara>
1003       <simpara>
1004         <literal>A or B, and C</literal> means <literal>(A or B), and
1005         C</literal>.
1006       </simpara>
1007       <para>
1008         This is for a file that has Perl code and classic BSD code in it:
1009 <programlisting>License: GPL-2+ or Artistic-2.0, and BSD</programlisting>
1010         A <literal>GPL-2+</literal> work with the <literal>OpenSSL</literal>
1011         exception is in effect a dual-licensed work that can be redistributed
1012         either under the <literal>GPL-2+</literal>, or under the
1013         <literal>GPL-2+</literal> with the <literal>OpenSSL</literal> exception.
1014         It is thus expressed as <literal>GPL-2+ with OpenSSL
1015         exception</literal>:
1016 <programlisting>License: GPL-2+ with OpenSSL exception
1017  This program is free software; you can redistribute it
1018  and/or modify it under the terms of the GNU General Public
1019  License as published by the Free Software Foundation; either
1020  version 2 of the License, or (at your option) any later
1021  version.
1022  .
1023  In addition, as a special exception, the author of this
1024  program gives permission to link the code of its
1025  release with the OpenSSL project's "OpenSSL" library (or
1026  with modified versions of it that use the same license as
1027  the "OpenSSL" library), and distribute the linked
1028  executables. You must obey the GNU General Public
1029  License in all respects for all of the code used other
1030  than "OpenSSL".  If you modify this file, you may extend
1031  this exception to your version of the file, but you are
1032  not obligated to do so.  If you do not wish to do so,
1033  delete this exception statement from your version.
1034  .
1035  This program is distributed in the hope that it will be
1036  useful, but WITHOUT ANY WARRANTY; without even the implied
1037  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1038  PURPOSE.  See the GNU General Public License for more
1039  details.
1040  .
1041  You should have received a copy of the GNU General Public
1042  License along with this package; if not, write to the Free
1043  Software Foundation, Inc., 51 Franklin St, Fifth Floor,
1044  Boston, MA  02110-1301 USA
1045  .
1046  On Debian systems, the full text of the GNU General Public
1047  License version 2 can be found in the file
1048  `/usr/share/common-licenses/GPL-2'.</programlisting>
1049        </para>
1050      </section>
1051
1052     <section id="spdx">
1053       <title>SPDX</title>
1054       <para>
1055         <ulink url="http://spdx.org/">SPDX</ulink> is an attempt to standardize
1056         a format for communicating the components, licenses and copyrights
1057         associated with a software package. It and the machine-readable
1058         <filename>debian/copyright</filename> format attempt to be somewhat
1059         compatible. However, the two formats have different aims, and so the
1060         formats are different. The <ulink
1061         url="http://wiki.debian.org/Proposals/CopyrightFormat">DEP5 wiki
1062         page</ulink> will be used to track the differences.
1063       </para>
1064     </section>
1065   </section>
1066
1067   <section id="examples">
1068     <title>Examples</title>
1069     <example>
1070       <title>Simple</title>
1071       <para>
1072         A possible <filename>debian/copyright</filename> file for the program
1073         <quote>X Solitaire</quote> distributed in the Debian source package
1074         <literal>xsol</literal>:
1075 <programlisting><![CDATA[Format: <VERSIONED_FORMAT_URL>
1076 Upstream-Name: X Solitaire
1077 Source: ftp://ftp.example.com/pub/games
1078
1079 Files: *
1080 Copyright: Copyright 1998 John Doe <jdoe@example.com>
1081 License: GPL-2+
1082  This program is free software; you can redistribute it
1083  and/or modify it under the terms of the GNU General Public
1084  License as published by the Free Software Foundation; either
1085  version 2 of the License, or (at your option) any later
1086  version.
1087  .
1088  This program is distributed in the hope that it will be
1089  useful, but WITHOUT ANY WARRANTY; without even the implied
1090  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1091  PURPOSE.  See the GNU General Public License for more
1092  details.
1093  .
1094  You should have received a copy of the GNU General Public
1095  License along with this package; if not, write to the Free
1096  Software Foundation, Inc., 51 Franklin St, Fifth Floor,
1097  Boston, MA  02110-1301 USA
1098  .
1099  On Debian systems, the full text of the GNU General Public
1100  License version 2 can be found in the file
1101  `/usr/share/common-licenses/GPL-2'.
1102
1103 Files: debian/*
1104 Copyright: Copyright 1998 Jane Smith <jsmith@example.net>
1105 License: GPL-2+
1106  [LICENSE TEXT]]]></programlisting>
1107       </para>
1108     </example>
1109
1110     <example>
1111       <title>Complex</title>
1112       <para>
1113         A possible <filename>debian/copyright</filename> file for the program
1114         <quote>Planet Venus</quote>, distributed in the Debian source
1115         package <literal>planet-venus</literal>:
1116 <programlisting><![CDATA[Format: <VERSIONED_FORMAT_URL>
1117 Upstream-Name: Planet Venus
1118 Upstream-Contact: John Doe <jdoe@example.com>
1119 Source: http://www.example.com/code/venus
1120
1121 Files: *
1122 Copyright: 2008, John Doe <jdoe@example.com>
1123            2007, Jane Smith <jsmith@example.org>
1124            2007, Joe Average <joe@example.org>
1125            2007, J. Random User <jr@users.example.com>
1126 License: PSF-2
1127  [LICENSE TEXT]
1128
1129 Files: debian/*
1130 Copyright: 2008, Dan Developer <dan@debian.example.com>
1131 License: permissive
1132  Copying and distribution of this package, with or without
1133  modification, are permitted in any medium without royalty
1134  provided the copyright notice and this notice are
1135  preserved.
1136
1137 Files: debian/patches/theme-diveintomark.patch
1138 Copyright: 2008, Joe Hacker <hack@example.org>
1139 License: GPL-2+
1140  [LICENSE TEXT]
1141
1142 Files: planet/vendor/compat_logging/*
1143 Copyright: 2002, Mark Smith <msmith@example.org>
1144 License: MIT
1145  [LICENSE TEXT]
1146
1147 Files: planet/vendor/httplib2/*
1148 Copyright: 2006, John Brown <brown@example.org>
1149 License: MIT2
1150  Unspecified MIT style license.
1151
1152 Files: planet/vendor/feedparser.py
1153 Copyright: 2007, Mike Smith <mike@example.org>
1154 License: PSF-2
1155  [LICENSE TEXT]
1156
1157 Files: planet/vendor/htmltmpl.py
1158 Copyright: 2004, Thomas Brown <coder@example.org>
1159 License: GPL-2+
1160  This program is free software; you can redistribute it
1161  and/or modify it under the terms of the GNU General Public
1162  License as published by the Free Software Foundation; either
1163  version 2 of the License, or (at your option) any later
1164  version.
1165  .
1166  This program is distributed in the hope that it will be
1167  useful, but WITHOUT ANY WARRANTY; without even the implied
1168  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
1169  PURPOSE.  See the GNU General Public License for more
1170  details.
1171  .
1172  You should have received a copy of the GNU General Public
1173  License along with this package; if not, write to the Free
1174  Software Foundation, Inc., 51 Franklin St, Fifth Floor,
1175  Boston, MA  02110-1301 USA
1176  .
1177  On Debian systems, the full text of the GNU General Public
1178  License version 2 can be found in the file
1179  `/usr/share/common-licenses/GPL-2'.]]></programlisting>
1180       </para>
1181     </example>
1182   </section>
1183
1184 </article>