Skip to content

Commit

Permalink
Rework of binary distribution licenses
Browse files Browse the repository at this point in the history
All redistributed jars are mentioned in the LICENSE file. If the jar
is ASLv2, it is simply listed under the ASLv2 text. If these ASLv2
jars have their own NOTICE files, then the relevant portions are added
to our NOTICE file.

All jar under license other than ASLv2 get their own section in
LICENSE, which links to the full text of their license. Non-ASLv2
generally do not require an update to NOTICE.

This change also includes a script, check-binary-license, which checks
that the contents on the LICENSE and NOTICE actually matches what
bundled in the distribution tarball.

Author: Ivan Kelly <[email protected]>

Reviewers: Sijie Guo <[email protected]>

This closes apache#888 from ivankelly/license-rework
  • Loading branch information
ivankelly authored and sijie committed Jan 18, 2018
1 parent 5e32f63 commit 64da7e7
Show file tree
Hide file tree
Showing 32 changed files with 2,147 additions and 943 deletions.
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ before_install:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then jdk_switcher use "$CUSTOM_JDK"; fi

script:
- travis_retry mvn --batch-mode clean apache-rat:check compile spotbugs:check
- travis_retry mvn --batch-mode clean apache-rat:check compile spotbugs:check package -DskipTests
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then dev/check-binary-license ./bookkeeper-dist/all/target/bookkeeper-all-4.7.0-SNAPSHOT-bin.tar.gz; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then dev/check-binary-license ./bookkeeper-dist/server/target/bookkeeper-server-4.7.0-SNAPSHOT-bin.tar.gz; fi
# Disabled the tests here. Since tests are running much slower on Travis than on Jenkins
# - ./dev/ticktoc.sh "mvn --batch-mode clean package"

Expand Down
7 changes: 1 addition & 6 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
Apache BookKeeper
Copyright 2011-2017 The Apache Software Foundation
Copyright 2011-2018 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This product contains a modified version of 'Circe', a high-performance
hash algorithm framework & library from Trevor Robinson:

* LICENSE: Apache License 2.0
* HOMEPAGE: https://github.com/trevorr/circe
17 changes: 17 additions & 0 deletions bookkeeper-dist/src/assemble/bin-all.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,23 @@
<include>${basedir}/*.txt</include>
</includes>
</fileSet>
<fileSet>
<directory>../src/main/resources/deps</directory>
<outputDirectory>/deps</outputDirectory>
<includes>
<include>javax.servlet-api-3.1.0/CDDL+GPL-1.1</include>
<include>jsr-305/LICENSE</include>
<include>netty-3.10.1.Final/*</include>
<include>netty-4.1.12.Final/*</include>
<include>paranamer-2.8/LICENSE.txt</include>
<include>protobuf-3.4.0/LICENSE</include>
<include>scala-library-2.11.7/LICENSE.md</include>
<include>scala-parser-combinators_2.11-1.0.4/LICENSE.md</include>
<include>scala-reflect-2.11.8/LICENSE.md</include>
<include>slf4j-1.7.25/LICENSE.txt</include>
</includes>
<fileMode>644</fileMode>
</fileSet>
</fileSets>
<files>
<file>
Expand Down
11 changes: 11 additions & 0 deletions bookkeeper-dist/src/assemble/bin-server.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,17 @@
<include>${basedir}/*.txt</include>
</includes>
</fileSet>
<fileSet>
<directory>../src/main/resources/deps</directory>
<outputDirectory>/deps</outputDirectory>
<includes>
<include>javax.servlet-api-3.1.0/CDDL+GPL-1.1</include>
<include>netty-4.1.12.Final/*</include>
<include>protobuf-3.4.0/LICENSE</include>
<include>slf4j-1.7.25/LICENSE.txt</include>
</includes>
<fileMode>644</fileMode>
</fileSet>
</fileSets>
<files>
<file>
Expand Down
729 changes: 260 additions & 469 deletions bookkeeper-dist/src/main/resources/LICENSE-all.bin.txt

Large diffs are not rendered by default.

535 changes: 152 additions & 383 deletions bookkeeper-dist/src/main/resources/LICENSE-server.bin.txt

Large diffs are not rendered by default.

163 changes: 116 additions & 47 deletions bookkeeper-dist/src/main/resources/NOTICE-all.bin.txt
Original file line number Diff line number Diff line change
@@ -1,55 +1,124 @@
Apache BookKeeper
Copyright 2011-2017 The Apache Software Foundation
Copyright 2011-2018 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

------------------------------------------------------------------------------------
- lib/io.dropwizard.metrics-metrics-core-3.1.0.jar
- lib/io.dropwizard.metrics-metrics-graphite-3.1.0.jar
- lib/io.dropwizard.metrics-metrics-jvm-3.1.0.jar

Metrics
Copyright 2010-2013 Coda Hale and Yammer, Inc.

This product includes software developed by Coda Hale and Yammer, Inc.

This product includes code derived from the JSR-166 project (ThreadLocalRandom, Striped64,
LongAdder), which was released with the following comments:

Written by Doug Lea with assistance from members of JCP JSR-166
Expert Group and released to the public domain, as explained at
http://creativecommons.org/publicdomain/zero/1.0/
------------------------------------------------------------------------------------
- lib/io.netty-netty-3.10.1.Final.jar

The Netty Project
=================

Please visit the Netty web site for more information:

* http://netty.io/

Copyright 2011 The Netty Project

The Netty Project licenses this file to you under the Apache License,
version 2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

This project includes:
Apache Log4j under The Apache Software License, Version 2.0
Caffeine under The Apache Software License, Version 2.0
Commons CLI under The Apache Software License, Version 2.0
Commons Codec under The Apache Software License, Version 2.0
Commons Collections under The Apache Software License, Version 2.0
Commons Configuration under The Apache Software License, Version 2.0
Commons IO under The Apache Software License, Version 2.0
Commons Lang under The Apache Software License, Version 2.0
Commons Logging under The Apache Software License, Version 2.0
Dropwizard Metrics under The Apache Software License, Version 2.0
Guava under The Apache Software License, Version 2.0
Jackson under The Apache Software License, Version 2.0
Java Native Access under The Apache Software License, Version 2.0
Java Servlet API under Common Development and Distribution License 1.0
Javax.inject under The Apache Software License, Version 2.0
Jetty under The Apache Software License, Version 2.0
JSR305 Annotations for Findbugs under The Apache Software License, Version 2.0
ParaNamer under New BSD License
Prometheus under The Apache Software License, Version 2.0
Protocol Buffer Java API under New BSD License
Scala under New BSD License
SLF4J API Module under MIT License
SLF4J LOG4J-12 Binding under MIT License
The Netty Project under The Apache Software License, Version 2.0
Twitter Finagle under The Apache Software License, Version 2.0
Twitter JSR166e under Creative Commons Zero v1.0 Universal
Twitter LibThrift under The Apache Software License, Version 2.0
Twitter Server under The Apache Software License, Version 2.0
Twitter Scrooge under The Apache Software License, Version 2.0
Twitter Util under The Apache Software License, Version 2.0
Vertx under The Apache Software License, Version 2.0
ZooKeeper under The Apache Software License, Version 2.0

This product contains a modified version of 'Circe', a high-performance
hash algorithm framework & library from Trevor Robinson:

* LICENSE: Apache License 2.0
* HOMEPAGE: https://github.com/trevorr/circe
------------------------------------------------------------------------------------
- lib/io.netty-netty-all-4.1.12.Final.jar

The Netty Project
=================

Please visit the Netty web site for more information:

* http://netty.io/

Copyright 2014 The Netty Project

The Netty Project licenses this file to you under the Apache License,
version 2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

------------------------------------------------------------------------------------
- lib/io.prometheus-simpleclient-0.0.21.jar
- lib/io.prometheus-simpleclient_common-0.0.21.jar
- lib/io.prometheus-simpleclient_hotspot-0.0.21.jar
- lib/io.prometheus-simpleclient_servlet-0.0.21.jar

Prometheus instrumentation library for JVM applications
Copyright 2012-2015 The Prometheus Authors

This product includes software developed at
Boxever Ltd. (http://www.boxever.com/).

This product includes software developed at
SoundCloud Ltd. (http://soundcloud.com/).

This product includes software developed as part of the
Ocelli project by Netflix Inc. (https://github.com/Netflix/ocelli/).
------------------------------------------------------------------------------------
- lib/org.eclipse.jetty-jetty-http-9.4.5.v20170502.jar
- lib/org.eclipse.jetty-jetty-io-9.4.5.v20170502.jar
- lib/org.eclipse.jetty-jetty-security-9.4.5.v20170502.jar
- lib/org.eclipse.jetty-jetty-server-9.4.5.v20170502.jar
- lib/org.eclipse.jetty-jetty-servlet-9.4.5.v20170502.jar
- lib/org.eclipse.jetty-jetty-util-9.4.5.v20170502.jar

==============================================================
Jetty Web Container
Copyright 1995-2017 Mort Bay Consulting Pty Ltd.
==============================================================

The Jetty Web Container is Copyright Mort Bay Consulting Pty Ltd
unless otherwise noted.

Jetty is dual licensed under both

* The Apache 2.0 License
http://www.apache.org/licenses/LICENSE-2.0.html

and

* The Eclipse Public 1.0 License
http://www.eclipse.org/legal/epl-v10.html

Jetty may be distributed under either license.

lib/org.eclipse.jetty-jetty-util-9.4.5.v20170502.jar bundles UnixCrypt

The UnixCrypt.java code implements the one way cryptography used by
Unix systems for simple password protection. Copyright 1996 Aki Yoshida,
modified April 2001 by Iris Van den Broeke, Daniel Deville.
Permission to use, copy, modify and distribute UnixCrypt
for non-commercial or commercial purposes and without fee is
granted provided that the copyright notice appears in all copies.
------------------------------------------------------------------------------------
113 changes: 77 additions & 36 deletions bookkeeper-dist/src/main/resources/NOTICE-server.bin.txt
Original file line number Diff line number Diff line change
@@ -1,43 +1,84 @@
Apache BookKeeper
Copyright 2011-2017 The Apache Software Foundation
Copyright 2011-2018 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

------------------------------------------------------------------------------------
- lib/io.netty-netty-all-4.1.12.Final.jar

The Netty Project
=================

Please visit the Netty web site for more information:

* http://netty.io/

Copyright 2014 The Netty Project

The Netty Project licenses this file to you under the Apache License,
version 2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.

This project includes:
Apache Log4j under The Apache Software License, Version 2.0
Commons CLI under The Apache Software License, Version 2.0
Commons Codec under The Apache Software License, Version 2.0
Commons Collections under The Apache Software License, Version 2.0
Commons Configuration under The Apache Software License, Version 2.0
Commons IO under The Apache Software License, Version 2.0
Commons Lang under The Apache Software License, Version 2.0
Commons Logging under The Apache Software License, Version 2.0
Guava under The Apache Software License, Version 2.0
Jackson under The Apache Software License, Version 2.0
Java Native Access under The Apache Software License, Version 2.0
Java Servlet API under Common Development and Distribution License 1.0
Jetty under The Apache Software License, Version 2.0
Prometheus under The Apache Software License, Version 2.0
Protocol Buffer Java API under New BSD license
SLF4J API Module under MIT License
SLF4J LOG4J-12 Binding under MIT License
The Netty Project under The Apache Software License, Version 2.0
Vertx under The Apache Software License, Version 2.0
ZooKeeper under Apache License, Version 2.0

This product contains a modified version of 'Circe', a high-performance
hash algorithm framework & library from Trevor Robinson:

* LICENSE: Apache License 2.0
* HOMEPAGE: https://github.com/trevorr/circe
------------------------------------------------------------------------------------
- lib/io.prometheus-simpleclient-0.0.21.jar
- lib/io.prometheus-simpleclient_common-0.0.21.jar
- lib/io.prometheus-simpleclient_hotspot-0.0.21.jar
- lib/io.prometheus-simpleclient_servlet-0.0.21.jar

Prometheus instrumentation library for JVM applications
Copyright 2012-2015 The Prometheus Authors

This product includes software developed at
Boxever Ltd. (http://www.boxever.com/).

This product includes software developed at
SoundCloud Ltd. (http://soundcloud.com/).

This product includes software developed as part of the
Ocelli project by Netflix Inc. (https://github.com/Netflix/ocelli/).
------------------------------------------------------------------------------------
- lib/org.eclipse.jetty-jetty-http-9.4.5.v20170502.jar
- lib/org.eclipse.jetty-jetty-io-9.4.5.v20170502.jar
- lib/org.eclipse.jetty-jetty-security-9.4.5.v20170502.jar
- lib/org.eclipse.jetty-jetty-server-9.4.5.v20170502.jar
- lib/org.eclipse.jetty-jetty-servlet-9.4.5.v20170502.jar
- lib/org.eclipse.jetty-jetty-util-9.4.5.v20170502.jar

==============================================================
Jetty Web Container
Copyright 1995-2017 Mort Bay Consulting Pty Ltd.
==============================================================

The Jetty Web Container is Copyright Mort Bay Consulting Pty Ltd
unless otherwise noted.

Jetty is dual licensed under both

* The Apache 2.0 License
http://www.apache.org/licenses/LICENSE-2.0.html

and

* The Eclipse Public 1.0 License
http://www.eclipse.org/legal/epl-v10.html

Jetty may be distributed under either license.

lib/org.eclipse.jetty-jetty-util-9.4.5.v20170502.jar bundles UnixCrypt

The UnixCrypt.java code implements the one way cryptography used by
Unix systems for simple password protection. Copyright 1996 Aki Yoshida,
modified April 2001 by Iris Van den Broeke, Daniel Deville.
Permission to use, copy, modify and distribute UnixCrypt
for non-commercial or commercial purposes and without fee is
granted provided that the copyright notice appears in all copies.
------------------------------------------------------------------------------------
Loading

0 comments on commit 64da7e7

Please sign in to comment.