grass code making its way into gdal (+relicense)

7 messages Options
Embed this post
Permalink
hamish-2

grass code making its way into gdal (+relicense)

Reply Threaded More More options
Print post
Permalink
Hi,

It has come to my attention that some GRASS code has been ported to C++
under the Apache license, and from there is now included in GDAL/trunk as
BSD licensed. It is a substantial rewrite, but I have looked through the
code and there is IMO a clear lineage of the core. i.e. AFAICT it is a
derivative product -- but the the main question is if any GPL'd fixes or
enhancements are involved, or just reuse of CERL public domain code &
algorithms?

http://www.perrygeo.net/wordpress/?p=7
http://perrygeo.googlecode.com/svn/trunk/demtools/slope.cpp
http://trac.osgeo.org/gdal/browser/trunk/gdal/apps/gdaldem.cpp

specifically this code is derived from r.slope.aspect and r.shaded.relief.
(I didn't check the color rules code although the rules format is
similar.)

Again, these modules are historically derived from really old CERL code,
so _originally_ public domain. IMHO at minimum that should be credited.
(the oldest version I have on hand to check is GRASS 4.3, 1999/GPL)

But it definitely includes some of our GPL-era enhancements.
 (e.g. 'r.shaded.relief scale=')


I'm happy for code to be reused for useful purposes, I'm not happy for
GPL licensed code to be laundered into BSD with all copyright and
attribution removed; which Will then be reused by someone else in a
proprietary product at a rate proportional to its usefulness (and this
is very useful code). As this was all done in the open, if there is any
problem (& I'm not sure there is), I expect it to stem from a simple
oversight.

If we do feel there is some non-trivial GPL-derived code in there to
claim, all authors of that code would need to agree to a relicense of it
as BSD. (my guess/hope is that it is all either CERL-based or trivial
changes)


according to the headers, these authors have contributed to those modules:

r.slope.aspect:
Michael Shapiro,
Marjorie Larson, and
Olga Waupotitsch (original CERL contributors),
Markus Neteler,
Bernhard Reiter,
Brad Douglas,
Glynn Clements,
Hamish Bowman,
Jachym Cepicky,
Jan-Oliver Wagner,
Radim Blazek


r.shaded.relief:
CERL
Markus Neteler,
Michael Barton,
Gordon Keith,
Andreas Lange,
David Finlayson,
Glynn Clements,
(and me)


comments?


mine:
My feeling is that it is the sole responsibility of the coder to research
and clearly spell out the code heritage in the code header comments. Even
if it is deemed to be based on public domain CERL code, those authorship
and copyright statements shall Never be removed.

A port between computer languages is no different than a translation
between human languages -- and if you accept that, it follows that you
can't retranslate Harry Potter into Klingon and not expect to be sued
after your version goes on sale.

As a general comment I would not agree to any of my non-trivial GPL code
to be relicensed as BSD, as the GPL assures the return on investment for
my time.


Hamish
_______________________________________________
grass-psc mailing list
[hidden email]
http://lists.osgeo.org/mailman/listinfo/grass-psc
Frank Warmerdam

Re: grass code making its way into gdal (+relicense)

Reply Threaded More More options
Print post
Permalink
Hamish wrote:
> comments?

Hamish,

I have established a GDAL "license" ticket on this problem at:

   http://trac.osgeo.org/gdal/ticket/2975

If the GPL/GRASS derived portions cannot be rewritten we will have to remove
them or the whole utility.  I will leave it to you folks to follow up with
Matt with regard to his freestanding tools, though I have added him as a cc:
on the GDAL ticket.

I appreciate your bringing this to our attention (indirectly).

Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, [hidden email]
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent

_______________________________________________
grass-psc mailing list
[hidden email]
http://lists.osgeo.org/mailman/listinfo/grass-psc
hamish-2

Re: grass code making its way into gdal (+relicense)

Reply Threaded More More options
Print post
Permalink
In reply to this post by hamish-2

[http://trac.osgeo.org/gdal/ticket/2975]

Frank wrote:
> If the GPL/GRASS derived portions cannot be rewritten we will have to
> remove them or the whole utility.

It is pretty clear that the core methods of gdaldem were directly derived
from a GPL work. As luck would have it (I'm guessing, but it's highly
likely) that the GPL work in question was itself derived from a public domain work, so there is a good chance that we have a fairly clean way out
of this. It is my hope that we will be able to find old CERL/GRASS public
domain versions to go back to which contain the bulk of the code so we can
confirm that and gdaldem doesn't have to be removed or relicensed as GPL.
But nobody has gone back to do that yet. An audit would have to be done
between that original CERL code, the modern GRASS code, and gdaldem to be
sure that no GPL additions are included. As gdaldem (seems) based on GPL
grass that means following each CVS/SVN log 1999-2006, which luckily we
still have. Confirming that some bits of it were in the public domain does
not confirm that other bits of it are not.

If anything was found we'd have to sort that out, either by permission or
by rewrite. We'd have to supervise that to some extent, but the onus is
really on the new coder to prove that they have committed clean code.


> I appreciate your bringing this to our attention (indirectly).

my intention had been to discuss it amongst ourselves here and more fully
do our homework on it so to present something robust to gdal from the
offset, rather to immediately yell "gpl violation!" and run in circles
waving arms about, which helps nobody. so the gdal bug is filed a little
sooner than I planned, but I guess that's not a bad thing either as I
would not like to see GDAL 1.7.0 published in the mean time without this
being known.

I'd still like a discussion to take place among the GRASS devels as
I think it's healthy and reassuring to put forward a consensus view.


best,
Hamish



     

_______________________________________________
grass-psc mailing list
[hidden email]
http://lists.osgeo.org/mailman/listinfo/grass-psc
Dylan Beaudette

Re: grass code making its way into gdal (+relicense)

Reply Threaded More More options
Print post
Permalink
On Sun, May 3, 2009 at 10:24 PM, Hamish <[hidden email]> wrote:

>
> [http://trac.osgeo.org/gdal/ticket/2975]
>
> Frank wrote:
>> If the GPL/GRASS derived portions cannot be rewritten we will have to
>> remove them or the whole utility.
>
> It is pretty clear that the core methods of gdaldem were directly derived
> from a GPL work. As luck would have it (I'm guessing, but it's highly
> likely) that the GPL work in question was itself derived from a public domain work, so there is a good chance that we have a fairly clean way out
> of this. It is my hope that we will be able to find old CERL/GRASS public
> domain versions to go back to which contain the bulk of the code so we can
> confirm that and gdaldem doesn't have to be removed or relicensed as GPL.
> But nobody has gone back to do that yet. An audit would have to be done
> between that original CERL code, the modern GRASS code, and gdaldem to be
> sure that no GPL additions are included. As gdaldem (seems) based on GPL
> grass that means following each CVS/SVN log 1999-2006, which luckily we
> still have. Confirming that some bits of it were in the public domain does
> not confirm that other bits of it are not.
>
> If anything was found we'd have to sort that out, either by permission or
> by rewrite. We'd have to supervise that to some extent, but the onus is
> really on the new coder to prove that they have committed clean code.
>
>
>> I appreciate your bringing this to our attention (indirectly).
>
> my intention had been to discuss it amongst ourselves here and more fully
> do our homework on it so to present something robust to gdal from the
> offset, rather to immediately yell "gpl violation!" and run in circles
> waving arms about, which helps nobody. so the gdal bug is filed a little
> sooner than I planned, but I guess that's not a bad thing either as I
> would not like to see GDAL 1.7.0 published in the mean time without this
> being known.
>
> I'd still like a discussion to take place among the GRASS devels as
> I think it's healthy and reassuring to put forward a consensus view.
>
>
> best,
> Hamish
>

I am not an expert on the myriad of open source licenses, however, I
have met and interacted with Matt Perry and I do not think that this
act was intentional. I think that bringing Matt into the discussion as
soon as possible would be a good idea, as his original release of this
code appeared to be done as a case study in GDAL programming.

That said, I am glad that Hamish has spent the time and effort to look
over this code. The movement of GPL-ed GRASS algorithms into BSD-ed
mini-applications could represent a net loss of GRAS dev. time and
effort.

Thanks to all that have been looking into this matter.

Cheers,
Dylan
_______________________________________________
grass-psc mailing list
[hidden email]
http://lists.osgeo.org/mailman/listinfo/grass-psc
Massimiliano Cannata

Re: grass code making its way into gdal (+relicense)

Reply Threaded More More options
Print post
Permalink
Dylan Beaudette wrote:

> On Sun, May 3, 2009 at 10:24 PM, Hamish <[hidden email]> wrote:
>  
>> [http://trac.osgeo.org/gdal/ticket/2975]
>>
>> Frank wrote:
>>    
>>> If the GPL/GRASS derived portions cannot be rewritten we will have to
>>> remove them or the whole utility.
>>>      
>> It is pretty clear that the core methods of gdaldem were directly derived
>> from a GPL work. As luck would have it (I'm guessing, but it's highly
>> likely) that the GPL work in question was itself derived from a public domain work, so there is a good chance that we have a fairly clean way out
>> of this. It is my hope that we will be able to find old CERL/GRASS public
>> domain versions to go back to which contain the bulk of the code so we can
>> confirm that and gdaldem doesn't have to be removed or relicensed as GPL.
>> But nobody has gone back to do that yet. An audit would have to be done
>> between that original CERL code, the modern GRASS code, and gdaldem to be
>> sure that no GPL additions are included. As gdaldem (seems) based on GPL
>> grass that means following each CVS/SVN log 1999-2006, which luckily we
>> still have. Confirming that some bits of it were in the public domain does
>> not confirm that other bits of it are not.
>>
>> If anything was found we'd have to sort that out, either by permission or
>> by rewrite. We'd have to supervise that to some extent, but the onus is
>> really on the new coder to prove that they have committed clean code.
>>
>>
>>    
>>> I appreciate your bringing this to our attention (indirectly).
>>>      
>> my intention had been to discuss it amongst ourselves here and more fully
>> do our homework on it so to present something robust to gdal from the
>> offset, rather to immediately yell "gpl violation!" and run in circles
>> waving arms about, which helps nobody. so the gdal bug is filed a little
>> sooner than I planned, but I guess that's not a bad thing either as I
>> would not like to see GDAL 1.7.0 published in the mean time without this
>> being known.
>>
>> I'd still like a discussion to take place among the GRASS devels as
>> I think it's healthy and reassuring to put forward a consensus view.
>>
>>
>> best,
>> Hamish
>>
>>    
>
> I am not an expert on the myriad of open source licenses, however, I
> have met and interacted with Matt Perry and I do not think that this
> act was intentional. I think that bringing Matt into the discussion as
> soon as possible would be a good idea, as his original release of this
> code appeared to be done as a case study in GDAL programming.
>
> That said, I am glad that Hamish has spent the time and effort to look
> over this code. The movement of GPL-ed GRASS algorithms into BSD-ed
> mini-applications could represent a net loss of GRAS dev. time and
> effort.
>
> Thanks to all that have been looking into this matter.
>
> Cheers,
> Dylan
> _______________________________________________
> grass-psc mailing list
> [hidden email]
> http://lists.osgeo.org/mailman/listinfo/grass-psc
>
>  
I also don't think this was intentionally done and, as confirmed by
Frank, GDAL peoples will look into this.
But, even if derived from public domain work, I would suggest to Perry
to give the right credit to peoples that works on this:
its only a matter of fair play.

Btw: I cannot imagine how much of the GRASS code could have been ripped
in other apps and licences...

Maxi



--

Dr. Eng. Massimiliano Cannata
Responsabile Area Geomatica
Istituto Scienze della Terra
Scuola Universitaria Professionale della Svizzera Italiana
Via Trevano, c.p. 72
CH-6952 Canobbio-Lugano
Tel: +41 (0)58 666 62 14
Fax +41 (0)58 666 62 09

_______________________________________________
grass-psc mailing list
[hidden email]
http://lists.osgeo.org/mailman/listinfo/grass-psc
Markus Neteler

Re: grass code making its way into gdal (+relicense)

Reply Threaded More More options
Print post
Permalink
In reply to this post by hamish-2
On Mon, May 4, 2009 at 7:24 AM, Hamish <[hidden email]> wrote:
>
> [http://trac.osgeo.org/gdal/ticket/2975]
>
> Frank wrote:
>> If the GPL/GRASS derived portions cannot be rewritten we will have to
>> remove them or the whole utility.
>
> It is pretty clear that the core methods of gdaldem were directly derived
> from a GPL work.

Are you really sure, Hamish?

Helena has added a comment to the ticket:
http://trac.osgeo.org/gdal/ticket/2975

I feel that the relevant part was already in public domain GRASS.

Markus
_______________________________________________
grass-psc mailing list
[hidden email]
http://lists.osgeo.org/mailman/listinfo/grass-psc
hamish-2

Re: grass code making its way into gdal (+relicense)

Reply Threaded More More options
Print post
Permalink
In reply to this post by hamish-2

Dylan:
> I do not think that this act was intentional.
Massimiliano:
> I also don't think this was intentionally done

Nor, I. He was quite up front about the code heritage on his site; I
consider this to be simply an oversight in the source code header
comments which then caused another problem downstream. He undertook
it partly as a learning experience, and I guess that's what it turns
out to be. :) We all learn our lessons from time to time.

I fully understand that assuming a port from libgrass to libgdal and
C to C++ is not a verbatim copy so is ok seems reasonable at first,
but if you read the text of the GPL2 license it is rather clear:

"2b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License."


I do not wish to assign any blame or give anyone a hard time, just
to fix the technical problem so this nice tool can be cleanly released
to the public.


Hamish:
> > It is pretty clear that the core methods of gdaldem were directly
> > derived from a GPL work.
Markus:
> Are you really sure, Hamish?

Yes, I am, although perhaps I should have thrown in the word
"unintentionally". -- but that is irrelevant to the truth of the
statement.

gdaldem is based on Matt's Apache licensed version. Matt's code was
derived from ~ GRASS 5.0.2-6.2.1 (GPL) and (for whatever reason) ended
up relicensed without attribution under the Apache license. That is what
my above statement refers to.

That GRASS 5,6's version itself was based on a public domain work, and
that we are able + willing to mention and now help verify that fact, is
purely a matter of coincidence and good luck.




update:
Even, Helena, and myself have now looked through the old CERL version
dug up by Markus. Even found one one item in r.slope.aspect but as
far as I can tell that's in the CERL version already -- awaiting
clarification. As far as r.shaded.relief goes there is a small
contribution from Michael and one from Gordon Keith that are probably
trivial but as to what constitutes a trivial change isn't for me to say,
so I've asked them anyway. Other than that everything seems to be in
the clear, thankfully.

We've asked GDAL to cite GRASS 4.1 (CERL) in the header comments, and
I think it would be nice to cite the Horn 1981 paper as well which
contains the original slope algorithm.

Once that is done I'll forward the patch to Matt and request he does
the same and we can all move on.


regards,
Hamish



     

_______________________________________________
grass-psc mailing list
[hidden email]
http://lists.osgeo.org/mailman/listinfo/grass-psc