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

Re: DEP-5 suggestions

Le Thu, Jul 08, 2010 at 09:27:49PM -0500, Jonathan Nieder a écrit :
> Here is the rough format of dep5[1] copyright files, if I understand
> the proposal correctly.  {} denotes variables, [] optional elements,
> and ... "et cetera".  This is almost certainly wrong in parts (it
> includes guesswork), so I encourage you to correct me, especially if
> this might result in the DEP-5 text being clarified.
> Below that are some suggestions for changes.  Thoughts?

Dear Jonathan,

thank you very much for your suggestions.

I think that we need to find a balance between simplicity and comprehensiveness
for DEP-5 to have a successful start. Since DEPs can be revised after
implementation, I would propose to keep some of your proposed additions out of
the initial specification. Of course, we can reference or document them as an
annex, with a warning that their syntax may change if they are incorporated in
a later revision.

Following discussions about prefixing non-standardised headers with ‘X-’ (See
bugs.debian.org/521810), my opinion is that we should recommend to directly
use extra fields with no prefix.

Here are point-to-point comments about your summary and propositions.

> Format-Specification: {wsvn uri}

That is of course temporary, and it will be either a proper name or URI. Also,
the name of that field could be shortened (“Format”).

> [Maintainer: {upstream contact}]

I have encounterd packages where the contact point is not the maintainer (for
instance, a helpdesk), so I proposed earlier to use a “Contact” field instead.

> [Source: {upstream tarball or vcs uri for the upstream sources used}]

While using this in the Debian Med team, I had comments that it is easy to let
this information decay, and it may perhaps be better to use an URI to the
directory where the sources are available (when possible). I have no strong
opinion on this.

> [Files: {'find'-style pattern}]

I think that we already had a discussion on -project, that other patterns would
be more suitable, in particular shell-style patterns. Find separates the file
name and the directory name, so it is not very straightforward to refer to find
for explaining the syntax of the Files field. My personal preference would be
for something pastable to the shell or to xargs.

> License: {short license name}
>  {verbatim license information, including the license text
>   or a pointer to /usr/share/common-licenses}

Or, for licenses like the GPL, just copy of the boilerplate, and a free-form
comment pointing at /usr/share/common-licenses. The parser, which will ignore
comments, will know for /usr/share/common-licenses anyway.

> Suggested change: add an optional Contributors: field to the
> header section and files sections.  (I would want to use Authors:, but
> that is too loaded a word in copyright-related contexts.)
>  Contributors: Ulrich Drepper, 1996.
>  Contributors: see /usr/share/doc/google-go/CONTRIBUTORS.gz

This is nice in spirit, but I would personnally not feel like maintaining a
contributor list, because there is mostly only blame to get in case it is
inaccurate, so I would only use the field to point at a contributors file.

This is the kind of filed that I would prefer to see tested in real life before
being standardised in DEP-5.

> 2. An incomplete overview of licensing information in COPYING
> imho generally deserves verbatim repetition, though it is not clear
> where to put it.
> Suggested change: add an optional Overview: field to the
> header section.
>  Name: Firefox
>  Maintainer: dev-apps-firefox@...
>  Source: http://...
>  Overview:
>   All of the source code to this product is available under
>   licenses which are both free and open source.  Most is
>   available under any one of the following:
>   the Mozilla Public License (MPL), the GNU General Public 
>   License (GPL) and the GNU Lesser General Public License (LGPL).
>   That is, you may copy and distribute such software according to the 
>   terms of any one of those three licenses.
>   .
>   The remainder of the software which is not under the MPL/LGPL/GPL
>   tri-license is available under one of a variety of more permissive
>   licenses. Those that require reproduction of the license text in
>   the distribution are given below.

I like this a lot. Also, some upstreams already provide nice overviews.
If this idea gathers more positive opinions, I think that it would
be usefule to have it in the first version of DEP-5.

> 3. Sometimes it is not easy to find a license in the upstream
> tarball but it is online somewhere, or the license is discovered
> only through correspondence with the auther.  Circumstantial
> information like this can be useful.
> Suggested change: clarify whether this information belongs in
> the License: field.  If not, add a free-form Notes: field for
> it.

About free-form comments, I am not sure that they need a special field This
makes the visual impression of the files much heavier, and increases the
chances for syntax errors. Also, there was a demand for free-form comments
earlier on this list. My personnal proposition is to use a relaxed syntax for
DEP-5, where lines that are not part of a field are a comment.

For instance, thinking of the above comment about the content of the long license
description for GPL:
Name    : X Solitaire
Contact : John Doe <jodoe@example.com>
Source  : ftp://example.com/games

License: GPL-2+
	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.
	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	GNU General Public License for more details.
	You should have received a copy of the GNU General Public License along
	with this program; if not, write to the Free Software Foundation, Inc.,
	51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

On Debian systems the full text of the GNU General Public License can
be found in the ‘/usr/share/common-licenses/GPL-2’ file.

I have an experimental version of DEP-5 in the following Git repository,
that implements that proposition.


> Suggested change: add an optional Source-Code: field for
> files sections.
> Suggested change: add an optional Generated-With: field to
> point to the code used to compute it.
> Suggested change: add a free-form Origin: field to files sections.

I think that these files are quite specialised, propose to see how they are
adopted by other maintainers and parser writers before deciding to include in
the DEP, at the occasion of a revision.

Have a nice day,

Charles Plessy
Tsurumi, Kanagawa, Japan

Reply to: