[OSSIM] Fwd: [Incubator] OSSIM Incubation Graduation

Frank Warmerdam warmerdam at pobox.com
Wed Mar 5 14:35:48 EST 2008


Garrett Potts wrote:
> Hello All:
> 
> 
> I am a little confused about some of the comments in the email but will 
> give you some of my thoughts.
> 
> 
> 
>>>
>>> http://svn.osgeo.org/ossim/trunk/ossimPlanetQt/src/gui/ossimPlanetQtMainWindow.cpp 
>>>
> 
> Added a top level LICENSE.txt file.

Garrett,

The provenance review document seemed to indicate that all the .cpp files had
at least a header something like:

//*******************************************************************
//
// License:  See top level LICENSE.txt file.
//
// Author:  Garrett Potts
//
//*******************************************************************

I highlighted the ossimPlanetQtMainWindow.cpp file because it (and as
far as I could see *all* the qt planet code) did not seem to follow
this convention.  This left me wondering whether the planet code had
actually been reviewed or not.

I also think that the minimum responsible header would actually indicate
the license that applies by name.  For instance, indicating that it is
LGPL, and then referencing the LICENSE.txt for the full license text.

The problem I have with just referring to "top level LICENSE.txt" is that
if any of the ossim code becomes disconnected from it's source tree there
remains essentially no clue about what the appropriate licensing is, what
project the code relates to, who holds the copyright, etc.

I'm not sure whether the incubation committee will require any particular
style of header but other projects have gone to some effort to add clearer
file headers to make provenance, and license clearer.  For instance GRASS
uses:

/****************************************************************************
  *
  * MODULE:       r.bilinear
  *
  * AUTHOR(S):    Bill Brown - CERL (Thu Jul 27, 1995)
  *
  * PURPOSE:      Bilinear interpolation for raster map layers
  *
  * COPYRIGHT:    (C) 2005 by the GRASS Development Team
  *
  *               This program is free software under the GNU General Public
  *               License (>=v2). Read the file COPYING that comes with GRASS
  *               for details.
  *
  ****************************************************************************/

>>>
>>> http://svn.osgeo.org/ossim/trunk/ossim/src/ossim/support_data/ossimRpfAttributeOffsetRecord.cpp 
>>>
>>> http://svn.osgeo.org/ossim/trunk/ossim/src/ossim/elevation/ossimElevationShapeIdx.cpp 
>>>
>>>
> 
> Most code that is not integrated from someone else adheres to the ossim 
> root LICENSE.txt file and is LGPL.

Understood.  I'd just like to see a standard style of header indicating that.

>>> For modules like:
>>>
>>> http://svn.osgeo.org/ossim/trunk/ossim/src/ossim/projection/ossimEckert6Projection.cpp 
>>>
>>>
> 
> I do not duplicate license or origin that is found in the header 
> included by the source:
> 
> //*******************************************************************
> //
> // License:  See top level LICENSE.txt file.
> //
> // Author:  Garrett Potts
> //
> // Description:
> //
> // Calls Geotrans Eckert6 projection code.
> //*******************************************************************
> 
> In the header it states that the GEOTRANS code is used.  I can add a 
> GEOTRANS license somewhere but it's license is the same level of 
> restriction as OSISM core which means you can use in commercial 
> applications.

My concern here is saying "calls geotrans..." isn't doing very much to
clarify the licensing, and conditions for this file.  It assumes that
now and into the future it will be easy for folks to know what geotrans
is, and to track back to that package to find it's provenance and
licensing for verification purposes.

Also, I think the provenance review document - which is intended to
reflect all your findings during your review, should note the
use of Geotrans code, with a brief explanation of why it is ok to
have done so.  For instance, in GDAL I reuse some GeoTrans MGRS code.
I carefully preserved the original file headers so it is possible for
folks to understand the source.  And in my provenance review doc I note:

=== gdal/frmts/nitf ===

* mgrs.h, mgrs.c: Derived from Geotrans (public domain), not current copyright 
header.
* The rest is FrankW, clean.

I'm not writing a novel here, just trying to make it clear I that I
found something a bit unusual, reviewed it, cleared it and noting
why I think that is ok.  In the case of OSSIM I'd expect to see such a
note for the projections directory indicating that various files are
partially derived from Geotrans, which is in the public domain
perhaps even quoting from the geotrans header which reads "LICENSES
none apply to this component."

I would like to stress none of this is me saying there is a problem
with using Geotrans code - just saying that stuff like this should
be noted in the provenance review - if for no other reason than to
make the incubation committee and outside auditors comfortable that
the review process was serious.

>>> which contain substantial outside code (geotrans in this case) I think
>>> it would be prudent for file headers to have some discussion of the
>>> source, and licensing that applies.  I gather geotrans is in the public
>>> domain, so I don't believe there is a problem - but I do think clear
>>> documentation is in order for such outside derivations.  This should
>>> also be mentioned in the provenance review.
>>>
>>> Another outside code example is:
>>>
>>>  http://svn.osgeo.org/ossim/trunk/ossim/src/ossim/matrix/fft.cpp
> 
> 
> Again.  I do not touch embedded library code unless Ineed to export 
> symbols I am using or there are basica compilation errors.  Given as 
> such I included everything verbatim that is in the distribution of the 
> matrix library.  He has all information and license information found in:
> 
> matrix/newmat.txt

This is likely fine, but it needs to be noted in the provenance
review document.

>>>
>>>
>>> This properly (I assume) attributes the copyright, but does not
>>> provide any clarity on origin, license or other terms.
>>>
>>> Another is:
>>>  http://svn.osgeo.org/ossim/trunk/ossim/src/ossim/vec/shpopen.c
> 
> I am not sure what the problem is with this.  The file is in tact and 
> clearly states the origin and license:

Once again, the problem is that it was not noted in the provenance
review document.

BTW, in the case of GDAL I prepared a LICENSE.TXT in the root of the
GDAL source tree that actually lists *all* the licenses that apply to
parts of the source tree so there is no assumption that the main license
(ie. LGPL) applies to all the code.  I think this is a good practice
and makes it easier for those using the package to understand the licenses
that apply - particular important for libraries.

Best regards,

-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | President OSGeo, http://osgeo.org



More information about the Incubator mailing list