--- Begin Message ---
On Sunday 10 October 2004 20:44, you wrote:
>
> sorry for playing an intermediate role, the developper of the software will
> subscribe to debian-legal soon.
Well, for now could you forward this message to them? :-)
To the developer:
Apologies for this incredibly long message; I attempted to be very clear and
very detailed. Thanks for trying to get the licensing and copyright status
of your project all correct. A lot of people don't, because it can be so
much work. Some of us really appreciate it though. :-)
> Thanks for your answer, I have a mail from one of the developper of this
> software :
>
> <QUOTE>
> There's a wiki url to see about that :
> http://dev.eagle-usb.org/wakka.php?wiki=DeveloppementGPL
This is helpful indeed. Please let me comment and elaborate on one of these
points.
>#LT008 : O : full GPL ?
>status : 20041008 proposed / to be completed
>importance : medium
> All files must have a header quoting the GPL.
> to be defined more precisely as there are still changing opinions today (see
> social debian contract & Linus opinion on firmware to be included in the
> kernel)
> answer : yes / no + list of accepted modifications
To use the GPL correctly under copyright law, there are some specifics.
Since they aren't quite the same as "a header quoting the GPL", I thought I'd
clarify the legal requirements, in case it might help you.
Each file should have a header containing the following two pieces of
information (more information is fine, of course):
(1) a copyright statement for each person/company who holds copyright in that
file, like so:
--
Copyright (year) (person or company)
Copyright (other year) (other person)
--
(2) a licensing statement explicitly licensing the file under the GPL. For
instance, the common one:
--
This file 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.
--
You have to do a rather similar thing to license a file under any license; you
have to provide copyright statements, and a "This file is licensed under the
license X (by the copyright holders)" statement.
You will note that instead of "This file is...", some files say "This file is
part of X. X is...". As you can see, this means much the same thing. What
you must be careful about with this form is when you move a file from product
X to product Y. For instance, eu_firmware.h says:
--
* This file is part of the "eagle-usb driver package".
*
* "ADI USB ADSL Driver for Linux" is...
--
Perhaps you see the problem? The file says that "ADI USB ADSL Driver for
Linux" is free software licensed under the GPL, but doesn't say that this
file is part of it. It says that this file is part of the "eagle-usb driver
package", but doesn't say that the "eagle-usb driver package" is licensed
under the GPL. So when you use this form, the product names have to match.
Now, there is a good legal alternative which is useful for file formats which
don't allow headers. This is to provide a file *alongside* the files with
the header information. For instance, for the .bnm files, it might be a text
file in the driver/firmware/sagem directory, called "bnm-license.txt", and it
might say:
--
All files in the isdn/ and pots/ subdirectories are
copyright (year) (copyright holder),
copyright (other year) (other copyright holder).
You may redistribute and/or modify them under the terms of license (LICENSE).
--
As you can see, this is the same information, just in a different place.
(Having the license statement for each file *in* the file is preferred simply
because it's harder to lose it by accident, and people making forks or
borrowing individual files often *do* lose license statements.)
Those are the basic legal requirements to put files under a license like the
GPL. I'm sure you know much of this; I just wanted to specify it clearly, as
it might help with your project.
> It seems to me (Benoit Audouard) that you incorrectly inferred that we
> want to change licence
Sorry, this was not my intent. I was just clarifying some points of copyright
law that people occassionally get confused about.
> - which is not the case - as this driver has been
> identified as GPL from the start by Analog Digital.
Good!
> All upstreams contributors have worked with GPL in fact and added
> headers whenever necessary and possible, we may have forgot some
> though ?
I think so. The following files lack licensing header statements, and appear
complex enough to be covered by copyright. (Some of them may be too trivial
to be copyrighted, in which case a "This is public domain" notice wouldn't
hurt.)
ChangeLog (see below)
Makefile
Makefile.common.in
README
configure.in
eagle-usb.spec
kernel.m4
makedist
doc/Makefile
doc/sources/*.xml (source files lack permission statements)
driver/Makefile
driver/Makefile-2.4
driver/Makefile-2.6
driver/Makefile-module_disabled
driver/Oam.c ("All Rights Reserved")
driver/Oam.h ("All Rights Reserved")
driver/debug.h
driver/eu_firmware.h (see below and above for other problems here)
driver/firmware/HexRecord.h
(This says "Copyright (C) C. Casteyde, 2002.
This file is in the public domain." -- That's a contradiction, however.
It should probably say "Written by C. Casteyde. This file is in the public
domain." But you'd have to ask C. Casteyde.)
driver/firmware/Makefile
driver/firmware/bnm-format.txt
driver/firmware/sagem/* (See comments below and above as well)
driver/user/CMVei.txt (These *might* be too small to matter)
driver/user/CMVep.txt (These *might* be too small to matter)
driver/user/Makefile
driver/user/eagle-usb.conf
driver/user/eaglestat (These *might* be too small to matter)
driver/user/usrisdn.conf (These are on the borderline, but at least the
comments are copyrighted)
driver/user/usrpots.conf (These are on the borderline, but at least the
comments are copyrighted)
pppoa/config.h (Autogenerated, subject to autoconf license which is very
generous, not a problem)
utils/eagleconfig.pl/contrib/Config/IniFiles.pm (not really your problem)
/utils/eagleconfig.pl/contrib/dialog/[various files]
(Again, not really your problem; it just shows that a lot of people let their
copyright/license management get a little sloppy.)
utils/eagleconnect/Makefile
utils/eagleconnect/reseau.tcl
utils/scripts/Makefile
utils/scripts/eagleconfig
utils/scripts/eu_config/bash
utils/scripts/eu_dsp
utils/scripts/eu_init
utils/scripts/fctStartAdsl
utils/scripts/fctStopAdsl
utils/scripts/lang/*
utils/scripts/options (May be too small to matter)
utils/scripts/rc.eagle-usb
utils/scripts/setvars
utils/scripts/startadsl (Perhaps too small to matter, but it wouldn't hurt)
utils/scripts/startmire (Perhaps too small to matter, but it wouldn't hurt)
utils/scripts/stopadsl (Perhaps too small to matter, but it wouldn't hurt)
utils/scripts/testconnec
utils/scripts/uninstOld
You may want to use an all-permissive license for the ChangeLog, actually,
like so:
Copyright (year) (copyright holder)
Copyright (other year) (copyright holder)
This ChangeLog is free software; the copyright holders give
unlimited permission to copy, distribute, and modify it.
I know I'm being picky, since a lot of people forget this file. The FSF
recommends that you include copyright and license notices like this in it for
legal reasons though! (At the bottom, to avoid technical problems, in case
you were wondering.)
> You may review the URL given and provide precisions about missing
> points. I'll do my best to provide them, and I think that we'll have
> Sagem and ADI contacts that are willing to work on these points, as soon
That's *great*.
Here's one point where you will probably actually need to contact those
companies. It is unfortunately not clear that it is useful to have the BNM
files or eu_firmware.h (in their current form) licensed under the GPL,
because of the following:
* the GPL allows distribution of source code, or of source code + object code,
but does not allow distribution without source code
* the GPL states "The source code for a work means the preferred form of the
work for making modifications to it."
* the files do not appear to be the preferred form for making modifications
(consisting, as they do, of machine code in hex).
* they aren't accompanied by any "source code" for them.
Combined, this means the GPL doesn't give a useful permission to
distribute. :-( (This should be in a FAQ: "Don't license under the GPL
without releasing source code, because it amounts to no license!") I am sure
that this is just an accident on the part of Analog Devices and/or Sagem, so
I hope it will be easy to get fixed.
Perhaps the BNM files actually are the preferred form for making
modifications, despite appearances. If your Sagem contact says "Yes, we
modify those BNM files directly", then they are; just put that note in the
licensing header, or in the licensing file accompanying them. (If he says
"no, we generate them from .XXX files using tools YYY and ZZZ", then they
aren't the preferred form for modification.)
Similarly if your Analog Devices contact says "Yes, we modify the
eu_firmware.h firmware directly in the form of hex strings embedded in a C
header file, and we like it"; then put that note in the licensing header, and
you're set.
However, if these files are not the preferred form for making modifications,
then copyright holder (Analog Devices in one case, Sagem in the other) has
basically two choices:
(1) Release the actual source code for the firmware
For the GPL to work right, the source code doesn't need to compile with free
tools or anything like that; it just needs to be there and released under
GPL. This would be cool for other reasons (debugging the firmware, etc).
This would be the Fully Free And Open Source option.
(2) Use a license which is more permissive than the GPL, such as
* 2-clause BSD
* MIT/X11
* or GPL + the additional permission to distribute and/or modify without
source code
This would just be for the firmware files. It would be best in this case to
make sure that the firmware is cleanly separated from the rest of the driver
-- so the driver simply loads the firmware, preferably from a file, and
doesn't really care what's in it. That avoids GPL issues coming from the
combination of GPL code with sourceless files. But I think the firmware is
already pretty separate from the driver code, so that should not be a huge
deal.
Since you have contacts at Sagem, etc., you should be able to clarify whether
these files are really "preferred form for modification", and if not you
should be able to get them to agree to (1) or (2). :-)
> </QUOTE>
Thanks for your time and I hope this helps,
Nathanael
--- End Message ---