Message ID | 20191003205623.20839-2-andrew.cooper3@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | docs/sphinx | expand |
On 03/10/2019, 21:56, "Andrew Cooper" <andrew.cooper3@citrix.com> 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 <andrew.cooper3@citrix.com>
---
CC: Lars Kurth <lars.kurth@citrix.com>
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Ian Jackson <ian.jackson@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Tim Deegan <tim@xen.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Rich Persaud <persaur@gmail.com>
CC: Juergen Gross <jgross@suse.com>
---
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 0000000000..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
On 07/10/2019 13:01, Lars Kurth wrote: > > On 03/10/2019, 21:56, "Andrew Cooper" <andrew.cooper3@citrix.com> 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 <andrew.cooper3@citrix.com> > --- > CC: Lars Kurth <lars.kurth@citrix.com> > CC: George Dunlap <George.Dunlap@eu.citrix.com> > CC: Ian Jackson <ian.jackson@citrix.com> > CC: Jan Beulich <JBeulich@suse.com> > CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > CC: Stefano Stabellini <sstabellini@kernel.org> > CC: Tim Deegan <tim@xen.org> > CC: Wei Liu <wl@xen.org> > CC: Julien Grall <julien@xen.org> > CC: Rich Persaud <persaur@gmail.com> > CC: Juergen Gross <jgross@suse.com> > --- > 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 0000000000..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 don't see how that helps for blindly copying things in. They'd still be GPL2 strictly, and would need explicit relicensing to become dual licensed, at which point, why not go straight for consistency? > > 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 Getting this fixed is a blocker for 4.13. ~Andrew
On 07/10/2019, 13:29, "Andrew Cooper" <Andrew.Cooper3@citrix.com> wrote: On 07/10/2019 13:01, Lars Kurth wrote: > > On 03/10/2019, 21:56, "Andrew Cooper" <andrew.cooper3@citrix.com> 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 <andrew.cooper3@citrix.com> > --- > CC: Lars Kurth <lars.kurth@citrix.com> > CC: George Dunlap <George.Dunlap@eu.citrix.com> > CC: Ian Jackson <ian.jackson@citrix.com> > CC: Jan Beulich <JBeulich@suse.com> > CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > CC: Stefano Stabellini <sstabellini@kernel.org> > CC: Tim Deegan <tim@xen.org> > CC: Wei Liu <wl@xen.org> > CC: Julien Grall <julien@xen.org> > CC: Rich Persaud <persaur@gmail.com> > CC: Juergen Gross <jgross@suse.com> > --- > 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 0000000000..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 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. I was actually looking at this the other way round: let's say we have good information in a section about Technical Debt in the sphinx docs and some of it may end up in the tree, then we could have an issue. The dual license approach would enable us to do this. The types of style/language which are appropriate for these two cases are a disjoint set. I think we are agreed. > > 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 don't see how that helps for blindly copying things in. They'd still be GPL2 strictly, and would need explicit relicensing to become dual licensed, at which point, why not go straight for consistency? It doesn't help with this case: it does help with copying information from the sphinx docs to the tree I think we need to have a discussion/proposal after this series is committed covering topics such as * File formats for say man pages (or other docs) * What are the acceptable use-cases of copying information from existing documentation to sphinx docs - Copying information from the Wiki to sphinx: the Wiki is CC-BY 3.0 and forward compatible, while (c) are retained - we should be OK - Would we want to link to man pages from the sphinx docset - Would we want to link to ABI docs generated from the sphinx docset in future * What type of content may end up in a GPLv2 code with the sphinx docs as source What this says to me is that we probably need to put a bit more thought into this However, you have convinced me, that this does not have to happen before 4.13 as long as we make sure we can still change licensing if we need to after 4.13 is released. I think we need to have a wider discussion about this set of topics as use-case, format and license are potentially entangled for what we may want to do in future. I can run with this: I already promised to cover the man page format portion and can cast the net a bit more widely > > 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 Getting this fixed is a blocker for 4.13. I think you have shown that my concern was not valid for this particular patch at this time. Note that my aim is NOT to blindly copy notes out of source code and into the sphinx documentation. But I would like to end up in a position where contributors to docs do not have to think about licensing nor have to deal with a plethora of different file formats. I am however worried that we end up with something fragile and complex, creating barriers that are unnecessary unless we give this some more thought. Regards Lars
On 03/10/2019, 21:56, "Andrew Cooper" <andrew.cooper3@citrix.com> 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 <andrew.cooper3@citrix.com> Reviewed-by: Lars Kurth <lars.kurth@citrix.com> 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
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 0000000000..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 index cbcae398a2..7ba37b6e54 100644 --- a/docs/hypervisor-guide/index.rst +++ b/docs/hypervisor-guide/index.rst @@ -1,3 +1,5 @@ +.. SPDX-License-Identifier: CC-BY-4.0 + Hypervisor documentation ======================== diff --git a/docs/index.rst b/docs/index.rst index 31bb8927f2..7bd9955a97 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,3 +1,5 @@ +.. SPDX-License-Identifier: CC-BY-4.0 + The Xen Hypervisor documentation ================================
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 <andrew.cooper3@citrix.com> --- CC: Lars Kurth <lars.kurth@citrix.com> CC: George Dunlap <George.Dunlap@eu.citrix.com> CC: Ian Jackson <ian.jackson@citrix.com> CC: Jan Beulich <JBeulich@suse.com> CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> CC: Stefano Stabellini <sstabellini@kernel.org> CC: Tim Deegan <tim@xen.org> CC: Wei Liu <wl@xen.org> CC: Julien Grall <julien@xen.org> CC: Rich Persaud <persaur@gmail.com> CC: Juergen Gross <jgross@suse.com> --- 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