[GRASS5] Re: license issues

Dear developers!

An important point for the next release should be clarification
about license conflicts within GRASS source code. I suggest we
make a list of modules with such license issues (and keep it
secret within the group until a solution is found). I already
started using "find" and found:
find . -type f -name "*\.[ch]" -exec grep -il "Copyright" {} \;

* r.in.tiff:
   I have removed the tools/ subdirectory as it is not required
   for the module. So this module should be clean now.
  ./src/raster/r.tiff/cmd/r.out.tiff.c

/* r.in.tiff - Converts from a Tagged Image File Format image to a Grass Raster.
*
* 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@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.
*
* This program takes a MicroSoft/Aldus "Tagged Image File Format" image or
* "TIFF" file as input and writes a GRASS cell file.
*/

-> Is it o.k.?

> > BTW, had you noticed the problematic inclusion of the `Numerical
> > Recipes' code in the now-GPL'd GRASS v5.0b4? Grep for `Cambridge
> > University Press' and take a look at the conditions.
grass5.0beta 58: find . -exec grep 'Cambridge University Press' /dev/null {} \;

/man/man1/i.fft:Cambridge University Press, 1988.
/man/man1/i.ifft:Cambridge University Press, 1988.
/src/imagery/i.cca/cmd/jacobi.c: (Cambridge University Press, 1988). =
Copyright (C) 1986, 1988 by
/src/imagery/i.cca/cmd/jacobi.c: (Cambridge University Press, 1988). =
Copyright (C) 1986, 1988 by
/src/imagery/i.fft/cmd/fft.c: (Cambridge University Press, 1988). Cop=
yright (C) 1986, 1988 by
/src/imagery/i.pca/cmd/eigen.c: (Cambridge University Press, 1988). C=
opyright (C) 1986, 1988 by
/src/imagery/i.zc/cmd/fft.c: (Cambridge University Press, 1988). Copy=
right (C) 1986, 1988 by
/src.contrib/CERL/imagery/i.shape/fft.c: (Cambridge University Press, =
1988). Copyright (C) 1986, 1988 by
/src.contrib/CERL/sites/s.surf.krig/NR.c:published by Cambridge Universi=
ty Press, and are used by permission."
/src.contrib/CERL/sites/s.surf.krig/NR.c contains more explaination
and different functions.=20

It reads like:

/* 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 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? In that case:
how do other GPL-programmers avoid such conflict? I cannot imagine
that no "Numerical Recipies in C" programs are used in any GPL
software.

./src.contrib/CERL/sites/s.surf.krig/NR.c
/*-

**************** PLEASE READ *****************

In-Reply-To: William Skelly's message of Thu, 14 Jan 93 13:20:41 EST
Subject: Numerical Recipes Copywrite.

Thanks for your note. I am attaching a copy of our info sheet
regarding uses of the NR routines. In a case like yours, where the use
is for a noncommercial research purpose, and where the number of
routines used is small (in your case, only two, from what you say) we
usually waive the stated fee. 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
FAX: 617-863-1739

Necessary Permissions for Including Numerical Recipes

We have several levels of permissions. The simplest is if you are
simply using individual Recipes bound into independently executable
software that you develop, and not separable from that software by
a user. In such cases the user must not be able to use the
Recipes as a program library, indeed will normally not be aware that
they are being used in the program. There is no fee for this level
of permission. We require only that you obtain from us in advance
permission for commercial use, and that the executable software contain
the embedded copyright notice "Copyright (C) 1986 Numerical Recipes
Software" (for FORTRAN) or "Copyright (C) 1987, 1988 Numerical Recipes
Software" (for C). This notice need not, and should not, be displayed
to the user.

The next level of permission is if you want to make available
to your users a subset of Recipes in object, or individually callable,
form, but not including source code. For fewer than 20 Recipes used
in this manner, we charge a flat fee of \$40 per Recipe for each
use (unlimited number of copies). The copyright notice is required,
as above, and we also request that the printed manual contain words
to the effect "the procedures [your procedure identifiers] are based
on routines in Numerical Recipes: The Art of Scientific Computing,
published by Cambridge University Press, and are used by permission."
We are reluctant to license the use of more than 20 Recipes in this
manner, but will occasionally do so on an individually negotiated basis.

Finally, there is the case where our source code, or substantially
identical code, is to be made available to users. In the case, we
charge a flat fee of \$100 per Recipe if the source code is to be
distributed in machine-readable form, or \$50 per Recipe if the
distribution is not machine readable (i.e., hardcopy listing only).
The above copyright notice and permission acknowledgment provisions
apply. In general, we will not license the use of more than 20
Recipes in this manner for a fixed fee. Proposals to translate
substantially all of the Numerical Recipes into other computer
languages, or embed them in language-like software, are negotiated on
an individual basis.

A special case is that we allow, without fee, reproduction of up to
five Recipes in any textbook, in printed form only, provided that
advance permission is obtained, and that the appropriate copyright
notice and permission acknowledgment is included.

At any permission level, if you use the Numerical Recipes in software
of your own, you are bound by the Disclaimer of Warranty that we
distribute with all forms of our software, including its specific
disclaimer of merchantability or fitness for any purpose. Also note
that no business of other legal relationship is created between us and
your customers by your use of our software.

*/

---------------------------------------------------------------------
* concerning LZW /RLE:
./src/include/gisdefs.h
  -> ./libes/gis/lzw.c

./src/libes/g3d/G3d_intern.h
  -> extern int g3d_do_lzw_compression; /* G3D_USE_LZW or G3D_NO_LZW */
  -> extern int g3d_do_rle_compression; /* G3D_USE_RLE or G3D_NO_RLE */

./src/libes/g3d/fpcompress.c
./src/libes/g3d/g3ddefaults.c
./src/libes/g3d/g3dopen.c
./src/libes/g3d/headerinfo.c
  -> G3d_setCompressionMode,...
  -> G_lzw_write(), ...

./src/libes/gis/G.h
./src/libes/gis/closecell.c
./src/libes/gis/get_row.c
./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.
[...] */

./src/libes/gis/put_row.c
  -> G__write_data_compressed

./src/libes/gis/G_dump.c
  -> debug routine only

If an algorithm is repatented as the LZW, does this affect former use
of code based on old publications? It sounds a bit strange if you could
change history by current acting. 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).

./src/raster/r.in.gif/cmd/expander.h
./src/raster/r.in.gif/cmd/expander.c
./src/raster/r.in.gif/cmd/cnvhuf.h
/*----------------------------------------------------------------------*/
/* 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. */
/*----------------------------------------------------------------------*/
./src/raster/r.in.gif/cmd/dehuftab.h
/*----------------------------------------------------------------------*/
/* Copyright (c) 1988-1989 */
/* by CompuServe Inc., Tucson, AZ. All Rights Reserved */
/* DEHUFTAB.H can be copied and distributed freely for any */
/* non-commercial purposes. DEHUFTAB.H can only be incorporated */
/* into commercial software with the permission of CompuServe Inc. */
/*----------------------------------------------------------------------*/
./src/raster/r.in.gif/cmd/readgif.h
  /*----------------------------------------------------------------------*/
  /* Copyright (c) 1987 */
  /* by CompuServe Inc., Columbus, Ohio. All Rights Reserved */
  /* EXPANDER.C can be copied and distributed freely for any */
  /* non-commercial purposes. EXPANDER.C can only be incorporated */
  /* into commercial software with the permission of CompuServe Inc. */
  /*----------------------------------------------------------------------*/
-> Expand_Data(get_byte_routine, put_byte_routine)
                  short (*get_byte_routine)();
                  short (*put_byte_routine)();
   /*
    * Function:
    * Decompress a LZW compressed data stream.*/

This looks good, I think.

./src.garden/grass.hdf/hdf4/HDF4.1r3/hdf/jpeg/rdgif.c
./src.garden/grass.hdf/hdf4/HDF4.1r3/hdf/jpeg/wrgif.c
/*
* 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.
*
* This file contains routines to read input images in GIF format.
*
*****************************************************************************
* NOTE: to avoid entanglements with Unisys' patent on LZW compression,
*
* the ability to read GIF files has been removed from the IJG distribution.
*
* Sorry about that.
*
*****************************************************************************
*
* We are required to state that
* "The Graphics Interchange Format(c) is the Copyright property of
* CompuServe Incorporated. GIF(sm) is a Service Mark property of
* CompuServe Incorporated."
*/

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@snark.thyrsus.com. He does not support this lib any more. But
it is distributed with SuSe and other Linux packages.

Or change to libungif? Or PNG? Or Imlib?
http://prtr-13.ucsc.edu/~badger/software/libungif/
http://www.arrakeen.demon.co.uk/giflib/
http://www.w3.org/Graphics/PNG/
http://cvs.labs.redhat.com/lxr/source/imlib
---------------------------------------------------------------

LZW-Related article:
            The GIF Controversy: A Software Developer's Perspective
            The GIF Controversy: A Software Developer’s Perspective – mike.pub

But what shall we tell the users if we have to remove r.in.gif?

Related texts from UNISYS:
http://www.unisys.com/unisys/lzw/

Cite from this text:
"...Other forms of LZW are, for
               example, TIFF-LZW, PDF and Postscript-2."
Oops again. What about ps.map?

Here some more text:
http://corp2.unisys.com/LeadStory//lzwfaq.html
Cite again:
"... In all cases, a written license agreement or
statement signed by an authorized Unisys representative is required from
Unisys for all use, sale or distribution of any software (including so-called
"freeware") and/or hardware providing LZW conversion capability (for example,
downloaded software used for creating/displaying GIF images). 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?
Then: Is there a difference between *reading* only and *reading/writing*
GIFs with LZW-compression?

-------------------------------------------------------------------
BUT:
- What about "xv" - there is LZW included.
- what about GIMP: GIF and TIFF support

How do the manage this problem?

-------------------------------------------------------------
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.

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 */

/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */

-> comment: ???

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\";

./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
*/
-> Problem?

./src/xgrass/libes/Xgi/color.c
/*
* color.c - color helper routines
*
* Author: Christopher A. Kent
* Western Research Laboratory
* Digital Equipment Corporation
* Date: Sun Dec 13 1987
* Copyright (c) 1987 Christopher A. Kent
*/
/*
* See David F. Rogers, "Procedural Elements for Computer Graphics",
* McGraw-Hill, for the theory behind these routines.
*/
-> Problem?

./src.contrib/GMSL/NVIZ2.2/src/togl.c
/*
* Togl - a Tk OpenGL widget
* Version: 1.0
* Copyright (C) 1996 Brian Paul (brianp@ssec.wisc.edu) and
* Ben Bederson (bederson@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. Comments are welcome.

So far for today,

Markus Neteler

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 17553
max: 0

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@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
product.

> /* 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
respect.

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. :frowning: ) )

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. :slight_smile:

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@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)
http://www.cdrom.com/pub/png

But what shall we tell the users if we have to remove r.in.gif?

Tell them the story of
  http://burnallgifs.org/

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. :slight_smile:
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.

Yes.
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 */

/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* 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@ssec.wisc.edu) and
* Ben Bederson (bederson@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.

Yes.

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.
  
Bernhard

--
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)

As far as using LZW in the G3D libe, it is not used by default and
it should be fairly simple to take it out of the code, see specification
docs at:

http://www2.gis.uiuc.edu:2280/modviz/htdoc/g3d/specification.html

Bill

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 1259
max: 0

Greetings all....

/* r.in.tiff - Converts from a Tagged Image File Format image to a Grass Raster.
*
* 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@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.
*
* This program takes a MicroSoft/Aldus "Tagged Image File Format" image or
* "TIFF" file as input and writes a GRASS cell file.
*/

-> Is it o.k.?

This should not be a problem. We leave the current copyright statement. GPL
does not supercede anyone elses copyright. So as long as we point this out,
there is no problem.

> > > BTW, had you noticed the problematic inclusion of the `Numerical
> > > Recipes' code in the now-GPL'd GRASS v5.0b4? Grep for `Cambridge
> > > University Press' and take a look at the conditions.
> grass5.0beta 58: find . -exec grep 'Cambridge University Press' /dev/null {} \;

Yes, there should be no problem since we're not superceeding their copyright.
Maybe a disclaimer in the main copyright at the end should state this. Something
like:

"Individual copyrights upheld by original authors and not superceded by the
GRASS GPL Copyright. Users must abide by applicable copyrights for individual
programs where noted."

I am in contact with legal counsel on this (the Law School here actually). I don;t
forsee any problems since prescedent has already been set.

Comments are welcome.

Bruce

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 2822
max: 0

(attachments)

grass_ngpl.txt (914 Bytes)

On Wed, Dec 15, 1999 at 10:15:44AM -0600, Bruce_Byars@baylor.edu wrote:

Non GPL'able code:

There are two distinct difficulties with the GPL.
(Which both are healthy and important to deal with, the GPL just
requires a bit of disciplin to ensure freedom in the future.)

One is:
  Can the code be linked together with GPL code?
  (For this matter is has to permit everythink that is connected
  with free software, but it does not have to be as save as
  software under the GPL.)

  PD if used in a context is okay and you can even claim the
  copyright, if we changed it for the sake of grass development.
  So it is GPLable in a way. :wink:

The second is: Non-free software or almost free software
  cannot be linked to GPL programs.

The entire r.le suite of programs including:
r.le.dist/
r.le.setup/
r.le.patch/
r.le.trace/
r.le.pixel/

SDTS code was release to CERL and GRASS.
The FIPS library is USGS and therefore should
be public domain.

That is good.

r.nntool contains code from the NETS back
propogation neural network simulator. The
neural network engine and headers were
incorporated into the tool. Developed by NASA
and released into the public-domain.

Good, too.

r.out.mpeg may have applicable code that is
copyright by Berkeley.

f-tools use HEC format from WES. No problem
as HEC tools are public-domain.

Good.

ogl3d modules use SGI libes. Are they proprietary?

Don't know.

src.contrib/CERL/SGI - applicable copyrights to SGI
OpenGL.

CWU Census scripts by CWU.

/src.contrib/NMSU/WRAT - Cook College Remote Sensing
Center holds copyright?

grasslinks and grass.gdbase are copyright by the
regents of Berkeley in Ca.

g.gnuplot - gnuplot if GPL.

gnuplot is not GPL. In fact gnuplot has nothing to do with the GNU
project. The name is pure coincidence. Gnuplot is almost free-software
(99.9%). So it depends on who wrote the code.

  Bernhard
--
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)

Good point. I am putting this into the hands of the lawyers but I think
the linking and GPL should not be an issue. Hopefully I can get all answers
soon.

Now, on to some more new plans:

Server: we're buying a new web/ftp server (p3 550, 512ram, etc)
for serving web and ftp operations. Will replace the Sun ultra
enterprise as grass.baylor.edu.

Now, the current Sun Ultra enterprise. If everyone wants a platform to
compile/work/play/test on, then so be it, it shall happen. As soon as
the new one gets here, we'll reconfigure (keeping the web and ftp
operations turned on) and make it grassdev.baylor.edu for everyones
own internal use. We can do this easily and will even upgrade it with
an additional 128mb ram. Os will be Solaris 7 with all the gcc/tcl/tl/etc etc

etc tools.

Sound ok? We order the ftp server it will take 2 weeks to get the
purchase order thru the mill, order, build, configure, and replace.
Our director will have this request in his hands Thursday morning from
us.

Bruce

Bernhard Reiter wrote:

On Wed, Dec 15, 1999 at 10:15:44AM -0600, Bruce_Byars@baylor.edu wrote:
> Non GPL'able code:

There are two distinct difficulties with the GPL.
(Which both are healthy and important to deal with, the GPL just
requires a bit of disciplin to ensure freedom in the future.)

One is:
        Can the code be linked together with GPL code?
        (For this matter is has to permit everythink that is connected
        with free software, but it does not have to be as save as
        software under the GPL.)

        PD if used in a context is okay and you can even claim the
        copyright, if we changed it for the sake of grass development.
        So it is GPLable in a way. :wink:

The second is: Non-free software or almost free software
        cannot be linked to GPL programs.

> The entire r.le suite of programs including:
> r.le.dist/
> r.le.setup/
> r.le.patch/
> r.le.trace/
> r.le.pixel/
>
> SDTS code was release to CERL and GRASS.
> The FIPS library is USGS and therefore should
> be public domain.

That is good.

> r.nntool contains code from the NETS back
> propogation neural network simulator. The
> neural network engine and headers were
> incorporated into the tool. Developed by NASA
> and released into the public-domain.

Good, too.

> r.out.mpeg may have applicable code that is
> copyright by Berkeley.
>
> f-tools use HEC format from WES. No problem
> as HEC tools are public-domain.

Good.

> ogl3d modules use SGI libes. Are they proprietary?
Don't know.

> src.contrib/CERL/SGI - applicable copyrights to SGI
> OpenGL.
>
> CWU Census scripts by CWU.
>
> /src.contrib/NMSU/WRAT - Cook College Remote Sensing
> Center holds copyright?
>
> grasslinks and grass.gdbase are copyright by the
> regents of Berkeley in Ca.
>
> g.gnuplot - gnuplot if GPL.

gnuplot is not GPL. In fact gnuplot has nothing to do with the GNU
project. The name is pure coincidence. Gnuplot is almost free-software
(99.9%). So it depends on who wrote the code.

        Bernhard
--
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)

  ------------------------------------------------------------------------
   Part 1.2Type: application/pgp-signature

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 4626
max: 0

Look below:
Between comments. Opening brace included but not the
close brace.

static char title[80];
static char *info =
{
title,
"",
"This program ortho-rectifies imagery blocks.",
"",
"Please enter the block to be rectified",
0
};

int main (int argc, char *argv)
{
    char block[30], subblock[30], buf[80];
    int new;

    G_gisinit (argv[0]);

/***
    I_location_info (title, argv[0]);
    while(1)
    {
        if (!I_vask_block_new (info, block, "EXIT"))
            break;
        new = !I_find_block (block);
        if (new)
        {
            sprintf (buf,"\n%s - does not exist, ", block);
            G_warning (buf);
            continue;
        }
        if (!I_vask_subblock_old (info, block, subblock, 0, ""))
            break;
****/
        menu (block, subblock);
    }

    return 0;
}

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 1933
max: 0

Hi Bruce,

I think you mean i.ortho.photo/menu/main.c?

If so, please look at Gmakefile. The main.c is
obsolete :slight_smile: Only menuc. and run.c are used.

i.ortho.photo only contains the following bugs:

1. When setting the second (corresponding) passpoint
on toposheet reference (or whatever you use) in right
window, this point is only chown *after* accepting it
in terminal window ("look o.k.:" yes). This happens in
menu point (6) chosen from main menu.

2. You have to create an imagery group before using
i.ortho.photo, otherwise it
  - either it does not start at all (case: you remove the last
     active group)
  - or it asks for an existing group
I think it would be better to create the group within the module
using menu (1).

Generally it is great that GRASS provides such an module.
Currently I am searching for a stereo analysis tool.

Best regards

Markus

On Thu, Dec 16, 1999 at 02:16:27PM -0600, Bruce_Byars@baylor.edu wrote:

Look below:
Between comments. Opening brace included but not the
close brace.

/***
    I_location_info (title, argv[0]);
    while(1)
    {
        if (!I_vask_block_new (info, block, "EXIT"))
            break;
        new = !I_find_block (block);
        if (new)
        {
            sprintf (buf,"\n%s - does not exist, ", block);
            G_warning (buf);
            continue;
        }
        if (!I_vask_subblock_old (info, block, subblock, 0, ""))
            break;
****/
        menu (block, subblock);
    }

    return 0;
}

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 2393
max: 0

Doh! Yea, I am trying out the newest Sun workshop and
am using the source tracer. It flags all kinds of things, most
of which don;t mean anything. That slipped by me.

Bruce

Markus Neteler wrote:

Hi Bruce,

I think you mean i.ortho.photo/menu/main.c?

If so, please look at Gmakefile. The main.c is
obsolete :slight_smile: Only menuc. and run.c are used.

i.ortho.photo only contains the following bugs:

1. When setting the second (corresponding) passpoint
on toposheet reference (or whatever you use) in right
window, this point is only chown *after* accepting it
in terminal window ("look o.k.:" yes). This happens in
menu point (6) chosen from main menu.

2. You have to create an imagery group before using
i.ortho.photo, otherwise it
  - either it does not start at all (case: you remove the last
     active group)
  - or it asks for an existing group
I think it would be better to create the group within the module
using menu (1).

Generally it is great that GRASS provides such an module.
Currently I am searching for a stereo analysis tool.

Best regards

Markus

On Thu, Dec 16, 1999 at 02:16:27PM -0600, Bruce_Byars@baylor.edu wrote:
>
> Look below:
> Between comments. Opening brace included but not the
> close brace.

> /***
> I_location_info (title, argv[0]);
> while(1)
> {
> if (!I_vask_block_new (info, block, "EXIT"))
> break;
> new = !I_find_block (block);
> if (new)
> {
> sprintf (buf,"\n%s - does not exist, ", block);
> G_warning (buf);
> continue;
> }
> if (!I_vask_subblock_old (info, block, subblock, 0, ""))
> break;
> ****/
> menu (block, subblock);
> }
>
> return 0;
> }

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 2393
max: 0

----------------------------------------
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 3271
max: 0