Bug #3196
closedFind/Change license on gpl/lgpl code
Added by Chad Berkley over 16 years ago. Updated over 16 years ago.
0%
Description
We need to find any code and/or libraries that currently are using gpl or lgpl as the license and negotiate with the author to change it to BSD. Most of the code is already owned by UC so we can just change it. At least one of the jars will need to be investigated.
Updated by Timothy McPhillips over 16 years ago
Here are the GPL'd and LGPL'd sources Sean Riddle found in the
Kepler source tree (with known authors/copyright holders in parentheses)
as of 3/21/08:
GPL
---
GRASS GIS
- cpp/gis/grass/GISHull/hull.cpp (Andrea Aime, Markus Neteler)
org/geon (Auto-generated by SEEK AMS)
- org/geon/GridOverlay.java (Efrat Jaeger, Ilkay Altintas)
- org/geon/Interpolate.java (Efrat Jaeger, John Harris)
org/kepler/gui
- org/kepler/gui/LibrarySearchPane.java (Chad Berkley)
- org/kepler/gui/LibrarySearchResultPane.java (Chad Berkley)
- org/kepler/gui/ResultHighlighter.java (Kevin Ruland)
- org/kepler/gui/ResultTreeRebuilder.java (Chad Berkley)
org/nmiworkflow
- org/nmiworkflow/GlobusJob.java
- org/nmiworkflow/GridFTP.java (Efrat Jaeger)
util
- util/PersistentTableModel.java (Ben Leinfelder)
LGPL
----
com/numericsolutions/geomodeltools
- com/numericsolutions/geomodeltools/GeomodelGlue.java
(Numeric Solutions)
- com/numericsolutions/geomodeltools/invdist_power_isosearch2d.java
(John Harris)
cpp/geotools package
- cpp/geotools/Makefile (Numeric Solutions)
- cpp/geotools/nsgeodata.cpp (Numeric Solutions)
- cpp/geotools/nsgeomath.cpp (Numeric Solutions)
- cpp/geotools/nsgeomath.h (Numeric Solutions)
- cpp/geotools/nsgeotoolsjniglue.cpp (Numeric Solutions)
org/kepler/dataproxy/datasource/opendap
- org/kepler/dataproxy/datasource/opendap/DapTranslator.java
(OPeNDAP Inc, Nathan Potter)
- org/kepler/dataproxy/datasource/opendap/OpendapDataSource.java
(OPeNDAP Inc, Nathan Potter)
- org/kepler/dataproxy/datasource/opendap/TypeMapper.java
(OPeNDAP Inc, Nathan Potter)
Updated by Timothy McPhillips over 16 years ago
The jar file lib/jar/cipres/jacorb.jar needs to be removed and dependencies on it satisfied some other way. The Jacorb package (http://www.jacorb.org/) is distributed under the LGPL license, and thus cannot be included in the Kepler release. It was added to Kepler with the comment, "Added jacorb.jar because the actors for CIPRes need to use CORBA".
Updated by Christopher Brooks over 16 years ago
I might be confused, but I thought that LGPL code was ok to include
because it is non-viral
http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIlatest/ptII/doc/coding/style.htm
says:
"Another GNU license is the GNU Library General Public License now known
as the GNU Lesser General Public License (LGPL). We try to avoid packages
that have this license, but we on occasion we have included them with
Ptolemy II. The LGPL license is less strict than the GPL - the LGPL
permits linking with other packages without encumbering the other package."
BTW - Ptolemy II includes LGPL code such as the java classes
used by the backtracking facility. The backtracking code is
not used by Kepler.
Updated by Dan Higgins over 16 years ago
I also thought that LGPL'd code should be acceptable.
But what about the Apache Licence, Kepler has a whole bunch of jars from the Apache Foundation!
Updated by Timothy McPhillips over 16 years ago
Ok, we're looking more deeply into LGPL. Thanks, Christopher. I think we'll at least need to include the source code for any LGPL components as part of the distribution (and jacorb.jar does not include its source code at present).
Updated by Matt Jones over 16 years ago
Apache-licensed code is generally redistributable in both source and binary forms (it is similar to BSD), although it often has an attribution clause. You can read the license here:
http://www.apache.org/licenses/LICENSE-2.0.html
The crux is:
"2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form."
Plus, if people require NOTICES to be redistributed, we need to comply in our redistribution:
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
2. You must cause any modified files to carry prominent notices stating that You changed the files; and
3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
"4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License."
So, I think we are all set on redistributing Apache code, but we need to be sure we include the Apache license in the release as well as any required attribution and NOTICES from the packages.
Updated by Christopher Brooks over 16 years ago
IANAL, but my recollection of the LGPL is that you need to make the source code
available, but it is not necessary to include it in the release.
There is info in bug #2318 about how Ptolemy handles copyrights.
Updated by Timothy McPhillips over 16 years ago
Source licenses update:
Jianting Zhang suggests removing GRASS support in cpp/gis/grass from the Kepler distribution. Comments?
Ilkay has agreed to have the sources in the org.geon package changed to BSD.
Chad has changed the licenses of the sources in the org.kepler.gui package to BSD.
Ilkay suggests removing the nmiworkflow package from Kepler. Any objections?
Ben Leinfelder has changed the license of util/PersistentTableModel.java to BSD.
With permission from John Harris, Chad has changed the licenses in Numeric Solutions sources to be BSD-compatible.
Nathan Potter and James Gallagher have given us permission to distribute the OPeNDAP sources in Kepler under a BSD license. The headers of the four sources files still need to be changed.
In summary, the files that still need to be changed or deleted are now:
- cpp/gis/grass/GISHull/hull.cpp
- org/geon/GridOverlay.java
- org/geon/Interpolate.java
- org/nmiworkflow/GlobusJob.java
- org/nmiworkflow/GridFTP.java
- org/kepler/dataproxy/datasource/opendap/DapTranslator.java
- org/kepler/dataproxy/datasource/opendap/OpendapDataSource.java
- org/kepler/dataproxy/datasource/opendap/OpendapDataSourceODC.java
- org/kepler/dataproxy/datasource/opendap/TypeMapper.java
Updated by Chad Berkley over 16 years ago
Jianting Zhang suggests removing GRASS support in cpp/gis/grass from the Kepler
distribution. Comments?
There are many workflows in the workflows directory that use the grass actors. I didn't see any in the demos directory that use grass. I'm against removing it unless the people who own the workflows that use it agree. Is grass only distributed under GPL?
Updated by Daniel Crawl over 16 years ago
The four Opendap actor files now have a BSD license.
Updated by Timothy McPhillips over 16 years ago
The following source files still have GPL licenses:
- cpp/gis/grass/GISHull/hull.cpp
- org/geon/GridOverlay.java
- org/geon/Interpolate.java
- org/nmiworkflow/GlobusJob.java
- org/nmiworkflow/GridFTP.java
Ilkay's plan on 4/16/08 was to change the licenses in the geon source files, after checking with the GEON team.
We agreed on 4/16/08 to remove hull.cpp from the head, but it was not clear who was going to do this and what other changes needed to be made to the system.
We also agreed to remove the org.nmiworkflow files above, but again it was not clear who was going to do this.
I will remove the hull.cpp and org.nmiworkflow files later today if no one objects.
Updated by David Welker over 16 years ago
The header files in the following folders under src/cpp need to have license text inserted into them:
backprop
garp
gis
Updated by Timothy McPhillips over 16 years ago
The following source files have been deleted:
cpp/gis/grass/GISHull/hull.cpp
org/nmiworkflow/GlobusJob.java
org/nmiworkflow/GridFTP.java
Two source files remain to be dealt with:
org/geon/GridOverlay.java -- Ilkay and Efrat say we should delete this.
org/geon/Interpolate.java -- Ilkay says "Was written by John Harris from NCEAS and Matt gave a go ahead to change it." And the copyright is indeed held by "Regents of UC and NCEAS". Because it's copyrighted by UC/NCEAS, does changing the license to BSD sound like a plan?
It looks like we also need to delete the lib/GISHull.dll library, assuming this was built from GISHull/hull.cpp.
Updated by Chad Berkley over 16 years ago
Did all tasks in comment 13. Also removed libgishull.so. I think this bug is now finished. I'm closing it.