Skip to content

Commit

Permalink
HBASE-14085 Update LICENSE and NOTICE files.
Browse files Browse the repository at this point in the history
* corrects license/notice for source distribution
* adds inception year to correct copyright in generated NOTICE files for jars
* updates project names in poms to use "Apache HBase" instead of "HBase" so jar NOTICE files will be correct
* uses append-resources to include supplemental info on jars with 3rd party works in source
* adds an hbase specific resource bundle for jars that include 3rd party works for binaries
** uses supplemental-model to fill in license gaps
** uses the above and a shade plugin transformation to build proper files for shaded jars.
** uses the above and the assembly plugin to build the proper files for bin assembly
* adds a NOTICE item for things copied out of Hadoop (TODO legal-discuss)
  • Loading branch information
busbey committed Aug 4, 2015
1 parent 931e77d commit 1b0b67f
Show file tree
Hide file tree
Showing 38 changed files with 5,533 additions and 50 deletions.
412 changes: 412 additions & 0 deletions LICENSE.txt

Large diffs are not rendered by default.

48 changes: 31 additions & 17 deletions NOTICE.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,16 @@
This product includes software developed by The Apache Software
Foundation (http://www.apache.org/).
Apache HBase
Copyright 2007-2015 The Apache Software Foundation

In addition, this product includes software developed by:
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

Jamon (http://www.jamon.org/) is a text template engine for Java used by our
UI. It uses the Mozilla Public License (http://www.mozilla.org/MPL/)
See the tail of http://www.jamon.org/About.html
--
This product incorporates portions of the 'Hadoop' project

JUnit (http://www.junit.org/) included under the Common Public License v1.0. See
the full text here: http://junit.sourceforge.net/cpl-v10.html

JRuby (http://jruby.org) is tri-licensed. We include it under terms of the
Common Public License v1.0.

JRuby itself includes libraries variously licensed. See its COPYING document
for details: https://github.com/jruby/jruby/blob/master/COPYING

The JRuby community went out of their way to make JRuby compatible with Apache
projects: See https://issues.apache.org/jira/browse/HBASE-3374)
Copyright 2007-2009 The Apache Software Foundation

Licensed under the Apache License v2.0
--
Our Orca logo we got here: http://www.vectorfree.com/jumping-orca
It is licensed Creative Commons Attribution 3.0.
See https://creativecommons.org/licenses/by/3.0/us/
Expand All @@ -30,3 +22,25 @@ The original is owned by vectorportal.com. The original was
relicensed so we could use it as Creative Commons Attribution 3.0.
The license is bundled with the download available here:
http://www.vectorportal.com/subcategory/205/KILLER-WHALE-FREE-VECTOR.eps/ifile/9136/detailtest.asp
--
This product includes portions of the Bootstrap project v3.0.0

Copyright 2013 Twitter, Inc.

Licensed under the Apache License v2.0

This product uses the Glyphicons Halflings icon set.

http://glyphicons.com/

Copyright Jan Kovařík

Licensed under the Apache License v2.0 as a part of the Bootstrap project.

--
This product includes portions of the Guava project v14, specifically
'hbase-common/src/main/java/org/apache/hadoop/hbase/io/LimitInputStream.java'

Copyright (C) 2007 The Guava Authors

Licensed under the Apache License, Version 2.0
2 changes: 1 addition & 1 deletion hbase-annotations/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
</parent>

<artifactId>hbase-annotations</artifactId>
<name>HBase - Annotations</name>
<name>Apache HBase - Annotations</name>
<description>Copy of Hadoop's annotations for HBase</description>

<profiles>
Expand Down
85 changes: 84 additions & 1 deletion hbase-assembly/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,46 @@
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-assembly</artifactId>
<name>HBase - Assembly</name>
<name>Apache HBase - Assembly</name>
<description>
Module that does project assembly and that is all that it does.
</description>
<packaging>pom</packaging>
<properties>
<license.bundles.dependencies>true</license.bundles.dependencies>
</properties>
<build>
<plugins>
<!-- licensing info from our dependencies -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>default</id>
<configuration>
<properties>
<copyright-end-year>${build.year}</copyright-end-year>
<debug-print-included-work-info>${license.debug.print.included}</debug-print-included-work-info>
<bundled-dependencies>${license.bundles.dependencies}</bundled-dependencies>
<bundled-jquery>${license.bundles.jquery}</bundled-jquery>
<bundled-logo>${license.bundles.logo}</bundled-logo>
<bundled-bootstrap>${license.bundles.bootstrap}</bundled-bootstrap>
</properties>
<resourceBundles>
<resourceBundle>${project.groupId}:hbase-resource-bundle:${project.version}</resourceBundle>
</resourceBundles>
<supplementalModelArtifacts>
<supplementalModelArtifact>${project.groupId}:hbase-resource-bundle:${project.version}</supplementalModelArtifact>
</supplementalModelArtifacts>
<supplementalModels>
<supplementalModel>supplemental-models.xml</supplementalModel>
</supplementalModels>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven.assembly.version}</version>
Expand Down Expand Up @@ -69,8 +102,52 @@
<outputFile>${project.parent.basedir}/target/cached_classpath.txt</outputFile>
</configuration>
</execution>
<!--
Build an aggregation of our templated NOTICE file and the NOTICE files in our dependencies.
If MASSEMBLY-382 is fixed we could do this in the assembly
Currently relies on env, bash, find, and cat.
-->
<execution>
<!-- put all of the NOTICE files out of our dependencies -->
<id>unpack-dependency-notices</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<useSubDirectoryPerArtifact>true</useSubDirectoryPerArtifact>
<includes>**\/NOTICE,**\/NOTICE.txt</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<id>concat-NOTICE-files</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>env</executable>
<arguments>
<argument>bash</argument>
<argument>-c</argument>
<argument>cat maven-shared-archive-resources/META-INF/NOTICE \
`find ${project.build.directory}/dependency -iname NOTICE -or -iname NOTICE.txt` \
</argument>
</arguments>
<outputFile>${project.build.directory}/NOTICE.aggregate</outputFile>
<workingDirectory>${project.build.directory}</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- /end building aggregation of NOTICE files -->
</plugins>
</build>
<dependencies>
Expand Down Expand Up @@ -113,5 +190,11 @@
<artifactId>hbase-testing-util</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-resource-bundle</artifactId>
<version>${project.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
</project>
2 changes: 0 additions & 2 deletions hbase-assembly/src/main/assembly/components.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@
<directory>${project.basedir}/..</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>LICENSE.txt</include>
<include>NOTICE.txt</include>
<include>CHANGES.txt</include>
<include>README.txt</include>
</includes>
Expand Down
21 changes: 21 additions & 0 deletions hbase-assembly/src/main/assembly/hadoop-two-compat.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,25 @@
</binaries>
</moduleSet>
</moduleSets>
<!-- Include the generated LICENSE and NOTICE files -->
<files>
<file>
<source>${project.build.directory}/maven-shared-archive-resources/META-INF/LICENSE</source>
<outputDirectory>.</outputDirectory>
<destName>LICENSE.txt</destName>
<lineEnding>unix</lineEnding>
</file>
<file>
<source>${project.build.directory}/NOTICE.aggregate</source>
<outputDirectory>.</outputDirectory>
<destName>NOTICE.txt</destName>
<lineEnding>unix</lineEnding>
</file>
<file>
<source>${basedir}/src/main/resources/META-INF/LEGAL</source>
<outputDirectory>.</outputDirectory>
<destName>LEGAL</destName>
<lineEnding>unix</lineEnding>
</file>
</files>
</assembly>
5 changes: 5 additions & 0 deletions hbase-assembly/src/main/resources/META-INF/LEGAL
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
In Ruby's source distribution, this would describe a number of C source files
that have different licenses than Ruby itself. None of those apply to JRuby,
so we have this file here as a placeholder.

For details of licensing of this collective work, see LICENSE
2 changes: 1 addition & 1 deletion hbase-checkstyle/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-checkstyle</artifactId>
<version>2.0.0-SNAPSHOT</version>
<name>HBase - Checkstyle</name>
<name>Apache HBase - Checkstyle</name>
<description>Module to hold Checkstyle properties for HBase.</description>

<parent>
Expand Down
2 changes: 1 addition & 1 deletion hbase-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
</parent>

<artifactId>hbase-client</artifactId>
<name>HBase - Client</name>
<name>Apache HBase - Client</name>
<description>Client of HBase</description>

<build>
Expand Down
19 changes: 18 additions & 1 deletion hbase-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
</parent>

<artifactId>hbase-common</artifactId>
<name>HBase - Common</name>
<name>Apache HBase - Common</name>
<description>Common functionality for HBase</description>

<build>
Expand All @@ -40,6 +40,16 @@
</includes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources/META-INF/</directory>
<targetPath>META-INF/</targetPath>
<includes>
<include>NOTICE</include>
</includes>
<filtering>true</filtering>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down Expand Up @@ -142,6 +152,13 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<configuration>
<excludeResources>true</excludeResources>
<includes>
<include>src/main/java</include>
<include>${project.build.outputDirectory}/META-INF</include>
</includes>
</configuration>
</plugin>
</plugins>
<pluginManagement>
Expand Down
7 changes: 7 additions & 0 deletions hbase-common/src/main/appended-resources/META-INF/NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
--
This product includes portions of the Guava project v14, specifically
'hbase-common/src/main/java/org/apache/hadoop/hbase/io/LimitInputStream.java'

Copyright (C) 2007 The Guava Authors

Licensed under the Apache License, Version 2.0
5 changes: 5 additions & 0 deletions hbase-common/src/test/resources/META-INF/NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
${project.name}
Copyright ${project.inceptionYear}-${build.year} The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
2 changes: 1 addition & 1 deletion hbase-examples/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-examples</artifactId>
<name>HBase - Examples</name>
<name>Apache HBase - Examples</name>
<description>Examples of HBase usage</description>
<build>
<plugins>
Expand Down
2 changes: 1 addition & 1 deletion hbase-hadoop-compat/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
</parent>

<artifactId>hbase-hadoop-compat</artifactId>
<name>HBase - Hadoop Compatibility</name>
<name>Apache HBase - Hadoop Compatibility</name>
<description>
Interfaces to be implemented in order to smooth
over hadoop version differences
Expand Down
2 changes: 1 addition & 1 deletion hbase-hadoop2-compat/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ limitations under the License.
</parent>

<artifactId>hbase-hadoop2-compat</artifactId>
<name>HBase - Hadoop Two Compatibility</name>
<name>Apache HBase - Hadoop Two Compatibility</name>
<description>
Interfaces to be implemented in order to smooth
over hadoop version differences
Expand Down
2 changes: 1 addition & 1 deletion hbase-it/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
</parent>

<artifactId>hbase-it</artifactId>
<name>HBase - Integration Tests</name>
<name>Apache HBase - Integration Tests</name>
<description>Integration and System tests for HBase</description>

<properties>
Expand Down
2 changes: 1 addition & 1 deletion hbase-prefix-tree/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
</parent>

<artifactId>hbase-prefix-tree</artifactId>
<name>HBase - Prefix Tree</name>
<name>Apache HBase - Prefix Tree</name>
<description>Prefix Tree Data Block Encoder</description>

<build>
Expand Down
2 changes: 1 addition & 1 deletion hbase-procedure/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
</parent>

<artifactId>hbase-procedure</artifactId>
<name>HBase - Procedure</name>
<name>Apache HBase - Procedure</name>
<description>Procedure Framework</description>

<build>
Expand Down
2 changes: 1 addition & 1 deletion hbase-protocol/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
</parent>

<artifactId>hbase-protocol</artifactId>
<name>HBase - Protocol</name>
<name>Apache HBase - Protocol</name>
<description>Protobuf protocol classes used by HBase to communicate.</description>

<build>
Expand Down
Loading

0 comments on commit 1b0b67f

Please sign in to comment.