[GRASS5] Re: license issues

Bernhard Reiter bernhard at uwm.edu
Tue Dec 14 13:29:37 EST 1999

On Tue, Dec 14, 1999 at 03:10:42PM +0000, Markus Neteler wrote:
> An important point for the next release should be clarification
> about license conflicts within GRASS source code. 
Yes, that is urgently needed.

> I suggest we make a list of modules with such license issues (and keep
> it secret within the group until a solution is found). 
My suggestion would be to temporal remove them or move them in a
different subdirectory, like  src.non-free. This is how other free
software programs deal with it.

>  * tif2ras.c - Converts from a Tagged Image File Format image to a Sun Raster.
>  * Portions Copyright (c) 1990 by Sun Microsystems, Inc.
>  * Author: Patrick J. Naughton
>  * naughton at wind.sun.com

>  * Permission to use, copy, modify, and distribute this software and its
>  * documentation for any purpose and without fee is hereby granted,
>  * provided that the above copyright notice appear in all copies and that
>  * both that copyright notice and this permission notice appear in
>  * supporting documentation.
> -> Is it o.k.?
Yes, because we are free to include it in a GPLed software and
additionally inherite the GPL freedom savety measures for the whole

> > /* Based on "Numerical Recipies in C; The Art of Scientific Computing"
> >    (Cambridge University Press, 1988).  Copyright (C) 1986, 1988 by
> >    Numerical Recipes Software.  Permission is granted for unlimited
> >    use within GRASS only.  */
> At least for me this is a clear statement. Since late 80th GRASS is
> distributed in open source manner. Therefore the CERL must have had
> a contract with Press et al. to use the code as stated above. In my
> opinion this is still valid. 
So far so good.

> So I don't see a big problem here. As
> there is a restriction to GRASS, nobody may take out the code to use
> in another software. Or is *here* the conflict with GPL? 
Excatly. But the conflict is not just with the GPL it is with free
software. If somebody wants to learn from that or build on that, it
is prohibited or restricted and generally a hassle.
This is why the GPL forbits the inclusion of non-free code.

> In that case:
> how do other GPL-programmers avoid such conflict? 
Take different code. These routines are standard and it should be easy
to port them or take them from a source with actually allows them to 
be free. The Numerical Recipies are not a scientific publication in that

> I cannot imagine
> that no "Numerical Recipies in C" programs are used in any GPL
> software.

Well they cannot be.
We can as I pointed out put it in a non-free directory and explicitly 
make a temporal exception to the GPL regarding this module until we
replaced it.

Clearly proprietory code:
> However, it is a matter of concern to
> us that your distribution preserve our copyright (by including the
> copyright notice in each routine) and also make clear to your users
> that they have permission to use the included routines *only* with
> your software, *not* to transplant it to other programs (unless, of
> course, they are licensed for all NR -- which currently costs only $50
> per screen for educational use).
>      Sincerely, Bill Press
> Numerical Recipes Software P.O. Box 243 Cambridge, MA 02238

> ---------------------------------------------------------------------
> * concerning LZW /RLE:

> ./src/libes/gis/lzw.c
>   /* this code for the lzw compression algorithm has been adapted from a
>  demonstration code for PCs provided by Mark R. Nelson. for a discussion
>  of the lzw algorithm see:
>       T. A.Welch, A Technique for High Performance Data Compression, 
>       IEEE Computer, 17(6), June 1984, pp. 8-19.
>  this implementation follows the algorithm in the paper closely.
>  [...] */

> If an algorithm is repatented as the LZW, does this affect former use
> of code based on old publications? 

Patent laws are a snake pit. Here is my take on it (and note, I am not
a lawyer).

> It sounds a bit strange if you could
> change history by current acting. 

If the patent is valid, it is valid. If it can be shown that this
technique was used before the LZW was established, than the patent is 
not valid. But somebody had probably go to court in the US.
(Note that this kind of software patents are not granted in the european
union. (They are out to change it. :( ) )

If would be able to demonstrate, that the GRASS usage predates the LZW
patent, which we cannot, it would render the patent invalid.

> I feel that the old code may be
> used but all code written *after* 1995 based on LZW is affected. Maybe
> I am wrong (just geographer, no lawyer).

If the patent is valid all code using the techology is affected, no
matter when you write it. Because it is not a matter of copyright.

> /*----------------------------------------------------------------------*/
> /* Copyright (c) 1988-1989                                              */
> /* by CompuServe Inc., Tucson, AZ.  All Rights Reserved                 */
> /* CNVHUF.H can be copied and distributed freely for any                */
> /* non-commercial purposes. CNVHUF.H can only be incorporated           */
> /* into commercial software with the permission of CompuServe Inc.      */
> /*----------------------------------------------------------------------*/

Non free here again and by CompuServe. They patented LZW. :)
> This looks good, I think.
No, I am afraid.

>  * rdgif.c
>  * Copyright (C) 1991-1997, Thomas G. Lane.
>  * This file is part of the Independent JPEG Group's software.
>  * For conditions of distribution and use, see the accompanying README file.

AFAIK the JPEG group's software is free software.

> Oups. This looks quite clear.
> Alternative: Rewrite r.in.gif to use /usr/X11R6/lib/libgif.so.3.0 ?
> This could prevent us from problems. Autor: Eric S. Raymond
> esr at snark.thyrsus.com. He does not support this lib any more. But
> it is distributed with SuSe and other Linux packages.

But is doesn't write compressed gifs anymore.
Even when we use a library, we still would need a license from UNISYS.
So compressed gif is not an option for free software anymore.

> Or change to libungif? 
Would give us uncompressed gifs.

>Or PNG? 
PNG would be the way to go. (libpng)

> But what shall we tell the users if we have to remove r.in.gif?
Tell them the story of

And on the other part, PNG and its related MNG are just the better
image formats. (Better compression, gamma correction, alpha-channel..)

> "...Other forms of LZW are, for
>                example, TIFF-LZW, PDF and Postscript-2."
> Oops again. What about ps.map?

Hmmm you specially need to implement lzw compression for the formats
you mention. And yes: It is not a good ide to use them.

> In certain
> cases, no license fees may be required, but this needs to be evidenced by a
> written agreement or written statement signed by an authorized Unisys
> representative...."
> Aha. Could we get such an agreement? 
Yes, but it would make this GRASS part-non free.

> Then: Is there a difference between *reading* only and *reading/writing*
> GIFs with LZW-compression?

It depends on what the patent owner imposes for restrictions.
AFAIK unisys does not impose restrictions on reading GIFs.

> -------------------------------------------------------------------
> BUT: 
>  - What about "xv" - there is LZW included.
>  - what about GIMP: GIF and TIFF support
> How do the manage this problem?

A good question. :)
I think they still work on it, as people procrastiated this question
for a while and unisys policy changed recently.

> -------------------------------------------------------------
> Further copyright statements:
> Copyright(c) 1992 Bell Communications Research, Inc. (Bellcore)
> ./src/include/Caption.h
> ./src/include/CaptionP.h
> ./src/include/Clip.h
> ./src/include/ClipP.h
> ./src/include/Matrix.h
> ./src/include/MatrixP.h
> ./src/xgrass/libes/Xgi/Caption.c
> ./src/xgrass/libes/Xgi/Clip.c
> ./src/xgrass/libes/Xgi/Matrix.c
> ./src/xgrass/libes/Xgi/version.c
> "... * Permission to use, copy, modify and distribute this material for
>  * any purpose and without fee is hereby granted,..."
> Seems to be o.k.

We might need to state in a README what kind of copyrights are included
within the package, like:

	GRASS also contains portions of code copyrighted
by Bell... Sun...

Permission to use, modify and distribute for any purpose was given
so we were able to include it within GRASS which is licensed under GPL.

> Copyright (c) 1990 MIPS Computer Systems, Inc.  
> ./src/include/mips/unistd.h
> /*
>  * |-----------------------------------------------------------|
>  * | Copyright (c) 1990 MIPS Computer Systems, Inc.            |
>  * | All Rights Reserved                                       |
>  * |-----------------------------------------------------------|
>  * |          Restricted Rights Legend                         |
>  * | Use, duplication, or disclosure by the Government is      |
>  * | subject to restrictions as set forth in                   |
>  * | subparagraph (c)(1)(ii) of the Rights in Technical        |
>  * | Data and Computer Software Clause of DFARS 52.227-7013.   |
>  * |         MIPS Computer Systems, Inc.                       |
>  * |         928 Arques Avenue                                 |
>  * |         Sunnyvale, CA 94086                               |
>  * |-----------------------------------------------------------|
>  */
> /*      Copyright (c) 1984 AT&T */
> /*        All Rights Reserved   */
> /*      The copyright notice above does not evidence any        */
> /*      actual or intended publication of such source code.     */
> -> comment: ?????

We have to ask here and remove it temporaly.
Chances are high that they will grant us permission.
(Because they probably granted permission to use it within GRASS.)

> Copyright (C) 1991-93 The Board of Trustees  of the University of  Illinois
> ./src/libes/geom/basic/copyright.h
> ./src/libes/geom/lia/copyright.h
> ./src/libes/geom/sos/copyright.h
>     Copyright (C) 1991-93 The Board of Trustees  of the University of Illinois\n\
>              and the original author(s)        All rights reserved\n\
>              The code is provided AS IS and WITHOUT ANY WARRANTIES\n\";

We have to ask again.
There is one quirk so. If people give stuff to the government in the US,
again AFAIK they have the right to publish it and that makes this
publication fall under the public domain.  MIPS protected themself
against that, as you can read in the restriction of disclosure by the
goverment. The University of Illinois probably did not.

> ./src/include/color.h
> /* 
>  * color.h - color definitions
>  * 
>  * Author:      Christopher A. Kent
>  *              Western Research Laboratory
>  *              Digital Equipment Corporation
>  * Date:        Sun Dec 13 1987
>  * Copyright (c) 1987 Christopher A. Kent
>  */

The same as above. We can assume that Mr. Kent wanted to let us
distribute it, but we should try and ask him to be on the save side.

> ./src.contrib/GMSL/NVIZ2.2/src/togl.c
> /*
>  * Togl - a Tk OpenGL widget
>  * Version:  1.0
>  * Copyright (C) 1996  Brian Paul (brianp at ssec.wisc.edu) and
>  * Ben Bederson (bederson at cs.unm.edu)  See the LICENSE file for details.
>  */
> ..The authors hereby grant permission to use, copy, modify, distribute,
> and license this software and its documentation for any purpose, provided
> that existing copyright notices are retained in all copies and that this
> notice is included verbatim in any distributions....

> -> should be o.k.

> It seems we may have some conflicts. 
Yes, thanks for the effort.

Proposed action: 
	- Move modules with licensing problem to src.license_problem
		until we clarify it for the next releases
	- Replace code for the math routines.
	- Replace LZW with a better compression
	- Replace gif with libungif for reading and add png as better
	  image format.
	- Find the persons who contributed the code and ask in the
	Case of MIPS, University of Illinois and DEC.


Research Assistant, Geog Dept UM-Milwaukee, USA.  (www.uwm.edu/~bernhard)
Free Software Projects and Consulting 		         (intevation.net)  
Association for a Free Informational Infrastructure            (ffii.org)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 235 bytes
Desc: not available
Url : http://lists.osgeo.org/pipermail/grass-dev/attachments/19991214/90eabcbc/attachment.bin

More information about the grass-dev mailing list