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