You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openwhisk.apache.org by GitBox <gi...@apache.org> on 2018/04/24 21:53:13 UTC

[GitHub] mrutkows closed pull request #127: Add the spec to assemble the LICENSE file for each OpenWhisk repo

mrutkows closed pull request #127: Add the spec to assemble the LICENSE file for each OpenWhisk repo
URL: https://github.com/apache/incubator-openwhisk-release/pull/127
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/docs/project_licenses.md b/docs/project_licenses.md
index 3d7c19d..6fbea23 100644
--- a/docs/project_licenses.md
+++ b/docs/project_licenses.md
@@ -267,6 +267,123 @@ The following table provides a single view, with links, of all project repositor
 ## 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.


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services