[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#649530: [copyright-format] clearer definitions and more consistent License: stanza specification



Updated patch to apply against recent changes made by plessy - attached version
applies against r274 in SVN (Sat 11 Feb 2012 12:44:26 GMT).

Is there somewhere else you guys are discussing this? Some other mailing list,
or an IRC channel?

Thanks,
Ximin

On 03/02/12 10:53, Ximin Luo wrote:
> On 03/02/12 01:39, Charles Plessy wrote:
>> Dear Ximin,
>>
>> the patch you proposed moves a lot of text without changing it, which makes it
>> difficult to review.  Moreover, I think that there is a long-standing consensus
>> to not change the normative parts of this format unless unavoidable.
>>
>> I have refrained from commenting until you pinged the bug, because I know that
>> it is faster to write negative comments, and I wanted to give a chance to
>> others to write supportive comments first.  However, no feedback came.  For me
>> it underlines that the patch you sent is not creating consensus or enthousiasm.
>>
>> Every Debian developers have write access to the DEP Subversion repository, but
>> the purpose is to let all DDs create new DEPs.  For modifications of the drafts
>> there needs consensus.  At the current point, I strongly object to changes that
>> will invalidate existing Debian copyright files, and I strongly suggest to stop
>> perfecting the document unless there is a general agreement that some parts are
>> too difficult to understand.  Seeing many people doing the same mistake is
>> usually a good metric for this.
>>
>> In our case, while it can be debated what is optimal to put or not put in
>> stand-alone license files, the Debian copyright files following the current
>> version of the specification already fit well their purpose.  Let's defer
>> further complifications – or simplifications – to future releases.
>>
>> Have a nice day,
>>
> 
> The patch *does not invalidate* existing copyright files. It moves (iirc) only
> two sections, and I wrote a quite lengthy explanation of all of the changes.
> 
> It is not "perfecting the document", it's addressing the core problem of this
> bug. It's really not that significant a change.
> 
> "Seeing many people doing the same mistake" - have you actually done a study of
> this or are you just assuming "nobody filed a bug therefore there's no problem"?
> 
> Well, *I* filed *this* bug, and it's based on *real experience* in trying to
> use this specification. Some parts suck, parts which most maintainers probably
> wouldn't come across because licenses generally aren't as complex as "MPL-1.1
> or GPL-2+ or LGPL-2.1+".
> 
> Do you have some specific comments about the contents of the patch? It should
> not take more than about 10 minutes to skim over, to see that I haven't done
> anything completely insane. Then, after this initial investment, it shouldn't
> be that hard to see whether the details are watertight or not. I should think
> my language is pretty straightforward.
> 
> X
> 
> P.S. have a look at "about:license" in a mozilla browser, which does exactly
> what I'm trying to get this specification to allow - i.e. quote "GPL-2"
> verbatim, rather than "GPL-2+" verbatim (since that is NOT A LICENSE).
> 


-- 
GPG: 4096R/5FBBDBCE
https://github.com/infinity0
https://bitbucket.org/infinity0
https://launchpad.net/~infinity0
diff --git a/web/deps/dep5/copyright-format.xml b/web/deps/dep5/copyright-format.xml
index 35812b6..6f0ec4f 100644
--- a/web/deps/dep5/copyright-format.xml
+++ b/web/deps/dep5/copyright-format.xml
@@ -354,7 +354,7 @@ License: GPL-2+</programlisting>
 <programlisting>Files: src/js/editline/*
 Copyright: 1993, John Doe
            1993, Joe Average
-License: MPL-1.1 or GPL-2 or LGPL-2.1
+License: MPL-1.1 or GPL-2+ or LGPL-2.1+
 
 License: MPL-1.1
  [LICENSE TEXT]
@@ -452,37 +452,48 @@ License: MPL-1.1
     <section id="license-field">
       <title><varname>License</varname></title>
       <para>
-        Formatted text, with synopsis.  In the header paragraph, this field
-        gives the license information for the package as a whole, which may
-        be different or simplified from a combination of all the per-file
-        license information.  In a Files paragraph, this field gives the
-        licensing terms for the files listed in the <varname>Files</varname>
-        field for this paragraph.  In a standalone License paragraph, it
-        gives the licensing terms for those paragraphs which reference it.
-      </para>
-      <para>
-        First line: an abbreviated name for the license, or expression
-        giving alternatives (see <link linkend="license-short-name">Short
-        names</link> section for a list of standard abbreviations).  If
-        there are licenses present in the package without a standard short
-        name, an arbitrary short name may be assigned for these licenses. 
+        Formatted text, with synopsis in the form of a <link linkend="license-syntax">license expression</link>.
+        If there are licenses present in the package without a standard short
+        name, an arbitrary short name may be assigned for these licenses.
         These arbitrary names are only guaranteed to be unique within a
         single copyright file.
       </para>
       <para>
-        If there are no remaining lines, then all of the short names
-        or short names followed by license exceptions making up the
-        first line must be described in <link
-        linkend="stand-alone-license-paragraph">standalone License
-        paragraphs</link>.  Otherwise, this field should either
-        include the full text of the license(s) or include a pointer to the
-        license file under <filename>/usr/share/common-licenses</filename>. 
-        This field should include all text needed in order to fulfill both
-        Debian Policy's requirement for including a copy of the software's
-        distribution license (<ulink
-        url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile";>12.5</ulink>),
-        and any license requirements to include warranty disclaimers or
-        other notices with the binary package.
+        Description text (header or Files paragraphs): In the header paragraph,
+        this field gives the license information for the package as a whole,
+        which may be different or simplified from a combination of all the
+        per-file license information.  In a Files paragraph, this field gives
+        the licensing terms for the files listed in the <varname>Files</varname>
+        field for this paragraph.  In either case, the field should include all
+        text needed in order to fulfill both Debian Policy's requirement to
+        include a copy of the distribution license of said files or package
+        (<ulink url="http://www.debian.org/doc/debian-policy/ch-docs#s-copyrightfile";>12.5</ulink>),
+        and any license requirements to include warranty disclaimers or other
+        notices with the binary package. Alternatively, if appropriate, license
+        full text may be substituted by a pointer to the license file under
+        <filename>/usr/share/common-licenses</filename>.
+      </para>
+      <para>
+        Additionally, the full text of any component license may be omitted from
+        this section, in which case the file <emphasis>must</emphasis> include a
+        standalone License paragraph that does contain the full text for it (or
+        a pointer to common-licenses, if appropriate).
+      </para>
+      <para>
+        Description text (License paragraphs): gives the licensing terms for
+        those paragraphs which reference it. (Other extra-license information,
+        which is software- or author-specific, should instead be given in the
+        appropriate Files paragraph, either in the License or Comment fields.
+        For example, the MPL-1.1 requirement to state the initial developers of
+        a particular piece of software, or any copyright notices explicitly
+        mentioning authorship.
+      </para>
+      <para>
+        It is recommended that standalone License paragraphs only reference
+        irreducible <link linkend="license-short-name">short names</link> of
+        published licenses, e.g. GPL-2 rather than GPL-2+, since this allows
+        maximum re-use. This is currently not enforced, but may be in a later
+        version of this specification.
       </para>
     </section>
 
@@ -597,9 +608,65 @@ Copyright 2009, 2010 Angela Watts</programlisting>
     </section>
 
   </section>
+
   <section id="license-specification">
     <title>License specification</title>
 
+    <section id="license-syntax">
+      <title>Syntax</title>
+      <para>
+        License names are case-insensitive, and may not contain spaces.
+      </para>
+      <para>
+        In case of multi-licensing, the license <link linkend="license-short-name">short names</link>
+        are separated by <literal>or</literal> when the user can chose between
+        different licenses, by <literal>and</literal> when use of the work
+        must simultaneously comply with the terms of multiple licenses, and
+        followed by <literal>+</literal> when the user can chose between the
+        license or any later version.
+      </para>
+      <para>
+        For instance, this is a simple, <quote>GPL version 2 or later</quote>
+        field:
+<programlisting>License: GPL-2+</programlisting>
+        This is a dual-licensed GPL/Artistic work such as Perl:
+<programlisting>License: GPL-1+ or Artistic</programlisting>
+        This is for a file that has both GPL and classic BSD code in it:
+<programlisting>License: GPL-2+ and BSD-3-clause</programlisting>
+        For the most complex cases, commas are used to disambiguate.
+        The conjunction <quote><literal>and</literal></quote> has priority over
+        <quote><literal>or</literal></quote> unless preceded by a comma. For
+        instance:
+      </para>
+      <simpara>
+        <literal>A or B and C</literal> means <literal>A or (B and C)</literal>.
+      </simpara>
+      <simpara>
+        <literal>A or B, and C</literal> means <literal>(A or B), and
+        C</literal>.
+      </simpara>
+      <para>
+        This is for a file that has Perl code and classic BSD code in it:
+<programlisting>License: GPL-2+ or Artistic-2.0, and BSD-3-clause</programlisting>
+      </para>
+      <para>
+        Additional permissions to a license are represented by appending
+        <literal>with <varname><replaceable>keywords</replaceable></varname>
+        exception</literal> to the license expression.  This document provides a
+        <link linkend="license-exception-name">list of keywords</link> that must
+        be used when referring to the most frequent exceptions.  When exceptions
+        other than these are in effect (that grant additional permissions), you
+        may use an arbitrary keyword not from that list.
+<programlisting>License: GPL-2+ with OpenSSL exception</programlisting>
+      </para>
+      <para>
+        If a license differs from a common license because of added restrictions
+        rather than because of added permissions, a distinct short name should
+        be used instead of this syntax.  If more than one permissive exception
+        applies to a single license, a distinct short name must be used as well.
+      </para>
+    </section>
+
     <section id="license-short-name">
       <title>Short name</title>
       <para>
@@ -636,8 +703,6 @@ Copyright 2009, 2010 Angela Watts</programlisting>
       <para>
         For licenses which have multiple versions in use, the version number is
         added, using a dash as a separator. If omitted, the lowest version
-        number is implied. When the license grant permits using the terms of any
-        later version of that license, the short name is finished with a plus
         sign. For <link linkend="spdx">SPDX</link> compatibility, versions with trailing
         <emphasis>dot-zeroes</emphasis> are considered to be equivalent to
         versions without (e.g., <quote>2.0.0</quote> is considered equal to
@@ -972,25 +1037,38 @@ Copyright 2009, 2010 Angela Watts</programlisting>
         versions of the MIT license</ulink>. Please use Expat instead, when it
         matches.
       </para>
-      <para>
-        An exception or clarification to a license is signalled in plain text, by appending
-        <literal>with <varname><replaceable>keywords</replaceable></varname>
-        exception</literal> to the short name.  This document provides a list of
-        keywords that must be used when referring to the most frequent
-        exceptions.  When exceptions other than these are in effect that modify
-        a common license by granting additional permissions, you may use an
-        arbitrary keyword not taken from the below list of keywords.  When a
-        license differs from a common license because of added restrictions
-        rather than because of added permissions, a distinct short name should
-        be used instead of <literal>with
-        <varname><replaceable>keywords</replaceable></varname>
-        exception</literal>.
-      </para>
-      <para>
-        Only one exception may be specified for each license within a given
-        license specification.  If more than one exception applies to a single
-        license, an arbitrary short name must be used instead.
-      </para>
+
+      <section id="public-domain">
+        <title>Public domain</title>
+        <para>
+          The <varname>License</varname> short name
+          <literal>public-domain</literal> does not refer to a set of license
+          terms. There are some works which are not subject to copyright in
+          any jurisdiction and therefore no license is required for any
+          purpose covered by copyright law. This short name is an explicit
+          declaration that the associated files are <quote>in the public
+          domain</quote>.
+        </para>
+        <para>
+          Widespread misunderstanding about copyright in general, and the
+          public domain in particular, results in the common assertion that a
+          work is in the public domain when this is partly or wholly untrue
+          for that work. The <ulink
+          url="http://en.wikipedia.org/wiki/Public_domain";>Wikipedia article
+          on public domain</ulink> is a useful reference for this subject.
+        </para>
+        <para>
+          When the <varname>License</varname> field in a paragraph has the
+          short name <literal>public-domain</literal>, the remaining lines of
+          the field <emphasis>must</emphasis> explain exactly what exemption
+          the corresponding files for that paragraph have from default
+          copyright restrictions.
+        </para>
+      </section>
+    </section>
+
+    <section id="license-exception-name">
+      <title>Exception names</title>
       <para>
         The GPL <literal>Font</literal> exception refers to the text added to the
         license notice of each file as specified at <ulink
@@ -1006,8 +1084,8 @@ by the GNU General Public License. If you modify this font, you may
 extend this exception to your version of the font, but you are not
 obligated to do so. If you do not wish to do so, delete this exception
 statement from your version.</programlisting>
-        </para>
-        <para>
+      </para>
+      <para>
           The GPL <literal>OpenSSL</literal> exception gives permission to link GPL-licensed
 code with the OpenSSL library, which contains GPL-incompatible clauses.
 For more information, see <ulink
@@ -1031,112 +1109,8 @@ file(s), but you are not obligated to do so. If you do not wish to do
 so, delete this exception statement from your version. If you delete
 this exception statement from all source files in the program, then
 also delete it here.</programlisting>
-        </para>
-
-        <section id="public-domain">
-          <title>Public domain</title>
-          <para>
-            The <varname>License</varname> short name
-            <literal>public-domain</literal> does not refer to a set of license
-            terms. There are some works which are not subject to copyright in
-            any jurisdiction and therefore no license is required for any
-            purpose covered by copyright law. This short name is an explicit
-            declaration that the associated files are <quote>in the public
-            domain</quote>.
-          </para>
-          <para>
-            Widespread misunderstanding about copyright in general, and the
-            public domain in particular, results in the common assertion that a
-            work is in the public domain when this is partly or wholly untrue
-            for that work. The <ulink
-            url="http://en.wikipedia.org/wiki/Public_domain";>Wikipedia article
-            on public domain</ulink> is a useful reference for this subject.
-          </para>
-          <para>
-            When the <varname>License</varname> field in a paragraph has the
-            short name <literal>public-domain</literal>, the remaining lines of
-            the field <emphasis>must</emphasis> explain exactly what exemption
-            the corresponding files for that paragraph have from default
-            copyright restrictions.
-        </para>
-      </section>
-    </section>
-
-    <section id="license-syntax">
-      <title>Syntax</title>
-      <para>
-        License names are case-insensitive, and may not contain spaces.
-      </para>
-      <para>
-        In case of multi-licensing, the license short names are separated by
-        <literal>or</literal> when the user can chose between different licenses,
-        and by <literal>and</literal> when use of the work must simultaneously
-        comply with the terms of multiple licenses.
-      </para>
-      <para>
-        For instance, this is a simple, <quote>GPL version 2 or later</quote>
-        field:
-<programlisting>License: GPL-2+</programlisting>
-        This is a dual-licensed GPL/Artistic work such as Perl:
-<programlisting>License: GPL-1+ or Artistic</programlisting>
-        This is for a file that has both GPL and classic BSD code in it:
-<programlisting>License: GPL-2+ and BSD-3-clause</programlisting>
-        For the most complex cases, commas are used to disambiguate.
-        The conjunction <quote><literal>and</literal></quote> has priority over
-        <quote><literal>or</literal></quote> unless preceded by a comma. For
-        instance:
       </para>
-      <simpara>
-        <literal>A or B and C</literal> means <literal>A or (B and C)</literal>.
-      </simpara>
-      <simpara>
-        <literal>A or B, and C</literal> means <literal>(A or B), and
-        C</literal>.
-      </simpara>
-      <para>
-        This is for a file that has Perl code and classic BSD code in it:
-<programlisting>License: GPL-2+ or Artistic-2.0, and BSD-3-clause</programlisting>
-        A <literal>GPL-2+</literal> work with the <literal>OpenSSL</literal>
-        exception is in effect a dual-licensed work that can be redistributed
-        either under the <literal>GPL-2+</literal>, or under the
-        <literal>GPL-2+</literal> with the <literal>OpenSSL</literal> exception.
-        It is thus expressed as <literal>GPL-2+ with OpenSSL
-        exception</literal>:
-<programlisting>License: GPL-2+ with OpenSSL exception
- This program is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later
- version.
- .
- In addition, as a special exception, the author of this
- program gives permission to link the code of its
- release with the OpenSSL project's "OpenSSL" library (or
- with modified versions of it that use the same license as
- the "OpenSSL" library), and distribute the linked
- executables. You must obey the GNU General Public
- License in all respects for all of the code used other
- than "OpenSSL".  If you modify this file, you may extend
- this exception to your version of the file, but you are
- not obligated to do so.  If you do not wish to do so,
- delete this exception statement from your version.
- .
- This program is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied
- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE.  See the GNU General Public License for more
- details.
- .
- You should have received a copy of the GNU General Public
- License along with this package; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- Boston, MA  02110-1301 USA
- .
- On Debian systems, the full text of the GNU General Public
- License version 2 can be found in the file
- `/usr/share/common-licenses/GPL-2'.</programlisting>
-       </para>
-     </section>
+    </section>
 
     <section id="spdx">
       <title>SPDX</title>

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: