Bug#334870: [Pkg-shadow-devel] Bug#334870: More info needed

Nicolas François nicolas.francois at centraliens.net
Wed Oct 26 23:52:55 UTC 2005


Hello,

I would like to add additional bytes here.


The lines:

== debian/copyright ====================================================
Source file src/su.c contains a chunk of code cribbed from the GNU su.c,
which is covered by the GNU General Public License:

On Debian GNU/Linux systems, the complete text of the GNU General Public
License can be found in '/usr/share/common-licenses/GPL'
========================================================================

and

== src/su.c ============================================================
/* Some parts substantially derived from an ancestor of: */
/* su for GNU.  Run a shell with substitute user and group IDs.
   Copyright (C) 1992-2003 Free Software Foundation, Inc.

   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, 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
   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 program; if not, write to the Free Software Foundation,
   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
========================================================================

Were added to fix #244297 (http://bugs.debian.org/244297)



The parts that are derived from GNU's su are:
========================================================================
/* borrowed from GNU sh-utils' "su.c" */
static int
restricted_shell (const char *shell)
{
    char *line;

    setusershell ();
    while ((line = getusershell ()) != NULL) {
        if (*line != '#' && strcmp (line, shell) == 0) {
            endusershell ();
            return 0;
        }
    }
    endusershell ();
    return 1;
}
========================================================================

and:

========================================================================
/* borrowed from GNU sh-utils' "su.c" */
static int elements (char **arr)
{
    int n = 0;
    if (arr)
        for (n = 0; *arr; ++arr)
            ++n;

    return n;
}
========================================================================

Maybe run_shel (or a part of) was also originally derived from GNU's su
(It has quite the same arguments). But its content either evolved
drastically or it was just inspired by GNU's su.



I don't think the above code sniplets are copyrightable.

But it would be more fair to rightly thanks the original author(s).



The su.c file contains the appropriate:
 1) (C) copyright notice
   Copyright (C) 1992-2003 Free Software Foundation, Inc.
 2) The disclaimer of warranty
    It is contained in the license. I see a point in putting it in the
    su.c source file (even if there is already another on from the BSD
    license).
    Note that the /usr/share/common-licenses/GPL file is available on
    every Debian boxes (so it's always distributed).
    I also checked some /usr/share/doc/*/copyright (for GPLed software). A
    lot do not contain any disclaimer of warranty (but a link to the
    /usr/share/common-licenses/GPL file)


Then, if you claim it is only required to add:

     Copyright (C) 1992-2003 Free Software Foundation, Inc.
     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.

I'm not sure the whole su program is considered as GPLed, so I would
prefer:

The su source (src/su.c) contains some chunks of code cribbed from
the GNU su.c distributed without any warranty, which is covered by the GNU
General Public License, and copyrighted:
Copyright (C) 1992-2003 Free Software Foundation, Inc.

On Debian GNU/Linux systems, the complete text of the GNU General Public
License can be found in '/usr/share/common-licenses/GPL'


Also note that the debian/copyright file claims that the whole su utility
(and other utilities) comes without any warranty. This IMHO involve that
any parts of the src/su.c file also comes without any warranty.


On Wed, Oct 26, 2005 at 09:31:13PM +0200, aj at dungeon.inka.de wrote:
> you need three parts in the copyright file:
>  - copyright notice - you failed to provide that one.
>  - disclaimer of warranties - not needed per se, but the GPL requires you 
>    to include it ("publish on each copy ... and disclaimer of warranty").
>  - license

Note that the GPL license only claims:
  To do so, attach the following notices to the program.  It is safest
  to attach them to the start of each source file to most effectively
  convey the exclusion of warranty; and each file should have at least
  the "copyright" line and a pointer to where the full notice is found.

This is already the case of the su.c source file.

I don't think the GPL license imposes anything on the debian/copyright file
(except that we should not put there false or incomplete copyright
statements - this is more a legal obligation, than something required by
the GPL license)



So my position is:
the (C) line should be added (at least to be fair with the original
copyright holders: FSF).
Then for the warranty, I don't like it, but it is quite short.



PS: If you want me to sign a warranty contract for the two chunks of code
pasted above, I can.


Feel free to CC debian-legal at lists.debian.org if you want another opinion
(or want them to prove I'm wrong)

Kind Regards,
-- 
Nekral




More information about the Pkg-shadow-devel mailing list