You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by ho...@apache.org on 2018/05/12 01:22:04 UTC

[incubator-openwhisk-release] branch master updated: Better describe LICENSE policies, rules and document exclusions by repo. (#148)

This is an automated email from the ASF dual-hosted git repository.

houshengbo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-release.git


The following commit(s) were added to refs/heads/master by this push:
     new f907174  Better describe LICENSE policies, rules and document exclusions by repo. (#148)
f907174 is described below

commit f907174957194fda24fc9ce8043376bf74631d45
Author: Matt Rutkowski <mr...@us.ibm.com>
AuthorDate: Fri May 11 20:22:01 2018 -0500

    Better describe LICENSE policies, rules and document exclusions by repo. (#148)
    
    * Better describe LICENSE policies, rules and document exclusions by repo.
    
    * Better describe LICENSE policies, rules and document exclusions by repo.
    
    * Better describe LICENSE policies, rules and document exclusions by repo.
---
 docs/license_assembly.md   | 139 +++++++++++++++
 docs/license_compliance.md |  41 +++--
 docs/license_exclusions.md | 284 ++++++++++++++++++++++++++++++
 docs/project_licenses.md   | 427 ---------------------------------------------
 4 files changed, 449 insertions(+), 442 deletions(-)

diff --git a/docs/license_assembly.md b/docs/license_assembly.md
new file mode 100644
index 0000000..92721b6
--- /dev/null
+++ b/docs/license_assembly.md
@@ -0,0 +1,139 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF 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.
+#
+-->
+
+# Assembling a LICENSE file
+
+## How to assemble the LICENSE file for an Apache OpenWhisk repository
+
+This document describes how to assemble the LICENSE file for an Apache OpenWhisk repository in compliance with Apache policy.
+
+## LICENSE file structure
+
+The LICENSE file consists of two major sections:
+
+- The content of Apache license 2.0
+- 3rd party License dependency listing (copy 3rd party license and reference)
+    - Qualified by "bundled" or "unbundled"
+
+### Copy and adjust the Apache 2 License text
+
+The content of the first section can be copied from the link [Apache license 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt).
+
+If applicable replace the sentence "Copyright [yyyy] [name of copyright owner]" with "Copyright 2016-[20xx] The Apache Software Foundation".
+
+### Note and reference 3rd party licenses
+
+The second section includes the information of licenses used by other software, since OpenWhisk depends on multiple packages in different ways. Please apply the following rules to identify and describe the relationship between them and OpenWhisk.
+
+A folder named licenses needs to be created under the home directory of each OpenWhisk project in order to keep the license files of other packages, each OpenWhisk project depends on. Make sure the license file is named after LICENSE-[package name].txt for each package.
+
+So far, we list 4 types of relations available among all OpenWhisk projects. We tend to group the packages by licenses, which means packages can be listed under one statement, if they share the same license.
+
+- **Source code dependency**: the packages, that OpenWhisk's source code depends on, and will be released together with OpenWhisk projects.
+
+  For this type of dependency, we used the verb "bundle" to indicate the relationship and add the following narration to LICENSE file to describe it:
+
+      This distribution bundles the following components, which are available under a [license name] license ([link of the licese]).
+      [package name] [version] ([codename] - [link of the package])
+        License included at licenses/LICENSE-[package name].txt
+        [copyright information]
+
+      [package name] [version] ([codename] - [link of the package])
+        License included at licenses/LICENSE-[package name].txt
+        [copyright information]
+      ...
+
+- **Binary dependency**: the packages, that OpenWhisk's source code depends on, but will NOT be released together with OpenWhisk projects.
+
+  For this type of dependency, we use the phrase "have binary dependencies on" to indicate the relationship and add the following narration to LICENSE file to describe it:
+
+      This distribution has binary dependencies on the following components, which are available under a [license name] license ([link of the licese]).
+      [package name] [version] ([codename] - [link of the package])
+        License included at licenses/LICENSE-[package name].txt
+        [copyright information]
+
+      [package name] [version] ([codename] - [link of the package])
+        License included at licenses/LICENSE-[package name].txt
+        [copyright information]
+      ...
+
+  For example, OpenWhisk CLI has binary dependencies on go-isatty and go-homedir, which are both licensed with MIT. We are add the following narration
+  into LICENSE file:
+
+        This distribution has binary dependencies on the following components, which are available an MIT license (http://opensource.org/licenses/MIT).
+        Go Isatty 66b8e73 (mattn/go-isatty - https://github.com/mattn/go-isatty)
+          License included at licenses/LICENSE-goisatty.txt, or https://github.com/mattn/go-isatty/blob/master/LICENSE
+          Copyright (c) Yasuhiro MATSUMOTO <ma...@gmail.com>
+
+        Go Homedir 1111e45 (mitchellh/go-homedir - https://github.com/mitchellh/go-homedir)
+          License included at licenses/LICENSE-gohomedir.txt, or https://github.com/mitchellh/go-homedir/blob/master/LICENSE
+          Copyright (c) 2013 Mitchell Hashimoto
+
+  The content of their licenses are included under licenses/LICENSE-goisatty.txt and licenses/LICENSE-gohomedir.txt.
+
+- **Packages used by OpenWhisk with no alternative**: the components, that are necessary to deliver OpenWhisk services or tools,
+and currently are the only candidates used by OpenWhisk.
+
+  For this type of dependency, we use the phrase "depend on" to indicate the relationship and add the following narration to LICENSE file to describe it:
+
+      This distribution depends on the following components, which are available under a [license name] license ([link of the licese]).
+      [package name] [version] ([codename] - [link of the package])
+        License included at licenses/LICENSE-[package name].txt
+        [copyright information]
+
+      [package name] [version] ([codename] - [link of the package])
+        License included at licenses/LICENSE-[package name].txt
+        [copyright information]
+      ...
+
+  For example, OpenWhisk depends on Docker engine, which is licensed with Apache 2.0. We can add the following narration into LICENSE file:
+
+        This distribution depends on the following components, which are available an Apache license 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
+        Docker engine [Docker version] (Docker - https://www.docker.com)
+          License included at licenses/LICENSE-docker.txt
+          Copyright 2013-2017 Docker, Inc
+
+- **Packages used by OpenWhisk with alternative**: the components, that are necessary to deliver OpenWhisk services or tools,
+but can be replaced with other packages by changing OpenWhisk configurations.
+
+  For this type of dependency, we use the phrase "optionally depend on" to indicate the relationship and add the following narration to LICENSE file to describe it:
+
+      This distribution optionally depends on the following components, which are available under a [license name] license ([link of the licese]).
+      [package name] [version] ([codename] - [link of the package])
+        License included at licenses/LICENSE-[package name].txt
+        [copyright information]
+
+      [package name] [version] ([codename] - [link of the package])
+        License included at licenses/LICENSE-[package name].txt
+        [copyright information]
+      ...
+
+  For example, OpenWhisk depends on Kafka and CouchDB, which are both licensed with Apache 2.0, but they can be replaced with other
+  messaging and database services. We can add the following narration into LICENSE file:
+
+        This distribution optionally depends on the following components, which are available an Apache license 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
+        Apache Kafka [Kafka version] (Kafka - https://github.com/apache/kafka)
+          License included at licenses/LICENSE-kafka.txt
+          Copyright 2018 The Apache Software Foundation
+
+        Apache CouchDB [CouchDb version] (CouchDB - https://github.com/apache/couchdb)
+          License included at licenses/LICENSE-couchdb.txt
+          Copyright 2009-2016 The Apache Software Foundation
+
+  The content of their licenses would be included under licenses/LICENSE-kafka.txt and licenses/LICENSE-couchdb.txt.
diff --git a/docs/license_compliance.md b/docs/license_compliance.md
index cc37748..194acb3 100644
--- a/docs/license_compliance.md
+++ b/docs/license_compliance.md
@@ -41,30 +41,34 @@ In accordance with Apache LICENSE policies, the following tables lists the speci
 
 For convenience, we provide a summary listing of all project LICENSE and NOTICE files along with notable dependencies in  from this repository's [Apache OpenWhisk LICENSE and NOTICE Summary](project_licenses.md#apache-openWhisk-license-and-notice-summary) file.
 
-### Known inclusions
+### Project ASF License header policy
 
 In accordance with Apache LICENSE policies, the table below lists files/file types that the community affirms MUST have an Apache LICENSE header since they are creating works representing Intellectual Property.
 
 In addition, the type of header used (i.e., "full" ASF header or ASF approved "minified" header) is noted along with the justification as is allowed by Apache policy.
 
-| File type | Header type | Rationale |
+| File type | ASF Header Type | Rationale |
 | --- | --- | --- |
-| Documentation (`*.md`)                                 | Full ASF license header | |
-| YAML files (`*.yaml`, `*.yml`)                         | Full ASF license header | |
-| XML files (`*.xml`)                                    | Full ASF license header | |
-| Docker file (`dockerfile`)                             | Full ASF license header | |
-| Installation script files (`*.sh`)                     | Full ASF license header | |
-| Travis files (`*.sh`)                                  | Full ASF license header | |
-| Makefile                                               | Full ASF license header | |
-| Source files of test actions  (e.g., .js, .py, .swift, etc, particularly under `tests/dat` folder.) | Mini ASF license header | Needs IP protection; also need to take care of the performance |
-| Action files in catalog (e.g., .js, .py, .swift, etc.) | Mini ASF license header | with much creativity so need IP protection; also need to take care of the performance |
+| Source Code (e.g., .scala, .go, .java, .py, etc.) | Full ASF license header | |
+| Action Functions (source) (e.g., .js, .py, .swift, etc, particularly under `tests/dat` folder.) | Mini ASF license header | Needs IP protection; Use "Mini" header as best practice for performance reasons. |
+| Documentation (e.g., `*.md`, `.html`) | Full ASF license header | |
+| YAML files (`*.yaml`, `*.yml`) | Full or Mini ASF license header | |
+| XML files (`*.xml`) | Full or Mini ASF license header | |
+| Docker file (`dockerfile`) | Full ASF license header | |
+| Script files (`*.sh`) | Mini ASF license header | |
+| Makefile | Full ASF license header | |
 | `build.gradle` and `settings.gradle` | Full ASF license header | build script and configuration for building with Gradle |
 | `gradle/docker.gradle` | Full ASF license header | build script to generate docker image using Gradle |
-| `*.conf` | Full ASF license header | Configuration file |
+| `*.conf` | Full or Mini ASF license header | Configuration file |
 
-### Known exclusions
 
-In accordance with Apache LICENSE policies, the table below lists known exclusions by file (type) as agreed to by the community along with the justification.
+#### Notes
+- Action source files used in performance testing may be added to "[Known exclusions](#known-exclusions)" when justified.
+
+
+## General Exclusions
+
+In accordance with Apache LICENSE policies, the table below lists general exclusions by file (type) as agreed to by the project community along with the justification.
 
 | File type | Rationale |
 | --- | --- |
@@ -90,6 +94,13 @@ In accordance with Apache LICENSE policies, the table below lists known exclusio
 | `SwiftyRequest/Package.resolved`                        | Configuration used by Swift Package Manager. See a sample [here](https://github.com/apache/incubator-openwhisk-runtime-swift/blob/master/tests/dat/actions/SwiftyRequest/Package.resolved) |
 | `gradlew.bat` and `gradlew`                     | Generated by Gradle wrapper. See a sample [here](https://github.com/apache/incubator-openwhisk/blob/master/gradlew.bat) |
 
+
+## Known Exclusions
+
+For convenience, the Apache OpenWhisk project provides a listing of "Known exclusions" of files that do not include an ASF License header by project repository:
+- [Apache OpenWhisk "Known exclusions"](license_exclusions.md)
+
+
 ## Enforcement and verification
 
 This section describes how the Apache OpenWhisk project enforces and verifies LICENSE and NOTICE file compliance as part of the DevOps and Release processes.
@@ -137,4 +148,4 @@ $ ./tools/travis/verify_source_code.sh <WORK_DIR>
 
 ### Apache Tentacles
 
-Although [Apache Tentacles](https://creadur.apache.org/tentacles/) is a tool to check LICENSE file and NOTICE file in artifacts uploading to a staging repository, it is not usable for the Apache OpenWhisk project because it doesn't support the unpacking of tar.gz files.
+Although [Apache Tentacles](https://creadur.apache.org/tentacles/) is a tool to check LICENSE file and NOTICE file in artifacts uploading to a staging repository, it is not usable for the Apache OpenWhisk project because it doesn't support the unpacking of tar.gz files.### Known exclusions
diff --git a/docs/license_exclusions.md b/docs/license_exclusions.md
new file mode 100644
index 0000000..689a5d2
--- /dev/null
+++ b/docs/license_exclusions.md
@@ -0,0 +1,284 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF 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.
+#
+-->
+
+# Known exclusions
+
+## License scanning exclusions
+
+The Apache OpenWhisk project enforces and verifies ASF License header conformance on all source files using the project's own scanCode utility (on all Travis CI builds) and Apache RAT tool (on all automated releases).
+
+In accordance with Apache policy, these utilities exclude specific files from the ASF license header requirement which are configured in the following files:
+- scanCode: [ASF-Release.cfg](https://github.com/apache/incubator-openwhisk-utilities/blob/master/scancode/ASF-Release.cfg)
+- Apache RAT:[pom.xml](https://github.com/apache/incubator-openwhisk-release/blob/master/tools/lib/pom.xml) (Apache Rat)
+
+## Bundled and non-Bundled dependencies
+
+In accordance with Apache policy, each of the Apache OpenWhisk project's repositories respective LICENSE and NOTICE files contain the full, canonical listing of all dependent software licenses.
+
+For convenience, the following table provides links to each project repository's LICENSE and NOTICE files, as well as an overview of notable software dependencies (non-canonical) and license scanning exclusions.
+
+<table border="1" cellpadding="8">
+<tbody>
+<tr align="left" valign="top">
+<th width="250">Repository</th>
+<th width="320">Exclusion</th>
+<th width="220">Rationale</th>
+</tr>
+<!-- ====== openwhisk ===================================================  -->
+<tr align="left" valign="top">
+<td>
+<p><a href="https://github.com/apache/incubator-openwhisk">incubator-openwhisk</a></p>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/93">#93</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk/blob/master/NOTICE.txt">NOTICE (</a><a href="https://github.com/apache/incubator-openwhisk-release/issues/75">#75</a><a href="https://github.com/apache/incubator-openwhisk/blob/master/NOTICE.txt">)</a></li>
+</ul>
+</td>
+<td>
+<p>tests/dat/actions/empty.js</p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhis-catalog ===============================================  -->
+<tr align="left" valign="top">
+<td>
+<p><a href="https://github.com/apache/incubator-openwhisk-catalog">incubator-openwhisk-catalog</a></p>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-catalog/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/96">#96</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-catalog/blob/master/NOTICE.txt">NOTICE </a>(<a href="https://github.com/apache/incubator-openwhisk-release/issues/79">#79</a>)</li>
+</ul>
+</td>
+<td>
+<p><span style="color: #ff0000;">None ?</span></p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhisk-apigateway ===============================================  -->
+<tr align="left" valign="top">
+<td>
+<p><a href="https://github.com/apache/incubator-openwhisk-apigateway">incubator-openwhisk-apigateway</a></p>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-apigateway/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/95">#95</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-apigateway/blob/master/NOTICE.txt">NOTICE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/78">#78</a>)</li>
+</ul>
+</td>
+<td>
+<p>lua_install</p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>tests/lua_modules</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhisk-cli ===============================================  -->
+<tr align="left" valign="top">
+<td>
+<p><a href="https://github.com/apache/incubator-openwhisk-cli">incubator-openwhisk-cli</a></p>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-cli/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/97">#97</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-cli/blob/master/NOTICE.txt">NOTICE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/76">#76</a>)</li>
+</ul>
+</td>
+<td>
+<p><span style="color: #ff0000;">tests files ?</span></p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhisk-client-go ===============================================  -->
+<tr align="left" valign="top">
+<td>
+<p><a href="https://github.com/apache/incubator-openwhisk-client-go">incubator-openwhisk-client-go</a></p>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-client-go/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/98">#98</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-client-go/blob/master/NOTICE.txt">NOTICE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/77">#77</a>)</li>
+</ul>
+</td>
+<td>
+<p><span style="color: #ff0000;">TBD</span></p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhisk-wskdeploy ===============================================  -->
+<tr align="left" valign="top">
+<td>
+<p><a href="https://github.com/apache/incubator-openwhisk-wskdeploy">incubator-openwhisk-wskdeploy</a></p>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/94">#94</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/NOTICE.txt">NOTICE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/86">#86</a>)</li>
+</ul>
+</td>
+<td>
+<p><span style="color: #ff0000;">TBD</span></p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhisk-runtime-nodejs ===============================================  -->
+<tr align="left" valign="top">
+<td>
+<p><a href="https://github.com/apache/incubator-openwhisk-runtime-nodejs">incubator-openwhisk-runtime-nodejs</a></p>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-nodejs/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/99">#99</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-nodejs/blob/master/NOTICE.txt">NOTICE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/82">#82</a>)</li>
+</ul>
+</td>
+<td>
+<p>tests/src/test/resources/application.conf</p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>ansible/environments/local/group_vars/all</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>ansible/environments/local/hosts</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhisk-runtime-swift ===============================================  -->
+<tr align="left" valign="top">
+<td><a href="https://github.com/apache/incubator-openwhisk-runtime-swift"> incubator-openwhisk-runtime-swift</a>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-swift/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/100">#100</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-swift/blob/master/NOTICE.txt">NOTICE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/85">#85</a>)</li>
+</ul>
+</td>
+<td>
+<p>tests/dat/actions/SwiftyRequest/Package.resolved</p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhisk-runtime-docker ===============================================  -->
+<tr align="left" valign="top">
+<td><a href="https://github.com/apache/incubator-openwhisk-runtime-docker">incubator-openwhisk-runtime-docker</a>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/101">#101</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/NOTICE.txt">NOTICE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/80">#80</a>)</li>
+</ul>
+</td>
+<td>
+<p>tests/src/test/resources/application.conf</p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>ansible/environments/local/group_vars/all</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>ansible/environments/local/hosts</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhisk-runtime-java ===============================================  -->
+<tr align="left" valign="top">
+<td><a href="https://github.com/apache/incubator-openwhisk-runtime-java">incubator-openwhisk-runtime-java</a>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-java/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/102">#102</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-java/blob/master/NOTICE.txt">NOTICE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/81">#81</a>)</li>
+</ul>
+</td>
+<td>
+<p>tests/src/test/resources/application.conf</p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>ansible/environments/local/group_vars/all</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>ansible/environments/local/hosts</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhisk-runtime-php ===============================================  -->
+<tr align="left" valign="top">
+<td><a href="https://github.com/apache/incubator-openwhisk-runtime-php">incubator-openwhisk-runtime-php</a>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-php/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/103">#103</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-php/blob/master/NOTICE.txt">NOTICE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/83">#83</a>)</li>
+</ul>
+</td>
+<td>
+<p>tests/src/test/resources/application.conf</p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>ansible/environments/local/group_vars/all</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>ansible/environments/local/hosts</td>
+<td>&nbsp;</td>
+</tr>
+<!-- ====== openwhisk-runtime-python ===============================================  -->
+<tr align="left" valign="top">
+<td><a href="https://github.com/apache/incubator-openwhisk-runtime-python">incubator-openwhisk-runtime-python</a>
+<ul>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-python/blob/master/LICENSE.txt">LICENSE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/104">#104</a>)</li>
+<li><a href="https://github.com/apache/incubator-openwhisk-runtime-python/blob/master/NOTICE.txt">NOTICE</a> (<a href="https://github.com/apache/incubator-openwhisk-release/issues/84">#84</a>)</li>
+</ul>
+</td>
+<td>
+<p>tests/src/test/resources/application.conf</p>
+</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>ansible/environments/local/group_vars/all</td>
+<td>&nbsp;</td>
+</tr>
+<tr align="left" valign="top">
+<td>&nbsp;</td>
+<td>ansible/environments/local/hosts</td>
+<td>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+
+| File (type) | Exclusion Rationale |
+| --- | --- |
+| `post.lua`                                               | Configuration file. Not much creativity. See a sample [here](https://github.com/apache/incubator-openwhisk/blob/master/performance/wrk_tests/post.lua) |
+| `java.xml`,`logback.xml`                                 | Configuration file in XML format. Not much creativity. See a sample [here](https://github.com/apache/incubator-openwhisk/blob/master/tools/eclipse/java.xml) |
+| `group_vars/all`                                         | Not much creativity. See a sample [here](https://github.com/apache/incubator-openwhisk-runtime-nodejs/blob/master/ansible/environments/local/group_vars/all) |
+| `hosts`                                                  | Not much creativity. See a sample [here](https://github.com/apache/incubator-openwhisk-runtime-nodejs/blob/master/ansible/environments/local/hosts) |
+| `dockerhub.groovy`                                       | Not much creativity. See a sample [here](https://github.com/apache/incubator-openwhisk/blob/master/tools/jenkins/apache/dockerhub.groovy) |
+| `openwhisk/actionRuntimes/*/Dockerfile`                  | Simple docker file without creativity. See a sample [here](https://github.com/apache/incubator-openwhisk/blob/master/actionRuntimes/python2Action/Dockerfile) |
+| `openwhisk/sdk/docker/Dockerfile`                        | Simple docker file without creativity. See a sample [here](https://github.com/apache/incubator-openwhisk/blob/master/sdk/docker/Dockerfile) |
+| `openwhisk/tests/dat/apigw/testswaggerdoc*`                        | JSON files as test input data. See a sample [here](https://github.com/apache/incubator-openwhisk/blob/master/tests/dat/apigw/testswaggerdoc2) |
+| `openwhisk/tests/dat/actions/empty.js`                        | Empty file. See a sample [here](https://github.com/apache/incubator-openwhisk/blob/master/tests/dat/actions/empty.js) |
+| `SwiftyRequest/Package.resolved`                        | Configuration used by Swift Package Manager. See a sample [here](https://github.com/apache/incubator-openwhisk-runtime-swift/blob/master/tests/dat/actions/SwiftyRequest/Package.resolved) |
+| `gradlew.bat` and `gradlew`                     | Generated by Gradle wrapper. See a sample [here](https://github.com/apache/incubator-openwhisk/blob/master/gradlew.bat) |
+
+
+## References
+
+The following is a list of informative references that describe licenses that you may encounter in this project's along with their prescribed treatment by the owning entities.
+
+- **[Mozilla, MPL 2.0 FAQ](https://www.mozilla.org/en-US/MPL/2.0/FAQ/)**
+- **[Eclipse, EPL 1.0 FAQ](https://www.eclipse.org/legal/eplfaq.php)**
diff --git a/docs/project_licenses.md b/docs/project_licenses.md
deleted file mode 100644
index 7f82c53..0000000
--- a/docs/project_licenses.md
+++ /dev/null
@@ -1,427 +0,0 @@
-<!--
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF 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.
-#
--->
-
-# Apache OpenWhisk LICENSE and NOTICE Summary
-
-## License scanning exclusions
-
-The Apache OpenWhisk project enforces and verifies ASF License header conformance on all source files using the project's own scanCode utility (on all Travis CI builds) and Apache RAT tool (on all automated releases).
-
-In accordance with Apache policy, these utilities exclude specific files from the ASF license header requirement which are configured in the following files:
-- scanCode: [ASF-Release.cfg](https://github.com/apache/incubator-openwhisk-utilities/blob/master/scancode/ASF-Release.cfg)
-- Apache RAT:[pom.xml](https://github.com/apache/incubator-openwhisk-release/blob/master/tools/lib/pom.xml) (Apache Rat)
-
-## Bundled and non-Bundled dependencies
-
-In accordance with Apache policy, each of the Apache OpenWhisk project's repositories respective LICENSE and NOTICE files contain the full, canonical listing of all dependent software licenses.
-
-For convenience, the following table provides links to each project repository's LICENSE and NOTICE files, as well as an overview of notable software dependencies (non-canonical) and license scanning exclusions.
-
-<table border="1" cellpadding="8">
-<tbody>
-<tr align="left" valign="top">
-<th width="310">Repository</th>
-<th width="220">LICENSE Notes</th>
-<th width="220">NOTICE Notes</th>
-<th width="220">ASF Header Exclusions</th>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk">incubator-openwhisk</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/93">#93</a></p>
-<p><strong>Copied licenses</strong>:</p>
-<ul>
-<li><a href="https://github.com/apache/incubator-openwhisk/tree/master/licenses">licenses</a></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/75">#75</a></p>
-</td>
-<td>
-<ul>
-<li>tests/dat/actions/empty.js</li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk-catalog">incubator-openwhisk-catalog</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-catalog/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/96">#96</a></p>
-<p><strong>Copied licenses</strong>:</p>
-<ul>
-<li><a href="https://github.com/apache/incubator-openwhisk-catalog/tree/master/licenses">licenses</a></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-catalog/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/79">#79</a></p>
-</td>
-<td>
-<ul>
-<li><span style="color: #ff0000;">None ?</span></li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-apigateway">incubator-openwhisk-apigateway</a></p>
-<p>&nbsp;</p>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-apigateway/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/95">#95</a></p>
-<p><strong>Copied licenses:</strong></p>
-<ul>
-<li><span style="color: #ff0000;">TBD</span></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-apigateway/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/78">#78</a></p>
-</td>
-<td>
-<ul>
-<li>lua_install</li>
-<li>tests/lua_modules</li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk-cli">incubator-openwhisk-cli</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-cli/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/97">#97</a></p>
-<p><strong>Copied</strong> <strong>Licenses</strong>:</p>
-<ul>
-<li><a href="https://github.com/apache/incubator-openwhisk-cli/tree/master/licenses">licenses</a></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-cli/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/76">#76</a></p>
-</td>
-<td>
-<ul>
-<li><span style="color: #ff0000;">tests files ?</span></li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk-client-go">incubator-openwhisk-client-go</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-client-go/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/98">#98</a></p>
-<p>Copied Licenses:</p>
-<ul>
-<li><span style="color: #ff0000;">TBD</span></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-client-go/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/77">#77</a></p>
-</td>
-<td>
-<ul>
-<li><span style="color: #ff0000;">TBD</span></li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk-wskdeploy">incubator-openwhisk-wskdeploy</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/94">#94</a></p>
-<p><strong>Copied licenses</strong>:</p>
-<ul>
-<li><span style="color: #ff0000;">TBD</span></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-wskdeploy/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/86">#86</a></p>
-</td>
-<td>
-<ul>
-<li><span style="color: #ff0000;">TBD</span></li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk-runtime-nodejs">incubator-openwhisk-runtime-nodejs</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-nodejs/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/99">#99</a></p>
-<p><strong>Copied licenses</strong>:</p>
-<ul>
-<li><span style="color: #ff0000;">TBD</span></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-nodejs/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/82">#82</a></p>
-</td>
-<td>
-<ul>
-<li>tests/src/test/resources/application.conf</li>
-<li>ansible/environments/local/group_vars/all</li>
-<li>ansible/environments/local/hosts</li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk-runtime-swift"> incubator-openwhisk-runtime-swift</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-swift/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/100">#100</a></p>
-<p><strong>Copied licenses</strong>:</p>
-<ul>
-<li><a href="https://github.com/apache/incubator-openwhisk-runtime-swift/tree/master/license">license *</a></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-swift/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/85">#85</a></p>
-</td>
-<td>
-<ul>
-<li>tests/dat/actions/SwiftyRequest/Package.resolved</li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk-runtime-docker">incubator-openwhisk-runtime-docker</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/101">#101</a></p>
-<p><strong>Copied licenses</strong>:</p>
-<ul>
-<li><a href="https://github.com/apache/incubator-openwhisk-runtime-docker/tree/master/licenses">licenses</a></li>
-</ul>
-<p>&nbsp;</p>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/80">#80</a></p>
-</td>
-<td>
-<ul>
-<li>tests/src/test/resources/application.conf</li>
-<li>ansible/environments/local/group_vars/all</li>
-<li>ansible/environments/local/hosts</li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk-runtime-java">incubator-openwhisk-runtime-java</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-java/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/102">#102</a></p>
-<p><strong>Copied licenses</strong>:</p>
-<ul>
-<li><a href="https://github.com/apache/incubator-openwhisk-runtime-java/tree/master/licenses">licenses</a></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-java/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/81">#81</a></p>
-</td>
-<td>
-<ul>
-<li>tests/src/test/resources/application.conf</li>
-<li>ansible/environments/local/group_vars/all</li>
-<li>ansible/environments/local/hosts</li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk-runtime-php">incubator-openwhisk-runtime-php</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-php/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking: </strong><a href="https://github.com/apache/incubator-openwhisk-release/issues/103">#103</a></p>
-<p><strong>Copied licenses</strong>:</p>
-<ul>
-<li><a href="https://github.com/apache/incubator-openwhisk-runtime-php/tree/master/licenses">licenses</a></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-php/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/83">#83</a></p>
-</td>
-<td>&nbsp;
-<ul>
-<li>tests/src/test/resources/application.conf</li>
-<li>ansible/environments/local/group_vars/all</li>
-<li>ansible/environments/local/hosts</li>
-</ul>
-</td>
-</tr>
-<tr align="left" valign="top">
-<td><a href="https://github.com/apache/incubator-openwhisk-runtime-python">incubator-openwhisk-runtime-python</a></td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-python/blob/master/LICENSE.txt">LICENSE</a></p>
-<p><strong>Tracking</strong>:&nbsp;<a href="https://github.com/apache/incubator-openwhisk-release/issues/104">#104</a></p>
-<p><strong>Copied licenses</strong>:</p>
-<ul>
-<li><a href="https://github.com/apache/incubator-openwhisk-runtime-python/tree/master/licenses">licenses</a></li>
-</ul>
-</td>
-<td>
-<p><a href="https://github.com/apache/incubator-openwhisk-runtime-python/blob/master/NOTICE.txt">NOTICE</a></p>
-<p><strong>Tracking</strong>: <a href="https://github.com/apache/incubator-openwhisk-release/issues/84">#84</a></p>
-</td>
-<td>&nbsp;
-<ul>
-<li>tests/src/test/resources/application.conf</li>
-<li>ansible/environments/local/group_vars/all</li>
-<li>ansible/environments/local/hosts</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-
-## Notes
-- The general requirements and tracking of all LICENSE related update for all repos. are in [Issue 109](https://github.com/apache/incubator-openwhisk-release/issues/109).
-
-## How to assemble the LICENSE file for each OpenWhisk repository
-
-We define a formal way for OpenWhisk projects to comply in order to produce the LICENSE files. Please follow the mechanism
-of syntax and wording narrated in the following paragraphs.
-
-The LICENSE file consists of two major sections:
-
-- The content of Apache license 2.0
-- Licenses of packages OpenWhisk project depends on
-
-The content of the first section can be copied from the link [Apache license 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt).
-We can keep it in OpenWhisk exactly the same as its original content, or replace the sentence "Copyright [yyyy] [name of copyright owner]"
-with "Copyright 2016-present The Apache Software Foundation", which describes the copyright of OpenWhisk.
-
-The second section includes the information of licenses used by other software, since OpenWhisk depends on multiple packages
-in different ways. Please apply the following rules to identify and describe the relationship between them and OpenWhisk.
-
-A folder named licenses needs to be created under the home directory of each OpenWhisk project in order to keep the license files
-of other packages, each OpenWhisk project depends on. Make sure the license file is named after LICENSE-[package name].txt for each
-package.
-
-So far, we list 4 types of relations available among all OpenWhisk projects. We tend to group the packages by licenses, which
-means packages can be listed under one statement, if they share the same license.
-
-- **Source code dependency**: the packages, that OpenWhisk's source code depends on, and will be released together with OpenWhisk projects.
-
-  For this type of dependency, we used the verb "bundle" to indicate the relationship and add the following narration to LICENSE file to describe it:
-
-      This distribution bundles the following components, which are available under a [license name] license ([link of the licese]).
-      [package name] [version] ([codename] - [link of the package])
-        License included at licenses/LICENSE-[package name].txt
-        [copyright information]
-
-      [package name] [version] ([codename] - [link of the package])
-        License included at licenses/LICENSE-[package name].txt
-        [copyright information]
-      ...
-
-- **Binary dependency**: the packages, that OpenWhisk's source code depends on, but will NOT be released together with OpenWhisk projects.
-
-  For this type of dependency, we use the phrase "have binary dependencies on" to indicate the relationship and add the following narration to LICENSE file to describe it:
-
-      This distribution has binary dependencies on the following components, which are available under a [license name] license ([link of the licese]).
-      [package name] [version] ([codename] - [link of the package])
-        License included at licenses/LICENSE-[package name].txt
-        [copyright information]
-
-      [package name] [version] ([codename] - [link of the package])
-        License included at licenses/LICENSE-[package name].txt
-        [copyright information]
-      ...
-
-  For example, OpenWhisk CLI has binary dependencies on go-isatty and go-homedir, which are both licensed with MIT. We are add the following narration
-  into LICENSE file:
-
-        This distribution has binary dependencies on the following components, which are available an MIT license (http://opensource.org/licenses/MIT).
-        Go Isatty 66b8e73 (mattn/go-isatty - https://github.com/mattn/go-isatty)
-          License included at licenses/LICENSE-goisatty.txt, or https://github.com/mattn/go-isatty/blob/master/LICENSE
-          Copyright (c) Yasuhiro MATSUMOTO <ma...@gmail.com>
-
-        Go Homedir 1111e45 (mitchellh/go-homedir - https://github.com/mitchellh/go-homedir)
-          License included at licenses/LICENSE-gohomedir.txt, or https://github.com/mitchellh/go-homedir/blob/master/LICENSE
-          Copyright (c) 2013 Mitchell Hashimoto
-
-  The content of their licenses are included under licenses/LICENSE-goisatty.txt and licenses/LICENSE-gohomedir.txt.
-
-- **Packages used by OpenWhisk with no alternative**: the components, that are necessary to deliver OpenWhisk services or tools,
-and currently are the only candidates used by OpenWhisk.
-
-  For this type of dependency, we use the phrase "depend on" to indicate the relationship and add the following narration to LICENSE file to describe it:
-
-      This distribution depends on the following components, which are available under a [license name] license ([link of the licese]).
-      [package name] [version] ([codename] - [link of the package])
-        License included at licenses/LICENSE-[package name].txt
-        [copyright information]
-
-      [package name] [version] ([codename] - [link of the package])
-        License included at licenses/LICENSE-[package name].txt
-        [copyright information]
-      ...
-
-  For example, OpenWhisk depends on Docker engine, which is licensed with Apache 2.0. We can add the following narration into LICENSE file:
-
-        This distribution depends on the following components, which are available an Apache license 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
-        Docker engine [Docker version] (Docker - https://www.docker.com)
-          License included at licenses/LICENSE-docker.txt
-          Copyright 2013-2017 Docker, Inc
-
-- **Packages used by OpenWhisk with alternative**: the components, that are necessary to deliver OpenWhisk services or tools,
-but can be replaced with other packages by changing OpenWhisk configurations.
-
-  For this type of dependency, we use the phrase "optionally depend on" to indicate the relationship and add the following narration to LICENSE file to describe it:
-
-      This distribution optionally depends on the following components, which are available under a [license name] license ([link of the licese]).
-      [package name] [version] ([codename] - [link of the package])
-        License included at licenses/LICENSE-[package name].txt
-        [copyright information]
-
-      [package name] [version] ([codename] - [link of the package])
-        License included at licenses/LICENSE-[package name].txt
-        [copyright information]
-      ...
-
-  For example, OpenWhisk depends on Kafka and CouchDB, which are both licensed with Apache 2.0, but they can be replaced with other
-  messaging and database services. We can add the following narration into LICENSE file:
-
-        This distribution optionally depends on the following components, which are available an Apache license 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
-        Apache Kafka [Kafka version] (Kafka - https://github.com/apache/kafka)
-          License included at licenses/LICENSE-kafka.txt
-          Copyright 2018 The Apache Software Foundation
-
-        Apache CouchDB [CouchDb version] (CouchDB - https://github.com/apache/couchdb)
-          License included at licenses/LICENSE-couchdb.txt
-          Copyright 2009-2016 The Apache Software Foundation
-
-  The content of their licenses are included under licenses/LICENSE-kafka.txt and licenses/LICENSE-couchdb.txt.
-
-## References
-
-The following is a list of informative references that describe licenses that you may encounter in this project's along with their prescribed treatment by the owning entities.
-
-- **[Mozilla, MPL 2.0 FAQ](https://www.mozilla.org/en-US/MPL/2.0/FAQ/)**
-- **[Eclipse, EPL 1.0 FAQ](https://www.eclipse.org/legal/eplfaq.php)**

-- 
To stop receiving notification emails like this one, please contact
houshengbo@apache.org.