Joseph Witt created NIFI-1419:
---------------------------------
Summary: Use of Snappy-Java questionable according to ASF
licensing guidelines
Key: NIFI-1419
URL: https://issues.apache.org/jira/browse/NIFI-1419
Project: Apache NiFi
Issue Type: Bug
Reporter: Joseph Witt
Apache NiFi presently uses (by transitive dependency) Xerial Snappy which is
ASLv2 https://github.com/xerial/snappy-java/blob/develop/LICENSE
NiFi uses Snappy in at least the following places
{quote}
./nar/extensions/nifi-avro-nar-0.4.2-SNAPSHOT.nar-unpacked/META-INF/bundled-dependencies/snappy-java-1.0.5.jar
./nar/extensions/nifi-hadoop-libraries-nar-0.4.2-SNAPSHOT.nar-unpacked/META-INF/bundled-dependencies/snappy-java-1.0.5.jar
./nar/extensions/nifi-hbase_1_1_2-client-service-nar-0.4.2-SNAPSHOT.nar-unpacked/META-INF/bundled-dependencies/snappy-java-1.0.5.jar
./nar/extensions/nifi-kafka-nar-0.4.2-SNAPSHOT.nar-unpacked/META-INF/bundled-dependencies/snappy-java-1.1.1.7.jar
./nar/extensions/nifi-standard-nar-0.4.2-SNAPSHOT.nar-unpacked/META-INF/bundled-dependencies/snappy-java-1.0.5.jar
{quote}
But the concern is that Java-Snappy's NOTICE
https://github.com/xerial/snappy-java/blob/develop/NOTICE indicates that it is
comprised of statically linked software made available under the GNU Runtime
Library Exception
{quote}
This library containd statically linked libstdc++. This inclusion is allowed by
"GCC RUntime Library Exception"
http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html
{quote}
In reviewing the allowable licensing for Apache projects (which is an ASL
interpretation of the valid ASLv2 licensing terms) found here
http://www.apache.org/legal/resolved.html#category-x Specifically the language
that suggests this is disallowed is
{quote}
Special exceptions to the GNU GPL
Some copyright holders have licensed their works under the GPL with special
exceptions. Although these exceptions may appear to be addressing the
restrictions disallowed by the ASF's first and second license criteria, the
exceptions may only apply to software not "derived from or based on" the
covered work. This references terms defined in the GPL that include works that
"use" or "contain" the work.
{quote}
It appears that this library, as it is coming in via transitive dependencies,
is used by many ASF projects including Spark, Kafka, Hadoop, and Cassandra.
We need to find out whether this is a problem which we must remedy and if so
how best to do so given the connection it has to so many projects. There is a
pure Java alternative which we will move to for one of our new interests in a
direct support for Snappy compression but for these other libraries that use
Xerials we should verify the situation.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)