Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use of GPL v2 code #20

Open
kris-sigur opened this issue Aug 11, 2014 · 2 comments
Open

Use of GPL v2 code #20

kris-sigur opened this issue Aug 11, 2014 · 2 comments
Milestone

Comments

@kris-sigur
Copy link
Member

webarchive-commons uses GPL v2 code in at least two places.

OpenJDK7GZIPInputStream
OpenJDK7InflaterInputStream

These are both variants on classes from the OpenJDK 7 standard library.

This is likely incompatible with our Apache license.

@johnerikhalse
Copy link
Contributor

These two classes contains this text in the license header:

Oracle designates this particular file as subject to the "Classpath" exception as provided by Oracle in the LICENSE file that accompanied this code.

After reading the Classpath exception part of the license, it is my understanding that we are fine by using this code with our Apache licensed code.

Here is the relevant part from the license:

"CLASSPATH" EXCEPTION TO THE GPL

Certain source files distributed by Oracle America and/or its affiliates are
subject to the following clarification and special exception to the GPL, but
only where Oracle has expressly included in the particular source file's header
the words "Oracle designates this particular file as subject to the "Classpath"
exception as provided by Oracle in the LICENSE file that accompanied this code."

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.

@gojomo
Copy link

gojomo commented Sep 26, 2014

That this use is in accordance with the classpath exception is my interpretation as well, as noted in the Heritrix issue which introduced these classes: https://webarchive.jira.com/browse/HER-1865?focusedCommentId=28466&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-28466.

If/when a project is willing to require JDK7-or-later, these will likely be unnecessary... they were pulled in, from OpenJDK7, to work-around a bug in some JDK6 gzip class versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants