-
Notifications
You must be signed in to change notification settings - Fork 4
GSIP 37 GPL plus Classpath Exception for Dispatch
Move the GeoServer dispatch system to GPL+Classpath Exception. (deferred
- lost momentum)
Jody Garnett
2.0.x
Deferred
The use of the GPL license forces community modules to be released as GPL. This was fine when GeoServer was a young project and could not be separated from its core implementation of WFS and WMS. Now that GeoServer is taking shape as a very valuable framework for the development of geospatial web services (using an OGC style open web service dispatch system; and a RESTful services) we have an opportunity to relax a little; while still protecting our core WMS, WFS, WCS modules with GPL.
The recommendation of GPL+Classpath Exception is made as:
- it is a smooth transition from GPL
- organizations evaluating GeoServer are assumed to have review the GPL+Classpath Exception license as it is now used for Java itself
http://www.gnu.org/software/classpath/license.html
http://openjdk.java.net/legal/gplv2+ce.html
It amounts to the following blurb: {panel} Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. {panel}
As shown in this example implementation of Buffer.java .
This proposal covers changing the license of the following modules:
- platform
- main
- ows
- rest
- web2/web-core
Before:
/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, availible at the root
* application directory.
*/
package org.geoserver.ows
...
public class Dispatcher extends AbstractController {
..
}
After:
/* Copyright (c) 2001 - 2009 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, availible at the root
* application directory.
*
* As a special exception, the copyright holders of this library give you
* permission to link this library with independent modules to produce an
* executable, regardless of the license terms of these independent
* modules, and to copy and distribute the resulting executable under
* terms of your choice, provided that you also meet, for each linked
* independent module, the terms and conditions of the license of that
* module. An independent module is a module which is not derived from
* or based on this library. If you modify this library, you may extend
* this exception to your version of the library, but you are not
* obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*/
package org.geoserver.ows
...
public class Dispatcher extends AbstractController {
..
}
We would also need to include the GPL+Classpath license in our distribution.\
This section should contain feedback provided by PSC members who may have a problem with the proposal.
Jody Garnett: Justin noted that the most popular extension is the definition of a new WFS output format; this proposal does not cover this very common usecase
Jody Garnett: personally I cannot really tell the differnece between LGPL and GPL+Classpath
Jody Garnett: this proposal has received no real feedback; we seem to be stuck between:
- isolating all the code that is for “API” into a seperate module; or
- running around and stamping the classpath exception header into a specific list of classes
There are no backwards compatibility issues currently listed. Use of a GPL library by core may constitute a backwards compatibility issue.
Andrea Aime: Alessio Fabiani Justin Deoliveira: Jody Garnett: +0 Saul Farber: Rob Atkinson:
JIRA Task Email Discussion Wiki Page