After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 83362 - Incompatible licenses used in the GIMP
Incompatible licenses used in the GIMP
Status: VERIFIED FIXED
Product: GIMP
Classification: Other
Component: General
1.x
Other All
: Normal normal
: 1.2
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2002-05-29 11:23 UTC by Raphaël Quinet
Modified: 2009-08-15 18:40 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
authors involved (2.78 KB, text/plain)
2002-05-30 00:38 UTC, Branko Collin
Details
a list of plug-ins included with GIMP 1.2.2. that are not GPL'ed (30.22 KB, text/plain)
2002-05-30 00:42 UTC, Branko Collin
Details
Like the previous list, but sorted by problems for easier solving (31.13 KB, text/plain)
2002-05-30 00:44 UTC, Branko Collin
Details

Description Raphaël Quinet 2002-05-29 11:23:54 UTC
As reported by Anthony DeRobertis in the Debian bug tracker, there are
some files in the GIMP distributions that have copyright notices that
require credits for the authors in the documentation (in this case, that
would be the GIMP help files and maybe the README file).  The Debian bug
report #148412 can be found here:
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=148412

The following files are affected:
./gimp-1.2.1.in             (Spencer Kimball, Peter Mattis)
./gimptool-1.2.1.in         (Owen Taylor, Manish Singh)
./install-sh                (M.I.T.)
./plug-ins/common/edge.c    (Jef Poskanzer)
./plug-ins/common/gif.c     (David Koblas)
./plug-ins/common/mail.c    (CMU and Bellcore)
./plug-ins/common/nlfilt.c  (Graeme W. Gill)
./plug-ins/common/tiff.c    (Patrick J. Naughton)
./plug-ins/webbrowser/webbrowser.c   (Netscape, Jamie Zawinski,
                             Andreas Stolcke, Solbourne Computer)
./plug-ins/script-fu/interp_slib.c   (Paradigm Associates, Inc.)
./tools/gimp-remote.c       (Netscape, Jamie Zawinski)

These licenses (old-style BSD with advertising clause) are generally not
compatible with the GPL, so the files that contain these licenses and the
GPL cannot be distributed at all!

This issue is currently being discussed on the gimp-developer mailing list,
but I am opening this bug report so that we can keep track of the problem.
Comment 1 Raphaël Quinet 2002-05-29 14:08:16 UTC
For those who do not know why the old-style BSD license with
advertising clause is incompatible with the GPL, Christian Rose posted
this useful link to the gimp-developer mailing list:
  http://www.gnu.org/licenses/gpl-faq.html#TOCOrigBSD
Basically, the advertising clause puts an additional restriction on
the modifications that can be done to the software and its
documentation, and the GPL does not allow that.

By the way, another file affected by this conflict is:
./plug-ins/common/gifload.c
Comment 2 Branko Collin 2002-05-30 00:34:48 UTC
I was asked to check the plug-ins for lack of GPL a while ago, so that
Sven and Mitch could ask the developers of these 1.2.x plug-ins to GPL
them for a next release.

I grepped my local version of stable CVS for the inclusion of the GPL,
then examined all the remaining files to see under which license they
are distributed.

I will put the results of that work in the following three attachments.
Comment 3 Branko Collin 2002-05-30 00:38:36 UTC
Created attachment 8831 [details]
authors involved
Comment 4 Branko Collin 2002-05-30 00:42:17 UTC
Created attachment 8832 [details]
a list of plug-ins included with GIMP 1.2.2. that are not GPL'ed
Comment 5 Branko Collin 2002-05-30 00:44:21 UTC
Created attachment 8833 [details]
Like the previous list, but sorted by problems for easier solving
Comment 6 Raphaël Quinet 2002-05-31 09:23:28 UTC
The problem with most of the files mentioned in this bug report
(especially for the plug-ins) is that the standard GPL copyright
notice was added at the top of the files, but some part of the code
contains a different license that is not compatible with the GPL.  In
other words, the GPL shouldn't have been added before contacting the
original authors of the code, because these incompatibilities between
the licenses makes it illegal to distribute these files.

If we do not solve these conflicts in one way or another (either by
contacting the authors of the borrowed code or by changing the
license for these plug-ins), then we have to remove these files from
the next release of the GIMP.  This is rather serious, because now the
problem is publicly know and we cannot simply ignore it...
Comment 7 Raphaël Quinet 2002-07-03 06:51:23 UTC
Here is a short summary of the options that are available for each of
the files mentioned above:

* Contact the authors of the borrowed code (using the old BSD license)
  and ask them if their code can be re-licensed under the GPL or LGPL.

* Replace these pieces of code with some other code that is compatible
  with the GPL.  Some parts may have to be re-written from scratch.

* Contact the authors of the plug-ins and ask them if their code can
  be re-licensed or dual-licensed under a BSD license instead of the
  GPL.  Although this would weaken the protection on that code, this
  would make it possible to distribute the plug-ins legally (because
  there would be no conflict between the licenses).  It must also be
  stated clearly in the GIMP documentation that these plug-ins are
  independent programs and that the GPL does not apply to the whole
  package.

* Remove these files from the GIMP distribution.  If they cannot be
  distributed legally, then we have to stop distributing them.  This
  would be a rather serious problem for the Script-Fu interpreter.

I do not think that we have any other options for solving this.

Note that we cannot distribute 1.2.4 legally if we do not solve this
problem.
Comment 8 Adam D. Moss 2002-12-18 17:44:38 UTC
As far as I'm concerned my gif/gifload changes can be
relicensed however you like, from the presumption that it
was S&P's original error in having erroneously GPL-licensed
Koblas' code around 1995-ish, and it's that GPL-ing which
needs reverting.

Alternatively, I dug around for a fairly recent address of
a likely-seeming person called David Koblas:
koblas@excitecorp.com
Comment 9 Raphaël Quinet 2002-12-19 12:02:19 UTC
I might have a solution of the GIF plug-in: I have some GIF load/save
code that was written from scratch (for my old Doom level editor) and
that is available under the GPL.  Unfortunately, adapting it so that
it fits in the GIF plug-in will probably take some time, and I will
not be able to do that before mid-January.

Anyway, it looks like you would be in favour of the third solution
(re-licensing the plug-in code under a non-GPL license).  Assuming
that all those who have contributed to these plug-ins can be contacted
and agree to change the license on the code that they have added, we
would also have to announce this change of license to the GIMP
distributors.  So far, most of them state that the whole GIMP package
is under the GPL.  This would not be true anymore, so we would have to
mention clearly that some plug-ins should be seen as independent
programs, and the GIMP package is a "mere aggregate" of those parts.
Comment 10 Adam D. Moss 2002-12-19 12:08:41 UTC
I thought that GIMP always was an aggregate of its disparate parts. 
n.b. some distributions already make license distinctions
(free/nonfree according to their specifications) between various parts
of GIMP.

The alternative de/compression plan sounds reasonable too, if you're
up for the effort.

I'm interested in whether every contributor would have to be contacted
if the license were changed.  I suspect that only authors who have
copyright attributions need to be contacted (out of legality, that is,
courtesy is another thing), but IANAL.

Comment 11 Sven Neumann 2002-12-19 12:33:07 UTC
Raphael, can you point me to your code? I've integrated the GIF code
out of GIMP into blib and would like to avoid licensing problems
there. Perhaps I can switch to Raphaels code instead.
Comment 12 Adam D. Moss 2002-12-19 12:42:52 UTC
Yeah, come to think of it, I recall now that
the GIMP gif code was used for GTK2's gdk-pixbuf
gif loader.  Fun.  Actually I see that they
credit me but not any other author; however from a
quick browse, their LZW code doesn't immediately
resemble gifload.c's, so that might not be a
problem at all (Koblas' code was just the LZW-y
part IIRC).
Comment 13 Raphaël Quinet 2002-12-19 13:01:57 UTC
Unfortunately, I do not have the code here for the moment (FYI, it was
written in 1995 by Ted Vessenes and myself for DEU).  I have several
copies of that code at home, but I will not be able to send it to you
before the end of this month (and year) because I am leaving for a
10-days break without 'net access starting this evening.  I will check
if I kept a copy online somewhere, but I doubt it.  Sorry.  :-(
Comment 14 Sven Neumann 2003-01-06 14:56:53 UTC
I've removed the wrong copyright licenses from the man-pages and Mitch
and me have rewritten the affected parts of gimp-remote. These changes
have been applied to both branches.
Comment 15 Dave Neary 2003-05-11 17:11:36 UTC
Attaching some mails about this to the bug report...

Dave.

Comment 16 Dave Neary 2003-05-11 17:14:12 UTC
--- Sven, March 20th ---


Hi,

Raphaël Quinet <quinet@gamers.org> writes:

> Well, yes this is a ridiculous bug.  However, the license problems
> are now publicly known.  And there is a Debian bug report related to
> that.  So I assume that any distribution that is aware of these
> issues and cares about being able to distribute packages legally
> would consider this bug to be a blocker.  Otherwise, they would be
> liable in the (unlikely) case that some copyright holder complains
> about the licenses.  Not very likely, maybe, but some distributors
> are probably taking these legal issues seriously.

Well, we already took care about a couple of affected files. Let's
look at the remaining files:


plug-ins/common/edge.c

This file has about 500 lines from which at least 400 are completely
GIMP specific. The algorithm used boils down to a few lines and could
probably be "discovered" by any high-school student who made his/her
maths homework from time to time. I'd like to cite RMS here: "You
don't need to worry about copyrights or licenses for just a few lines
of code."


plug-ins/common/gif.c

This one is difficult since its a mix of some older code for which the
license is not perfectly clear and lots of new code that has been
added while this file lived in the GIMP source tree under a GPL
license. Definitely a difficult choice with rather unpleasant
consequences since other projects have long adapted this code under
GPL and LGPL licenses.


plug-ins/common/mail.c

This plug-in contains a few lines that perform base64 encoding. The
authors of this code should feel honored for being mentioned since
anyone could take the base64 spec and rewrite this from scratch.


plug-ins/common/nlfilt.c

The algorithms here are not really trivial and it would make sense to
try to contact the author. If he doesn't agree to relicense his code,
we could just drop the plug-in.


plug-ins/common/tiff.c

I don't see where this plug-in uses any non-GIMP-specific code that is
worth being mentioned. The TIFF file format is handled by libtiff and
I doubt there's anything in this plug-in that can not be determined
from reading the libtiff docs.


plug-ins/webbrowser/webbrowser.c

The algorithm used here is rather trivial and can be redone using the
docs provided by Netscape. The original authors should feel honored
for being mentioned. We want to get rid of this plug-in for GIMP-1.4
anyway.


plug-ins/script-fu/interp_slib.c

I'd rather not have to rewrite this one. But then we have always very
clearly stated the source of the SIOD interpreter that runs Script-Fu.
Just go and try 'gimp-1.3 -i -b -'. You will see the following lines:

 Welcome to SIOD, Scheme In One Defun, Version 3.2x 12-MAR-96
 (C) Copyright 1988-1994 Paradigm Associates Inc. Help: (help)

IMO this is exactly what the SIOD license asks for. I don't see any
problems.


Salut, Sven
Comment 17 Dave Neary 2003-05-11 17:18:21 UTC
--- Dave Neary (me), 11 May ---

Sven Neumann wrote:
> David Neary <bolsh@gimp.org> writes:
> > I suggest pushing all these bugs, with the exception of bug 
> > #83362, to a target other than 1.2.4 (either 1.2.5, 1.2.x or
> > CLOSED with WONTFIX).
> 
> What do you think we should do about #83362 then?
> (http://bugzilla.gnome.org/show_bug.cgi?id=83362)

Well, obviously it's a blocker for 1.2.4 (Bugzilla says so :) -
the question is how best to remove BLOCKER status from it.

For the most part the problems are small, or don't really exist
any more - it's mostly copyright messages that could be removed
if we so felt like it, since the code to which the copyright
applies no longer exists. But there are a couple of sticky ones
which need addressing - namely, SIOD, nlfilter and gif.

The way I see it, there are 3 solutions -

1) Accept that SIOD stays, and if repackagers want to distributee
the GIMP as non-free, then so be it. Either copy gif code from
another gpl program (say gif2png) or contact opriginal author for
re-licencing, or add it as an exception. Contact nlfilter author
for relicencing, or drop plug-in. If the contacts don't yielmd
answers by the end of this week, we should make a decision.

For the rest of the code, either acknowledge that there is code
that needs relicencing, and get onto the people who did it, or 
declare that all the code that was taken from bsd licenced
software was fairly trivial, and re-licence under GPL. For the
most part, the latter should do.

2) Continue to delay the release of a bug-fix patch for the gimp
until we have a new, fully tested scheme interpreter, and we can
get in contact with anyone who ever wrote code for the gimp and
didn't realise that the BSD advertising clause was incompatible
with the GPL (even if they're now working a humanitarian aid  
worker in the Peru highlands who haven't looked at a computer
since they wrote a gimp plug-in as their final year project).   

I think we should go for 1, send requests to relicence bits of
borrowed code to GPL for the important bits, just declare
ourselves compliant and relicence for the trivial bits, add SIOD
as an exception to our GPL, and if we haven't gotten permission
to relicence nlfilter by next Friday, drop it. If we haven't
gotten permission to relicence gif, steal some gpl code. Or steal
some GPL code now...

In any case, I think that we should split it into 3 bugs,
nlfilter, gif and SIOD licencing, and for the rest, just declare
everything GPL.

[snipping the rest - not relevant to this bug]

Dave.
Comment 18 Dave Neary 2003-05-11 17:24:25 UTC
Just to add, I have sent mail to David Koblas (gif) at
koblas@netcom.com, koblas@novoemdia.com, koblas@point.homepages.com,
koblas@extra.com and koblas@excitecorp.com. A couple of those have
bounced already - I expect that another couple will come back with
time-outs in a few days. Hopefully one of them will get through.

In the meantime, it seems that the copyright notice is in the wrong
place. The Koblas code was for GIF decompression, which is done in
gifload.c, not compression, which is done in gif.c - so hilariously
enough, we're including the copyright notice somewhere it's not
necessary, and it's not included in the file where it's obliged to be
added.

I have also sent mail to Eric L. HErnes (nlfilt) at erich@freebsd.org,
erich@rrnet.com and erich@lodgenet.com - the freebsd and rrnet
addresses have bounced already, and from what I can tell the lodgenet
address is very old, so I wouldn't be too hopeful.

Are there any other situations where a relicencing is required? Should
this bug be split into bits?

Cheers,
Dave.

Comment 19 Dave Neary 2003-05-11 18:00:27 UTC
I have just sent a mail to Graeme Gill, who is the owner of the
artistically licenced code in nlfilt. The rest of the code (from Eric
L. Hernes) is BSD licenced. The consent of both would be needed to
change the licence, even if the BSD bits are only the usual plug-in
wrapper code around the algorithm.

In addition, the following files in the 1.2 branch do not include the
GPL notice (someone might like to add the notice if they care enough
about it).

for i in `find /usr/local/src/gimp-1.2 -name '*.[ch]' ` ; do 
  grep General $i > /dev/null || echo $i; 
done

./app/authors.h
./app/boundaryF.h
./app/colormap_dialog.i.c
./app/colormap_dialog.i.h
./app/colormap_dialog.p.h
./app/colormap_dialog.t.h
./app/gdisplayF.h
./app/marching_ants.h
./app/paint_core_kernels.h
./app/pixmaps.h
./app/pixmaps2.h
./app/tile.c
./app/tile.h
./app/tile_cache.c
./app/tile_cache.h
./app/tile_pvt.h
./app/tile_swap.c
./app/tile_swap.h
./app/wilber.h
./app/unittest/globals.c
./app/unittest/unittest.h
./acconfig.h
./devel-docs/libgimp/libgimp-include.c
./plug-ins/FractalExplorer/Dialogs.c
./plug-ins/FractalExplorer/Dialogs.h
./plug-ins/FractalExplorer/Events.c
./plug-ins/FractalExplorer/Events.h
./plug-ins/FractalExplorer/FractalExplorer.h
./plug-ins/FractalExplorer/Globals.c
./plug-ins/FractalExplorer/logo.h
./plug-ins/FractalExplorer/pix_data.h
./plug-ins/Lighting/lighting_apply.c
./plug-ins/Lighting/lighting_apply.h
./plug-ins/Lighting/lighting_image.c
./plug-ins/Lighting/lighting_image.h
./plug-ins/Lighting/lighting_main.h
./plug-ins/Lighting/lighting_preview.c
./plug-ins/Lighting/lighting_shade.c
./plug-ins/Lighting/lighting_shade.h
./plug-ins/Lighting/lighting_ui.h
./plug-ins/MapObject/arcball.c
./plug-ins/MapObject/arcball.h
./plug-ins/MapObject/mapobject_apply.c
./plug-ins/MapObject/mapobject_apply.h
./plug-ins/MapObject/mapobject_image.c
./plug-ins/MapObject/mapobject_image.h
./plug-ins/MapObject/mapobject_main.h
./plug-ins/MapObject/mapobject_preview.c
./plug-ins/MapObject/mapobject_preview.h
./plug-ins/MapObject/mapobject_shade.c
./plug-ins/MapObject/mapobject_shade.h
./plug-ins/MapObject/mapobject_ui.h
./plug-ins/bmp/bmp.h
./plug-ins/common/CEL.c
./plug-ins/common/aa.c
./plug-ins/common/animationplay.c
./plug-ins/common/animoptimize.c
./plug-ins/common/autocrop.c
./plug-ins/common/edge.c
./plug-ins/common/emboss.c
./plug-ins/common/gbr.c
./plug-ins/common/gee.c
./plug-ins/common/gee_zoom.c
./plug-ins/common/nlfilt.c
./plug-ins/common/pat.c
./plug-ins/common/pcx.c
./plug-ins/common/spheredesigner.c
./plug-ins/common/tiff.c
./plug-ins/common/tiler.c
./plug-ins/common/waves.c
./plug-ins/common/zealouscrop.c
./plug-ins/faxg3/g3.c
./plug-ins/faxg3/g3.h
./plug-ins/faxg3/run_tbl.c
./plug-ins/fits/fitsrw.h
./plug-ins/fp/fp.h
./plug-ins/fp/fp_gdk.c
./plug-ins/fp/fp_gtk.c
./plug-ins/fp/fp_misc.c
./plug-ins/gap/gap_filter_codegen.c
./plug-ins/gfig/pix_data.h
./plug-ins/gimpressionist/about.c
./plug-ins/gimpressionist/brush.c
./plug-ins/gimpressionist/color.c
./plug-ins/gimpressionist/gimp.c
./plug-ins/gimpressionist/gimpressionist.c
./plug-ins/gimpressionist/gimpressionist.h
./plug-ins/gimpressionist/orientation.c
./plug-ins/gimpressionist/orientmap.c
./plug-ins/gimpressionist/paper.c
./plug-ins/gimpressionist/placement.c
./plug-ins/gimpressionist/plasma.c
./plug-ins/gimpressionist/ppmtool.c
./plug-ins/gimpressionist/ppmtool.h
./plug-ins/gimpressionist/presets.c
./plug-ins/gimpressionist/preview.c
./plug-ins/gimpressionist/repaint.c
./plug-ins/gimpressionist/size.c
./plug-ins/gimpressionist/sizemap.c
./plug-ins/imagemap/imap_cern_parse.h
./plug-ins/imagemap/imap_csim_parse.h
./plug-ins/imagemap/imap_ncsa_parse.h
./plug-ins/maze/maze.h
./plug-ins/mosaic/mosaic_logo.h
./plug-ins/perl/Gimp/Lib.c
./plug-ins/perl/Net/Net.c
./plug-ins/perl/acconfig.h
./plug-ins/perl/extradefs.h
./plug-ins/perl/gppport.h
./plug-ins/perl/perl-intl.h
./plug-ins/perl/ppport.h
./plug-ins/perl/UI/UI.c
./plug-ins/perl/embed/perlmod.c
./plug-ins/perl/po/cat-id-tbl.c
./plug-ins/perl/Gimp.c
./plug-ins/script-fu/interp_md5.c
./plug-ins/script-fu/interp_md5.h
./plug-ins/script-fu/interp_regex.c
./plug-ins/script-fu/interp_slib.c
./plug-ins/script-fu/interp_sliba.c
./plug-ins/script-fu/interp_trace.c
./plug-ins/script-fu/siod.h
./plug-ins/script-fu/siodp.h
./plug-ins/twain/twain.h
./plug-ins/winsnap/resource.h
./plug-ins/winsnap/winsnap.h
./po-libgimp/cat-id-tbl.c
./po-plug-ins/cat-id-tbl.c
./po-script-fu/cat-id-tbl.c
./tools/gcg/ex/file_ostream.i.c
./tools/gcg/ex/ostream.i.c
./tools/gcg/ex/strtest.c
./tools/gcg/db.c
./tools/gcg/fp.c
./tools/gcg/gcg.c
./tools/gcg/gcg.h
./tools/gcg/getopt.c
./tools/gcg/main.c
./tools/gcg/marshall.c
./tools/gcg/marshall.h
./tools/gcg/output.c
./tools/gcg/output.h
./tools/gcg/output_enum.c
./tools/gcg/output_flags.c
./tools/gcg/output_object.c
./tools/gcg/parse.h
./tools/gcg/pnode.c
./tools/gcg/pnode.h
./build/win32/dirent/dirent.c
./build/win32/dirent/dirent.h
./config.h
Comment 20 Adam D. Moss 2003-05-11 18:10:32 UTC
> In the meantime, it seems that the copyright notice is in the wrong
> place. The Koblas code was for GIF decompression, which is done in
> gifload.c, not compression, which is done in gif.c

I was the one who split gif.c into gif.c and gifload.c and I assure
you that the division was done in a hurry for political reasons and
quite sloppy (improved over time) AND it has never been clear to me
which code, precisely, came from David Koblas back in '95 or whenever
it was, which is why his copyright block got split to both files.

Additionally, the last time I remember attacking these plugins, his
notice block was indeed on both plugins (I don't know why you say it's
only on the wrong one, neither do I know on what information you base
the suggestion that Koblas' code only covered decompression).
Comment 21 Dave Neary 2003-05-11 18:33:45 UTC
Apologies - I didn't mean to offend. I've had a look in the gifload
file, and the Koblas notice is indeed there. I was basing the thing on
the absence of gifload.c from the list of "dodgy" files above, without
having looked. 

As to what exactly came from David Koblas, I went to Google. gd, for
example, credits David Koblas for the gif decompression code it took
from pbmplus, which in turn sources it to GIFDECOD. GIFENCODE, again
used in pbmplus, is credited to David Rowley. Oh - and David Koblas :)
Sorry for the confusion.

When I said "hilariously", I meant that what I found hilarious is that
we are getting so worked up over code which someone released and said
"do what you want with it", and the possibility that we were getting
worked up about a comment which I thought was on the wrong file, I
found ironic.

Cheers,
Dave.

Comment 22 Adam D. Moss 2003-05-11 18:55:11 UTC
Hi Dave, thanks for the info.  I didn't take any offense, I was just
puzzled. :)
Comment 23 Dave Neary 2003-05-12 17:32:42 UTC
Below is the text of an email received from David Koblas. He has given
his permission for the gif code to be relicenced GPL.

Cheers,
Dave.
From: "David Koblas" <koblas at extra dotcom>
To: "David Neary" <bolsh at gimp dot org>
Subject: Re: GIF save routine copyright
Date: Mon, 12 May 2003 10:02:47 -0700
X-Mailer: Microsoft Outlook Express 6.00.2720.3000

You found me...  it's the extra.com address that's right.

In general I have no issue with "relicensing the code", though I'm a
little
perplexed..  My original intent was to allow unlimited redistribution
of the
code and I belive that's what the copyright implies..  I would expect that
any modification of my code would be subject to the copyright restrictions
of the the author, not of the original code...  But, heck I'm not a
lawer...

Is the intent to remove the copyright that is in gif.c and gifload.c,
or to
add a note stating that the code has be "licensed" under the GPL?

--koblas

> Hi David,
>
> A long time ago, in a galaxy far far away, you wrote some code to
> write gif images. This code was released under an "artistic" type
> licence - that is, free use for any purpose, as long as your
> copyright notice was kept.
>
> That code went on to become the basis for the GIMP's gif loading
> routine, and has been modified slightly over the years as teh
> GIMP has evolved. Your copyright notice has also remained.
>
> Recently, someone pointed out that this licence is incompatible
> with the GPL under which the GIMP is distributed. This is because
> it places a limitation on what can be done with the source code
> (it's silly, I know, to consider a comment source code, but the
> GNU folks do). This poses a problem for us GIMP people,
> unfortunately. In addition, since the GIMP is GPL, many other GPL
> projects have "borrowed" our gif writing code.
>
> So finally I get to the point - I'm writing to ask your
> permission to re-licence the existing gif writing code in the
> GIMP to the GPL, allowing us to distribute it with eth GIMP. This
> will save us, among other things, the job of re-writing some LZW
> code from scratch. Your name will, of course, continue to be
> included with the list of GIMP authors, as before.
>
> So, what do you say? May we relicence this code?
>
> For a look at what the code currently looks like, you can have a
> look at
> http://cvs.gnome.org/lxr/source/gimp/plug-ins/common/gif.c
>
> Thanks for your time,
> Dave.
>
> --
>        David Neary,
>        Lyon, France
>   E-Mail: bolsh at gimp dot org
Comment 24 Dave Neary 2003-05-12 17:34:17 UTC
Given this, would someone please add the GPL required stuff to the top
of gif.c and gifload.c? I'm not sure I know exactly what needs adding.

Cheers,
Dave.
Comment 25 Adam D. Moss 2003-05-12 17:54:22 UTC
They're already GPL'd, the question was just whether that's actually
okay with respect to compatability with Koblas' original license.  All
that's required then, I think, is to remove the block that's specific
to Koblas' license (but keep his copyright notice out of respect).

I don't mind doing that in 1.2.x and the HEAD, just say the word.
Comment 26 Adam D. Moss 2003-05-12 18:01:46 UTC
n.b. I don't think my last comment was clear enough, I meant that your
successful research answers the question and all that we have to do is
delete about 3 lines of comment from the two GIF plugins (we can ship
right now as-is, but David Koblas' license block could cause future
confusion if not amended).
Comment 27 Dave Neary 2003-05-12 19:00:54 UTC
Oh - they're already GPLed? Alright then...

In that case, the word.

Cheers,
Dave.
Comment 28 Dave Neary 2003-05-13 09:04:55 UTC
By the way, to address the original comment of Raphael, I don't
believe that the licence used in most of the questionable code could
be called 'the original BSD licence", or anything like it for that
matter. 

The advertising clause in the original BSD licence is a long spiel
about how the copyright notice must be included with all materials
including the program in question. There is no code that I've seen in
the gimp released under such a licence.

Cheers,
Dave.
Comment 29 Raphaël Quinet 2003-05-13 12:51:14 UTC
The problem that makes the original BSD license incompatible with the
GPL is that it requires some statements to be added to the
documentation of the program (i.e., not only in the code itself, but
also in the printed material that could be distributed with the
program).  Although it is worded differently in the license statements
included in the files mentioned above, the effect is the same as in
the original BSD license.

For example, here is the incompatible section in the license for
gif.c:  "[...] provided that [...] both that copyright notice and this
permission notice appear in supporting documentation."

Fortunately, we can remove that statement now, according to what David
Koblas said.  We should probably replace his copyright notice and
permission notice by something like this:
/* Some parts of this code were derived from some old code written */
/* by David Koblas.  He has given us the permission to re-license  */
/* his code under the GPL.  Here is the original copyright notice: */
/*  Copyright 1990, 1991, 1993, David Koblas.  (koblas@netcom.com) */
/* His current e-mail address uses "extra" instead of "netcom".    */
Comment 30 Raphaël Quinet 2003-05-13 13:13:17 UTC
IANAL but I think that a license would already be incompatible with the
GPL if it would require some statements such as the copyright notice and
permission notice to be kept in the source files, not only in the
documentation.  But even if that point is debatable, there is no doubt
about the incompatibility if the license requires something to be added
to the documentation of the program.  As explained by RMS and some other
FSF folks, this would put an unacceptable burden on those who want to
distribute some packages containing hundreds of programs using licenses
requiring some credits in the documentation.
Comment 31 Sven Neumann 2003-05-13 13:26:10 UTC
Can we please get those changes into CVS and out this discussion to an
end?
Comment 32 Dave Neary 2003-05-13 14:08:44 UTC
Received this mail from Eric Hernes, allowing relicencing of his code
under the GPL.

Waiting on Graeme Gill to clear up all the issues with nlfilt.

Subject: RE: NLFilt copyright notice
Date: Tue, 13 May 2003 08:30:15 -0500
From: "Hernes,Eric" <Eric dot Hernes at lodgenet dotcom>
To: "David Neary" <bolsh at gimp dot org>

Hi David,

Funny this should come up now... a week or so ago I downloaded a
recent version
of the gimp and was looking at the plugins, wondering if any of the
stuff I did
was being used by anyone.

Anyway, in general, I'm not too crazy about the GPL, but in this case
it will be
ok.  Also be aware that I only adapted the pnmnlfilt program for use
as a gimp
plugin, the algorithms and code that does the real work is not mine.  The
original authors of that code should probably be contacted as well.
thanks,
Eric

-----Original Message-----
From: David Neary [mailto:bolsh@gimp.org]
Sent: Sunday, May 11, 2003 9:30 AM
To: Eric L. Hernes
Subject: NLFilt copyright notice



Hi,

As you know, a few years ago you wrote a plug-in for the GIMP
called nlfilt. Recently, someone pointed out that your copyright
notice (which is still included in the code) is incompatible with
the GPL, under which the GIMP is packaged. This is because your
licence poses restrictions on what can and cannot be done with
the source (even if that condition only applies to a comment,
which is IMHO a little ridiculous).

In any case, this poses us something of a problem. The GIMP which
we ship has, as policy, always insisted on shipping GPL code.
nlfilt could still be distributed separately, but it would no
longer be possible to ship is in the main GIMP package.

I'm writing to you, therefore, to ask your permission that the
files nlfilt.c and nlfilt.h in the GIMP (in both the 1.2 and 1.3
branches) be relicenced under the GPL. The net effect of this
would be the removal of the advertising clause from teh top of
these files, and an addition to the effect that the files are
licenced under the GPL. Your name and your copyright would
remain, and of course you would continue to be listed as an
author of the GIMP in the file which holds that list.

So, what do you say? Can we re-licence these files and keep them
in the main GIMP distribution?

Thanks for your time,
Dave.

--
       David Neary,
       Lyon, France
Comment 33 Adam D. Moss 2003-05-13 14:35:03 UTC
I've amended the licenses for gif.c and gifload.c on the gimp-1-2
branch.  These files fall under GIMP's default license now...
Comment 34 Adam D. Moss 2003-05-13 15:27:15 UTC
Okay, license-comments changed on HEAD too.  If I've made things
uncompilable then someone will have to tell me, tee hee.
Comment 35 Dave Neary 2003-05-13 20:32:41 UTC
Mail from George Carrette, author of SIOD. It doesn't authorise a
licence change explicitly, but I have asked for a follow-up which will
hopefully be clearer.

Date: Tue, 13 May 2003 15:58:56 -0400
From: Gjcarrette@aol.com
To: dneary@free.fr (David Neary)
Subject: Re: SIOD licencing
X-Mailer: Atlas Mailer 2.0

Yes, I would like to get the situation with GIMP fixed  
to your liking and mine. I am authoratative on SIOD   
licensing.

For one thing, it sure would be nice if there was some
more obvious reference in the GIMP manuals, especially
printed documentation, that Script FU was an application
of SIOD...

Anyway, it would seem best to release SIOD with an LGPL.
Stallman says that LGPL is good for things that
are pretty much standard, not extremely unique things,
and there are plenty of little lisp interpreters around
today. (Not so many back in 1988 when SIOD was released).

Now there is the technical issue. Does GIMP use SIOD
in a standard way through the shared library libsiod.so?
Or does it have its own private copy of SIOD with lots
of files reworked etc?

I think I know the answer, that GIMP has its own private
reworked version of SIOD.

Oh, well.

Oh, a quesiton about the copyright holder. Does it have 
to be FSF? Or can it be LGPL with George J. Carrette?
Comment 36 Dave Neary 2003-05-15 16:39:25 UTC
Received a reply from Graeme Gill. Will attach it later, or tomorrow
if I don't get a chance this evening.

Basically, his original code had a copyright notice, but no licence.
In any case, he has agreed that the licence may be changed to a GPL
compatible one, but not to the GPL. He has attached a licence to put
on his code.

The only outstanding issue here is whether SIOD will be relicenced. It
seems it will. Do we wait for that before closing this bug?

Cheers,
Dave.
Comment 37 Dave Neary 2003-05-15 21:38:52 UTC
Pasting mail from Graeme Gill...

---------------------------------
Date: Thu, 15 May 2003 22:51:35 +1000
From: Graeme Gill <GraemeGill_SPANMOT@access.net.au>
X-Mailer: Mozilla 4.73 [en] (WinNT; I)
To: David Neary <dneary@free.fr>
Subject: Re: Non-linear filter in the GIMP

David Neary wrote:

> A few years ago, you wrote some code to do non-linear filtering
> of images. I guess you knew that already :) In that code, you
> included an "advertising clause" - that is, a copyright notice
> which must be included in the source any time it's used.

I'm not sure what you mean. It's quite normal for copyright
notices to insist that such notices not be deleted (thereby
ensuring that the fact that there is a copyright is not
obscured).

The term "advertising clause" has been used to refer to
the conditions on MIT derived copyright notices, where
a condition of use is that the authors name or their
employer not be used in the promotion of products that
use the software without their permission. Is this what
you mean ? (I had to remove a clause from this from the
original icclib code for it to be included with Ghostscript).

Another common clause (ie. the IJG JPEG library) is that
acknowledgement be made to the use of the the software in
any accompanying user documentation.

In any case, doing a search on the web reveals the following uunet posting
+<http://ftp.rge.com/pub/usenet/sources/comp.sources.misc/volume35/pnmnlfilt/par
+t01.gz>
and this contains no copyright statement.

The source code at
+<http://web.mit.edu/afs/athena/contrib/graphics/src/netpbm/pnm/pnmnlfilt.c>
has a copyright notice, but not "advertising" clause.

Searching through the archives of the machines I was
using at the time, I can't find any statement in the
source code referring to a copyright or "advertising" clause
(all source code copies are very similar to the web.mit.edu
reference above). I think that was the "form" for source code
included in the pbm/pnm library at the time.

I can only conclude that any such copyright notice has been
added by someone else.

> That code got included in the pnmnlfilt, and got used in the
> non-linear plug-in for the GIMP afterwards.

Ah! then there is some of my code in GIMP, even if none
of the color code that it really should be making use of...

> Someone recently pointed out that your original licence 
> (basically, an Artistic licence) is incompatible with some
> people's interpretation of the GPL, under which the GIMP is
> released.

Given the facts above, it's hard to conclude this.

> May we have permission to re-licence your code from pnmnlfilt to
> the GPL, so that we can satisfy these people and continue to
> include nlfilter in the main gimp distribution? The net effect of
> this would be the replacement of your original "you may do whatever
> you want, as long as you include this copyright notice" with a
> message to the effect "Copyright 1993 <your name> This code is
> made availmable under the GNU General Public Licence.".

I'm not sure I see what the problem is. The GNU licence has similar
requirements that the copyright notice be maintained. The licence
I have included with the icclib library includes a similar clause,
and (after modifying it slightly at their request), seems perfectly
acceptable for inclusion in Ghostscript (and hence, I presume, compatible 
enough with the GNU licence.)

As for changing the licence to the GNU licence, then no, I don't
agree to this. The GNU licence is more restrictive that the
original intent, and I don't wish people to be mislead that that
pnmfilt code can only be distributed as long as source code is
provided, when
in fact it is a "free use" licence (like MIT or BSD).

If you need a definitive copyright notice for this code, then
I'm happy that the icclib one be used:

*************************************************************************
Copyright (c) 1993 Graeme W. Gill

Permission is hereby granted, to use, copy, modify, distribute,
and sell this software and its associated documentation files
(the "Software") for any purpose without fee, provided
that:

    1) The above copyright notices and this permission notice
       accompany all source code copies of the Software and
       related documentation.
and

    2) If executable code based on the Software only is distributed,
       then the accompanying documentation must acknowledge that
       "this software is based in part on the work of Graeme W. Gill".
and

    3) It is accepted that Graeme W. Gill (the "Author") accepts
       NO LIABILITY for damages of any kind.  The Software is
       provided without fee by the Author "AS-IS" and without
       warranty of any kind, express, implied or otherwise,   
       including without limitation, any warranty of merchantability
       or fitness for a particular purpose.
and

    4) These conditions apply to any software derived from or based
       on the Software, not just to the unmodified library.

*************************************************************************

> Of course, you would continue to be the copyright holder to your 
> code, and would continue to be listed in the list of authors of
> the GIMP. Your original code, released in pnmnlfilt, would stay
> artistically licenced (but, of course, anyone would be able to
> derive a GPL licenced copy from the GIMP code). This all seems a
> little silly to me, but there are people who care about these
> types of things.

I'm not sure if it is different lawyers with different opinions,
but I believe (from the Gostscript experience) the above should be OK,
and isn't incompatible with the GNU licence.

If this is still an issue, then let me know.

Graeme Gill.
Comment 38 Dave Neary 2003-05-15 21:39:42 UTC
If this has passed the GPL test for ghostscript, I don't see how we
could have any problems with it.

Dave.
Comment 39 Christian Rose 2003-05-15 21:54:12 UTC
The "without fee" part in the above to my eyes looks like a
GPL-incompatible restriction. Possibly also a problem for distributors
that want to sell boxes.
In any case, I think a standard license (be it the revised BSD one or
any other documented GPL-compatible one) is much preferrable to a more
"unique" one like the above. Unless we have legal expertize that can
analyze the compatibility with the GPL and other implications of the
above.
Comment 40 Pedro Gimeno 2003-05-16 01:11:50 UTC
I understand that "without fee" means "without paying a fee to the 
author"; otherwise why would the heading say "Permission is hereby 
granted, to [...] sell this software..."?
Comment 41 Raphaël Quinet 2003-05-16 10:30:37 UTC
The wording of this license is a bit vague (e.g. meaning of "only" in
clause 2) and it would have been better if clause 4 would refer to
"any substantial portions of this code" instead of "any software
derived from...".  But it seems to be GPL-compatible.  I checked the
list at: http://www.gnu.org/licenses/license-list.html and the
requirement in clause 2 of this license is similar to what is found in
Zope Public License v2.0, for example.  The "without fee" part is not
a problem, as Pedro explained in the previous comment. So it looks
like this part of the problem is solved.  Dave, I suggest that you
commit the new license in CVS (both branches).  The new license should
only appear in the part of the file that contains Graeme Gill's code
but the top of the file should still refer to the GPL, of course.

In the future, when we have bugs covering multiple files that may have
to be tracked individually, I suggest that any discussion that spawns
more than a couple of comments be moved to a separate bug report.  The
new bug report would then be marked as a blocker for this one.  This
would be similar to the tracking bug #70335.
Comment 42 Dave Neary 2003-05-16 19:50:43 UTC
Attaching a mail from George Carrette which clarifies his licencing
position for SIOD. If someone is able to answer his technical
questions, they're more than welcome.

-------------------------
From: Gjcarrette at aol dot com
Date: Fri, 16 May 2003 07:10:12 EDT
Subject: Re: SIOD licencing
To: dneary at free dot fr
X-Mailer: 8.0 for Windows sub 6011

I'll combine the technical and licensing issues together in this message
about "what I would like to do."

(1) upload SIOD to sourceforge.net
(2) put it under LGPL
(3) package RPM's etc, building gnu autoconfig, especially libconfig
(4) see how packages like GIMP could make use of shared library libsiod.so

As far as how SIOD is packaged inside GIMP now, I did observe that GIMP
has a "help/about" kind of box, that has some authorship information, but
failed to mention my contribution of SIOD to script fu.

I think that once I do step (1) and (2) that GIMP would pretty much be
covered.

I am interested in what technical and practical reasons led the GIMP
authors to repackage SIOD into different source files. Maybe there were
some hooks they needed as well as purely cosmetic reasons.
Comment 43 Dave Neary 2003-05-16 20:26:25 UTC
nlfilter licence changed in HEAD and in 1.2 branch:

2003-05-16  Dave Neary  <bolsh@gimp.org>

        * plug-ins/common/nlfilt.c: Changed licence for Graeme
        Gill's code in this filter. Fixes part of bug #83362. 
Comment 44 Dave Neary 2003-05-16 20:47:56 UTC
As agreed earlier in this bug report, I have removed the offending
parts of permission notices which applied to either very small
portions of code, or to code which appears to no longer share a common
root with the original licenced code. I have, as is noremal, left
existing copyright notices in place.

Dave.

2003-05-16  Dave Neary  <bolsh@gimp.org>

        * plug-ins/common/edge.c
        * plug-ins/common/tiff.c
        * plug-ins/common/mail.c
        * plug-ins/webbrowser/webbrowser.c: Removed GPL
        conflicting parts of permission notices on these files,
        in line with what has been said in bug #83362. 
Comment 45 Dave Neary 2003-05-16 20:48:30 UTC
So - what do we do about SIOD?

Dave.
Comment 46 Manish Singh 2003-05-19 08:04:58 UTC
I've added George Carrette's name to the contributors list. Should add
the SIOD banner to to the batch mode startup and script-fu console and
be good for now I think.
Comment 47 Dave Neary 2003-05-19 15:00:15 UTC
Should we include SIOD as an exception to our GPL? 

Or just close this and get back to writing software?

Cheers,
Dave.
Comment 48 Dave Neary 2003-05-19 15:05:21 UTC
Oh - as a side note, George Carrette has expressed an interest in
getting involved in the GIMP to get it using siod.so, which would
presumably also result in the scheme interpreter becoming commoditised.

That is, if there's only gimp specific code left in script-fu,
plugging in an alternative scheme interpreter wouldn't seem too difficult.

Cheers,
Dave.
Comment 49 Sven Neumann 2003-05-19 15:07:52 UTC
I'd say we do as Yosh suggested. In gimp-1.3 the SIOD banner is
already shown in batch-mode:

  neo@blixa:~$ gimp-1.3 -i -b -
  Welcome to SIOD, Scheme In One Defun, Version 3.2x 12-MAR-96
  (C) Copyright 1988-1994 Paradigm Associates Inc. Help: (help)

We should do the same in 1.2 and add the same text to the Script-Fu
console as well.
Comment 50 Dave Neary 2003-05-19 16:05:48 UTC
Fair enough. I could do that, but someone who knew their way around
script-fu better than me might be able to do it quicker.

I will probably have no gimp time until Wednesday, and since this is
the only thing left in the way of 1.2.4, it'd be nice to get it done
before then.

Cheers,
Dave.
Comment 51 Manish Singh 2003-05-19 21:23:39 UTC
Bumped to 1.2.5. Will close when SIOD has been officially relicensed
as LGPL.
Comment 52 Dave Neary 2003-05-20 12:50:54 UTC
It turns out that the SIOD licence is GPL compatible, and we've been
worrying over nothing. Attaching a mail from the FSF licence guys.

Closing this as fixed.

Subject: Re: [gnu.org #33077] GIMP licensing issue
From: "John S Costello via RT" <licensing at fsf dot org>
To: dneary at free dot fr,bolsh at gimp dot org
Date: Tue, 20 May 2003 08:24:54 -0400



>  Permission to (1) use, copy, modify, distribute and sell this software
>  and its documentation for any purpose and without fee is hereby
>  granted, provided that (2) the above copyright notice appear in all
copies
>  and that both that copyright notice and (3) this permission notice
appear
>  in supporting documentation, and that the name of (4) Paradigm
Associates
>  Inc not be used in advertising or publicity pertaining to distribution
>  of the software without specific, written prior permission.

Yes, this is GPL-compatible.  (1) provides the appropriate grant of
rights.  (2) would be forbidden by copyright law anyway, (3) is a
reasonable request because without the inclusion of the license it
wouldn't be clear you had the right to use the code, and (4) would
presumably be forbidden because "Paradigm Associates" is their trademark.

If you don't change these sources at all, you could just include this
notice in the source and documentation (along with the statement "Portions
copyright by ...").  If you change these sources, you could put your
copyright at the top of the source file ("Portions copyright by <your name
here>") along with your GPL notice, followed by their copyright statement
and license.

-- John

--
John S Costello                                          
jsac at math dot arizona dot edu
______________________________________________________________________________
"The devil is an optimist if he thinks he can make people meaner."  --
Karl
Kraus
Comment 53 Raphaël Quinet 2003-06-20 17:24:03 UTC
The fix is part of the stable release 1.2.5 (partially in 1.2.4). 
Closing this bug.