All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Lars Kurth <lars.kurth@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Cc: Artem Mygaiev <Artem_Mygaiev@epam.com>,
	Committers <committers@xenproject.org>
Subject: Re: [Xen-devel] [RFC] Documentation formats, licenses and file system structure
Date: Thu, 10 Oct 2019 18:05:23 +0100	[thread overview]
Message-ID: <f5e20757-88ba-dabf-b68a-b6edc3ca1619@citrix.com> (raw)
In-Reply-To: <F3EDAC03-A573-4E60-8D0C-8D84949E796B@citrix.com>

On 10/10/2019 13:34, Lars Kurth wrote:
> Hi all,
>
> following on from a discussion on IRC and on various other places, I think we need to try and rationalize how we handle documentation.
>
> What we have now and what we may get in future
> * http://xenbits.xen.org/docs/unstable/ (GPL-2)
> * http://xenbits.xen.org/docs/sphinx-unstable-staging/ (CC-BY-4)
> * Additional API documentation (with a view to enabling safety) 
> * Any future documentation related to safety (requirements, designs, test cases, tracability)
>
> Desired licenses
> * There is a desire to keep http://xenbits.xen.org/docs/sphinx-unstable-staging/ CC-BY-4 only
> * There is a desire to publish future documentation related to safety as CC-BY-4

Its probably worth nothing that the
http://xenbits.xen.org/docs/sphinx-unstable-staging/ URL is only
transitional.

When Sphinx is more ready for primetime, I was thinking of using
http://xenbits.xen.org/docs/xen/, and using the Sphinx support for
multiple versions, which would end up becoming docs/xen/{4.13,...,latest}/

> Existing formats and licenses
> * Hypercall ABI Documentation generated from Xen public headers
> Format: kerndoc
> License: typically BSD-3-Clause (documentation is generated from public headers)

Its homegrown markup&perl, superimposed on what used to be doxygen in
the past.

I wasn't planning on reusing any of the markup, and wasn't expecting to
use much of the text either.  I'm still considering the option of
defining that xen/public/* isn't the canonical description of the ABI,
because C is the wrong tool for the job.

Its fine to provide a C set of headers implementing an ABI, but there is
a very deliberate reason why the canonical migration v2 spec is in a
text document.

> * docs/designs, docs/features, docs/specs
> Formats: primarily pandoc, with some files md
> License: GPL-2
> * docs/processs - covers internal processes
> Formats: txt, with some pandoc
> License: GPL-2
> * docs/figs
> Formats: misc
> License: GPL-2
> * docs/misc
> Formats: txt, with some large number of pandoc, some other docs
> License: GPL-2
> * docs/man
> Formats: pod
> License: GPL-2
> * Sphinx docs: docs, docs/guest-guide, docs/hypervisor-guide
> Formats: rst
> License: CC-BY-4

This is the intention, but hasn't taken effect while my series is still
pending.  For now, strictly speaking it is still GPL-2.

>
> * Wiki: 
> Formats: mediawiki markdown
> License: CC-BY-SA-3 which has an automatic update to CC-BY-SA-4
> (c) of Wiki contributions are kept by the authors
>
> This means that the 3 most common file formats in use are
> * pod
> * pandoc (with some md) - these are essentially identical
> * txt for legacy and old stuff
> * rst
>
> License compatibility
> * GPL-2 and CC-BY-4 are compatible, but mixing means that the complete docset is GPL-2
> * GPL-2 and BSD-3-Clause are compatible, but mixing means that the complete docset is GPL-2
> * BSD-3-Clause and CC-BY-4 I am not 100% sure, but should not be an issue
> * CC-BY-SA-4 is only one way compatible with GPLv3 (affecting content on the wiki)
>
> The first question is whether we should convert pod to rst
> * https://metacpan.org/pod/pod2rst provides a conversion tool
> * man pages can be generated by rst2man
> Thus, technically this should be easy and should make contributions to docs/man easier
> If we do this, we should add a CONTRIBUTING file, clarifying the license in this directory

One thing I have done is put SPDX tags on every *.rst file.  What I
haven't found is a nice way to insert one into the *.drawio.svg files,
but I should probably finish off some of my experimentation TODOs.

An easy way out is to just say "look at the SPDX tag", but then we end
up with a docset which is a mess of licenses, still can't be easily
built upon.

> There are a set of related questions on what we would eventually merge into the sphinx
> docset. I believe there is agreement that most of what is in docs today is not really
> suitable, however there are a few possible exceptions
> * man pages - with a variety of different contributors from different orgs. Changing license would be hard

But certainly not impossible.

> * API docs generated from PUBLIC headers - changing license would be impossible, but would be BSD-3-Clause

The code, yes, but I'm expecting that to be orthogonal in the long run.

> * Some wiki content (e.g. https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches and friends) 
>    More than 95% of changes were from Citrix staff, so we could convert to CC-BY-4
>    Most non-Citrix changes are one-line changes and could be covered by fair use
> * Possibly stuff such as https://xenbits.xen.org/docs/unstable/support-matrix.html (which is currently GPL-2,
>    but we could relicense to say GPL-2 and CC-BY-4 if we had to)
> The implication is that the sphinx docs would not be fully CC-BY-4, but the bulk of the pages would be

Would be what?

~Andrew

>
> * Would we ever include API docs generated from GPLv2 code? E.g. for safety use-cases?
> @Stefano, @Artem: I guess this one is for you. 
> I suppose if we would have a similar issue for a safety manual
> I am also assuming we would want to use sphinx docs and rst to generate a future safety manual
>
> Other pages in docs that may be useful for the sphinx docs should essentially be re-written, 
> so we would be fine from a licensing perspective. That means that over time, we could get rid of 
> pandoc and text files in docs/misc, docs/designs, docs/features, docs/specs which
> have not really built a lot of traction.
>
> Related to this is the general question, whether we would ever copy code from source to docs
> and vice versa and to which degree. This is an unknown to me: I think in practice we have not seen
> much or even any of this in the past.
>
> On licensing, we should try and make the docs directory clean, e.g.
> * We should set the default to CC-BY-4 (e.g. through a contributing file in docs)
> * And specifically use GPL-2 for directories such as docs/misc, docs/man, ...
>
> In any case, this seems all a little bit of a mess at the moment and I think we need to
> agree on a foundation to get us to a better state. This mail is a start and intends to gather
> input and will eventually lead to a more concrete proposal.
>
> If I have missed anything, feel free to add
>
> Best Regards
> Lars

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

  reply	other threads:[~2019-10-10 17:05 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-10 12:34 [Xen-devel] [RFC] Documentation formats, licenses and file system structure Lars Kurth
2019-10-10 17:05 ` Andrew Cooper [this message]
2019-10-10 18:30   ` Lars Kurth
2019-10-11  1:24     ` Stefano Stabellini
2019-10-11 11:09       ` Lars Kurth
2019-10-11 17:33         ` Stefano Stabellini
2019-10-15  1:56         ` P S
2019-10-15  1:58         ` Rich Persaud
2019-10-15 12:25           ` Lars Kurth
2019-10-16 16:34             ` Rich Persaud
2019-10-17 13:24               ` Lars Kurth
2019-10-17 16:32                 ` Stefano Stabellini
2019-10-17 16:41                   ` Rich Persaud
2019-10-17 16:53                     ` Stefano Stabellini
2019-10-17 17:05                       ` Rich Persaud
2019-10-17 17:30                         ` Lars Kurth
2019-10-21 12:54                           ` Artem Mygaiev
2019-11-07 19:26                             ` Lars Kurth
2019-11-08 18:55                               ` Stefano Stabellini
2019-10-11  8:32     ` Jan Beulich
2019-10-11 12:25       ` Lars Kurth
2019-10-11 17:28         ` Stefano Stabellini
2019-10-11 10:49 ` Artem Mygaiev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f5e20757-88ba-dabf-b68a-b6edc3ca1619@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=Artem_Mygaiev@epam.com \
    --cc=committers@xenproject.org \
    --cc=lars.kurth@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.