Re: [Xen-devel] [PATCH 1/4] docs/sphinx: License content with CC-BY-4.0

2019-10-08 Thread Lars Kurth


On 03/10/2019, 21:56, "Andrew Cooper"  wrote:

Creative Commons is a more common license than GPL for documentation 
purposes.
Switch to using CC-BY-4.0 to explicitly permit re-purposing and remixing of
the content.

Signed-off-by: Andrew Cooper 

Reviewed-by: Lars Kurth 

Also, I need to clarify that one of the statements I made yesterday is wrong
CC-BY-4 is compatible with all versions with of the GPL, see
https://www.gnu.org/licenses/license-list.en.html#OtherLicenses

I mixed up CC-BY-4 with CC-BY-SA-4
 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH 1/4] docs/sphinx: License content with CC-BY-4.0

2019-10-07 Thread Lars Kurth


On 07/10/2019, 13:29, "Andrew Cooper"  wrote:

On 07/10/2019 13:01, Lars Kurth wrote:
>
> On 03/10/2019, 21:56, "Andrew Cooper"  wrote:
>
> Creative Commons is a more common license than GPL for documentation 
purposes.
> Switch to using CC-BY-4.0 to explicitly permit re-purposing and 
remixing of
> the content.
> 
> Signed-off-by: Andrew Cooper 
> ---
> CC: Lars Kurth 
> CC: George Dunlap 
> CC: Ian Jackson 
> CC: Jan Beulich 
> CC: Konrad Rzeszutek Wilk 
> CC: Stefano Stabellini 
> CC: Tim Deegan 
> CC: Wei Liu 
> CC: Julien Grall 
> CC: Rich Persaud 
> CC: Juergen Gross 
> ---
>  COPYING |  3 +++
>  docs/README.source  | 32 

>  docs/admin-guide/index.rst  |  2 ++
>  docs/admin-guide/microcode-loading.rst  |  2 ++
>  docs/conf.py|  1 +
>  docs/guest-guide/index.rst  |  2 ++
>  docs/guest-guide/x86/hypercall-abi.rst  |  2 ++
>  docs/guest-guide/x86/index.rst  |  2 ++
>  docs/hypervisor-guide/code-coverage.rst |  2 ++
>  docs/hypervisor-guide/index.rst |  2 ++
>  docs/index.rst  |  2 ++
>  11 files changed, 52 insertions(+)
>  create mode 100644 docs/README.source
> 
> diff --git a/COPYING b/COPYING
> index 310fd52c27..80fac091d3 100644
> --- a/COPYING
> +++ b/COPYING
> @@ -47,6 +47,9 @@ various drivers, support functions and header files 
within Xen-aware
>  Linux source trees. In all such cases, license terms are stated at 
the
>  top of the file or in a COPYING file in the same directory.
>  
> +Sphinx documentation is licensed under CC-BY 4.0.  See
> +docs/README.source for more specific information.
> +
>  In some cases, compatible 3rd party code has been imported into the
>  Xen tree, retaining the original license, such as
>- AES-128 3.0
> diff --git a/docs/README.source b/docs/README.source
> new file mode 100644
> index 00..f20fa92c28
> --- /dev/null
> +++ b/docs/README.source
> @@ -0,0 +1,32 @@
> +Sphinx documentation:
> +
> +All source rendered by Sphinx is licensed under CC-BY-4.0.
>
> Sorry for opening this can of worms. 
>
> Although I had seen the discussion between Rich and you about this, I had 
> not actually done any groundwork on the licensing. 
>
> So, we have to look at two things:
>
> * Compatibility:
>See 
https://creativecommons.org/2015/10/08/cc-by-sa-4-0-now-one-way-compatible-with-gplv3/
 
>This makes CC-BY-4.0 inbound compatible with GPLv3
>It's not clear to me whether GPLv2 is compatible with CC-BY 4.0: lack 
of publicly
>available information implies this is not the case 
>
> * Output License
>But even if it is, the produced sphinx output would be GPLv2, not 
CC-BY 4.0
>This would even be true if none of the older GPLv2 docs portions were 
included, as
>the API docs generated from source are GPLv2
>
> As such the statement "All source rendered by Sphinx is licensed under
> CC-BY-4.0" is wrong.

At the moment, I (and therefore Citrix in practice) holds the copyright
on all rst content which exists in Xen.

The point of this patch is to get it licensed sensibly (and in
particular, not falling back to the GPL default) before 4.13 goes out of
the door.

The result therefore is uniformly CC-BY-4.0, with no GPL in sight.

Having looked at this again, you are correct. I was assuming that 
https://andrewcoop-xen.readthedocs.io/en/docs-devel/guest-guide/x86/hypercall-abi.html
was linking to the doxygen generated ABI docs, which it seems not to do.

> Although it is probably correct to say "All CC-BY 4.0 source rendered by
> Sphinx is licensed under CC-BY-4.0", because Sphinx retains the source 
file
> to html mapping and linkage in docs generation works differently
> to linkage in code. 
>
> I am wondering whether anyone else has come across this. This question in
> particular goes back to Rich who made a very strong case for CC-BY-4.0 
based
> documentation. I don't think we would have an issue if the entire sphinx 
doc-set
> is GPLv2 if most content is licensed under CC-BY-4.0, except that such an
> approach would make re-using the entire sphinx generated docset messy.
>
> We probably also want to maintain the capability to copy text from some
> documentation freely into the source tree and vice versa, if needed. This 
is
> particularly true 

Re: [Xen-devel] [PATCH 1/4] docs/sphinx: License content with CC-BY-4.0

2019-10-07 Thread Andrew Cooper
On 07/10/2019 13:01, Lars Kurth wrote:
>
> On 03/10/2019, 21:56, "Andrew Cooper"  wrote:
>
> Creative Commons is a more common license than GPL for documentation 
> purposes.
> Switch to using CC-BY-4.0 to explicitly permit re-purposing and remixing 
> of
> the content.
> 
> Signed-off-by: Andrew Cooper 
> ---
> CC: Lars Kurth 
> CC: George Dunlap 
> CC: Ian Jackson 
> CC: Jan Beulich 
> CC: Konrad Rzeszutek Wilk 
> CC: Stefano Stabellini 
> CC: Tim Deegan 
> CC: Wei Liu 
> CC: Julien Grall 
> CC: Rich Persaud 
> CC: Juergen Gross 
> ---
>  COPYING |  3 +++
>  docs/README.source  | 32 
> 
>  docs/admin-guide/index.rst  |  2 ++
>  docs/admin-guide/microcode-loading.rst  |  2 ++
>  docs/conf.py|  1 +
>  docs/guest-guide/index.rst  |  2 ++
>  docs/guest-guide/x86/hypercall-abi.rst  |  2 ++
>  docs/guest-guide/x86/index.rst  |  2 ++
>  docs/hypervisor-guide/code-coverage.rst |  2 ++
>  docs/hypervisor-guide/index.rst |  2 ++
>  docs/index.rst  |  2 ++
>  11 files changed, 52 insertions(+)
>  create mode 100644 docs/README.source
> 
> diff --git a/COPYING b/COPYING
> index 310fd52c27..80fac091d3 100644
> --- a/COPYING
> +++ b/COPYING
> @@ -47,6 +47,9 @@ various drivers, support functions and header files 
> within Xen-aware
>  Linux source trees. In all such cases, license terms are stated at the
>  top of the file or in a COPYING file in the same directory.
>  
> +Sphinx documentation is licensed under CC-BY 4.0.  See
> +docs/README.source for more specific information.
> +
>  In some cases, compatible 3rd party code has been imported into the
>  Xen tree, retaining the original license, such as
>- AES-128 3.0
> diff --git a/docs/README.source b/docs/README.source
> new file mode 100644
> index 00..f20fa92c28
> --- /dev/null
> +++ b/docs/README.source
> @@ -0,0 +1,32 @@
> +Sphinx documentation:
> +
> +All source rendered by Sphinx is licensed under CC-BY-4.0.
>
> Sorry for opening this can of worms. 
>
> Although I had seen the discussion between Rich and you about this, I had 
> not actually done any groundwork on the licensing. 
>
> So, we have to look at two things:
>
> * Compatibility:
>See 
> https://creativecommons.org/2015/10/08/cc-by-sa-4-0-now-one-way-compatible-with-gplv3/
>  
>This makes CC-BY-4.0 inbound compatible with GPLv3
>It's not clear to me whether GPLv2 is compatible with CC-BY 4.0: lack of 
> publicly
>available information implies this is not the case 
>
> * Output License
>But even if it is, the produced sphinx output would be GPLv2, not CC-BY 4.0
>This would even be true if none of the older GPLv2 docs portions were 
> included, as
>the API docs generated from source are GPLv2
>
> As such the statement "All source rendered by Sphinx is licensed under
> CC-BY-4.0" is wrong.

At the moment, I (and therefore Citrix in practice) holds the copyright
on all rst content which exists in Xen.

The point of this patch is to get it licensed sensibly (and in
particular, not falling back to the GPL default) before 4.13 goes out of
the door.

The result therefore is uniformly CC-BY-4.0, with no GPL in sight.

> Although it is probably correct to say "All CC-BY 4.0 source rendered by
> Sphinx is licensed under CC-BY-4.0", because Sphinx retains the source file
> to html mapping and linkage in docs generation works differently
> to linkage in code. 
>
> I am wondering whether anyone else has come across this. This question in
> particular goes back to Rich who made a very strong case for CC-BY-4.0 based
> documentation. I don't think we would have an issue if the entire sphinx 
> doc-set
> is GPLv2 if most content is licensed under CC-BY-4.0, except that such an
> approach would make re-using the entire sphinx generated docset messy.
>
> We probably also want to maintain the capability to copy text from some
> documentation freely into the source tree and vice versa, if needed. This is
> particularly true for content in Technical Debt, user content (may end up in
> man pages), etc.

I disagree, insofar as blindly copying notes out of source code and into
the sphinx documentation is liable to get a -1 from me.

The types of style/language which are appropriate for these two cases
are a disjoint set.

>
> Maybe the right approach would be to dually license the documentation
> files using both GPLv2 and CC-BY 4.0 and quantifying this in the COPYING
> file of the docs directory (starting from a specific date). We could 
> eventually
> re-license all the other stuff over time, which should be relatively 
> straightforward
> and/or exclude specific problematic directories.

I 

Re: [Xen-devel] [PATCH 1/4] docs/sphinx: License content with CC-BY-4.0

2019-10-07 Thread Lars Kurth


On 03/10/2019, 21:56, "Andrew Cooper"  wrote:

Creative Commons is a more common license than GPL for documentation 
purposes.
Switch to using CC-BY-4.0 to explicitly permit re-purposing and remixing of
the content.

Signed-off-by: Andrew Cooper 
---
CC: Lars Kurth 
CC: George Dunlap 
CC: Ian Jackson 
CC: Jan Beulich 
CC: Konrad Rzeszutek Wilk 
CC: Stefano Stabellini 
CC: Tim Deegan 
CC: Wei Liu 
CC: Julien Grall 
CC: Rich Persaud 
CC: Juergen Gross 
---
 COPYING |  3 +++
 docs/README.source  | 32 

 docs/admin-guide/index.rst  |  2 ++
 docs/admin-guide/microcode-loading.rst  |  2 ++
 docs/conf.py|  1 +
 docs/guest-guide/index.rst  |  2 ++
 docs/guest-guide/x86/hypercall-abi.rst  |  2 ++
 docs/guest-guide/x86/index.rst  |  2 ++
 docs/hypervisor-guide/code-coverage.rst |  2 ++
 docs/hypervisor-guide/index.rst |  2 ++
 docs/index.rst  |  2 ++
 11 files changed, 52 insertions(+)
 create mode 100644 docs/README.source

diff --git a/COPYING b/COPYING
index 310fd52c27..80fac091d3 100644
--- a/COPYING
+++ b/COPYING
@@ -47,6 +47,9 @@ various drivers, support functions and header files 
within Xen-aware
 Linux source trees. In all such cases, license terms are stated at the
 top of the file or in a COPYING file in the same directory.
 
+Sphinx documentation is licensed under CC-BY 4.0.  See
+docs/README.source for more specific information.
+
 In some cases, compatible 3rd party code has been imported into the
 Xen tree, retaining the original license, such as
   - AES-128 3.0
diff --git a/docs/README.source b/docs/README.source
new file mode 100644
index 00..f20fa92c28
--- /dev/null
+++ b/docs/README.source
@@ -0,0 +1,32 @@
+Sphinx documentation:
+
+All source rendered by Sphinx is licensed under CC-BY-4.0.

Sorry for opening this can of worms. 

Although I had seen the discussion between Rich and you about this, I had 
not actually done any groundwork on the licensing. 

So, we have to look at two things:

* Compatibility:
   See 
https://creativecommons.org/2015/10/08/cc-by-sa-4-0-now-one-way-compatible-with-gplv3/
 
   This makes CC-BY-4.0 inbound compatible with GPLv3
   It's not clear to me whether GPLv2 is compatible with CC-BY 4.0: lack of 
publicly
   available information implies this is not the case 

* Output License
   But even if it is, the produced sphinx output would be GPLv2, not CC-BY 4.0
   This would even be true if none of the older GPLv2 docs portions were 
included, as
   the API docs generated from source are GPLv2

As such the statement "All source rendered by Sphinx is licensed under
CC-BY-4.0" is wrong. 

Although it is probably correct to say "All CC-BY 4.0 source rendered by
Sphinx is licensed under CC-BY-4.0", because Sphinx retains the source file
to html mapping and linkage in docs generation works differently
to linkage in code. 

I am wondering whether anyone else has come across this. This question in
particular goes back to Rich who made a very strong case for CC-BY-4.0 based
documentation. I don't think we would have an issue if the entire sphinx doc-set
is GPLv2 if most content is licensed under CC-BY-4.0, except that such an
approach would make re-using the entire sphinx generated docset messy.

We probably also want to maintain the capability to copy text from some
documentation freely into the source tree and vice versa, if needed. This is
particularly true for content in Technical Debt, user content (may end up in
man pages), etc.

Maybe the right approach would be to dually license the documentation
files using both GPLv2 and CC-BY 4.0 and quantifying this in the COPYING
file of the docs directory (starting from a specific date). We could eventually
re-license all the other stuff over time, which should be relatively 
straightforward
and/or exclude specific problematic directories.

Things like standardising say man pages to rst, would potentially also
create complexities with this patch, because of 
+This includes:
+  * All ReStructured Text files:  docs/*/*.rst

I don't want this to become a long-winded conversation during the 4.13 freeze.
Please keep this in mind when responding.

It may mean though, that we can't resolve this before 4.13 is released

Regards
Lars

 

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [PATCH 1/4] docs/sphinx: License content with CC-BY-4.0

2019-10-03 Thread Andrew Cooper
Creative Commons is a more common license than GPL for documentation purposes.
Switch to using CC-BY-4.0 to explicitly permit re-purposing and remixing of
the content.

Signed-off-by: Andrew Cooper 
---
CC: Lars Kurth 
CC: George Dunlap 
CC: Ian Jackson 
CC: Jan Beulich 
CC: Konrad Rzeszutek Wilk 
CC: Stefano Stabellini 
CC: Tim Deegan 
CC: Wei Liu 
CC: Julien Grall 
CC: Rich Persaud 
CC: Juergen Gross 
---
 COPYING |  3 +++
 docs/README.source  | 32 
 docs/admin-guide/index.rst  |  2 ++
 docs/admin-guide/microcode-loading.rst  |  2 ++
 docs/conf.py|  1 +
 docs/guest-guide/index.rst  |  2 ++
 docs/guest-guide/x86/hypercall-abi.rst  |  2 ++
 docs/guest-guide/x86/index.rst  |  2 ++
 docs/hypervisor-guide/code-coverage.rst |  2 ++
 docs/hypervisor-guide/index.rst |  2 ++
 docs/index.rst  |  2 ++
 11 files changed, 52 insertions(+)
 create mode 100644 docs/README.source

diff --git a/COPYING b/COPYING
index 310fd52c27..80fac091d3 100644
--- a/COPYING
+++ b/COPYING
@@ -47,6 +47,9 @@ various drivers, support functions and header files within 
Xen-aware
 Linux source trees. In all such cases, license terms are stated at the
 top of the file or in a COPYING file in the same directory.
 
+Sphinx documentation is licensed under CC-BY 4.0.  See
+docs/README.source for more specific information.
+
 In some cases, compatible 3rd party code has been imported into the
 Xen tree, retaining the original license, such as
   - AES-128 3.0
diff --git a/docs/README.source b/docs/README.source
new file mode 100644
index 00..f20fa92c28
--- /dev/null
+++ b/docs/README.source
@@ -0,0 +1,32 @@
+Sphinx documentation:
+
+All source rendered by Sphinx is licensed under CC-BY-4.0.
+
+You are free to:
+  Share:
+Copy and redistribute the material in any medium or format.
+  Adapt:
+Remix, transform, and build upon the material for any purpose, even
+commercially.
+
+Under the following terms:
+  Attribution:
+You must give appropriate credit, provide a link to the license, and
+indicate if changes were made. You may do so in any reasonable manner, but
+not in any way that suggests the licensor endorses you or your use.
+  No additional restrictions:
+You may not apply legal terms or technological measures that legally
+restrict others from doing anything the license permits.
+
+See https://creativecommons.org/licenses/by/4.0/ for full details.
+
+This includes:
+  * All ReStructured Text files:  docs/*/*.rst
+  * The Sphinx configuration file:docs/conf.py
+  * Content in Sphinx-exclusive subdirs:  docs/*-guide/*
+
+
+Other documentation:
+
+There are a variety of text documents in various formats.  These, given no
+explicit license guidance, fall under Xen's default GPL-2.0 license.
diff --git a/docs/admin-guide/index.rst b/docs/admin-guide/index.rst
index f725d75ebe..ad1f508a79 100644
--- a/docs/admin-guide/index.rst
+++ b/docs/admin-guide/index.rst
@@ -1,3 +1,5 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
 Admin Guide
 ===
 
diff --git a/docs/admin-guide/microcode-loading.rst 
b/docs/admin-guide/microcode-loading.rst
index 1858ed4627..8265b917a9 100644
--- a/docs/admin-guide/microcode-loading.rst
+++ b/docs/admin-guide/microcode-loading.rst
@@ -1,3 +1,5 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
 Microcode Loading
 =
 
diff --git a/docs/conf.py b/docs/conf.py
index 73b7b9bfa2..50e41501db 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,4 +1,5 @@
 # -*- coding: utf-8 -*-
+# SPDX-License-Identifier: CC-BY-4.0
 #
 # Configuration file for the Sphinx documentation builder.
 #
diff --git a/docs/guest-guide/index.rst b/docs/guest-guide/index.rst
index 108e0b8d77..03c5b37bd1 100644
--- a/docs/guest-guide/index.rst
+++ b/docs/guest-guide/index.rst
@@ -1,3 +1,5 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
 Guest documentation
 ===
 
diff --git a/docs/guest-guide/x86/hypercall-abi.rst 
b/docs/guest-guide/x86/hypercall-abi.rst
index dee25853d4..edb10b1b2e 100644
--- a/docs/guest-guide/x86/hypercall-abi.rst
+++ b/docs/guest-guide/x86/hypercall-abi.rst
@@ -1,3 +1,5 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
 Hypercall ABI
 =
 
diff --git a/docs/guest-guide/x86/index.rst b/docs/guest-guide/x86/index.rst
index a368392087..121cddca62 100644
--- a/docs/guest-guide/x86/index.rst
+++ b/docs/guest-guide/x86/index.rst
@@ -1,3 +1,5 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
 x86
 ===
 
diff --git a/docs/hypervisor-guide/code-coverage.rst 
b/docs/hypervisor-guide/code-coverage.rst
index 6c7552d691..641aac25fc 100644
--- a/docs/hypervisor-guide/code-coverage.rst
+++ b/docs/hypervisor-guide/code-coverage.rst
@@ -1,3 +1,5 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
 Code Coverage
 =
 
diff --git a/docs/hypervisor-guide/index.rst b/docs/hypervisor-guide/index.rst