diff options
author | Ulrich Müller <ulm@gentoo.org> | 2023-10-21 14:03:53 +0200 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2023-10-22 13:35:52 +0200 |
commit | bbba1f2dc618c7d937a62474c755e1cd834d4808 (patch) | |
tree | be21a20f8bcf7d14bbb99235beab9788bd240ec7 /general-concepts | |
parent | devbook.xsl: Support type and start attributes for ordered lists (diff) | |
download | devmanual-bbba1f2dc618c7d937a62474c755e1cd834d4808.tar.gz devmanual-bbba1f2dc618c7d937a62474c755e1cd834d4808.tar.bz2 devmanual-bbba1f2dc618c7d937a62474c755e1cd834d4808.zip |
general-concepts/copyright-policy: Reformat the General guideline section
Use nested ordered lists instead of one description list. Hopefully,
this will make the logic better understandable.
Add a diagram with a flowchart. Also commit the SVG output, so we
don't need Graphviz as build dependency for a single file that isn't
expected to change very often.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'general-concepts')
-rw-r--r-- | general-concepts/copyright-policy/diagram.dot | 43 | ||||
-rw-r--r-- | general-concepts/copyright-policy/diagram.svg | 107 | ||||
-rw-r--r-- | general-concepts/copyright-policy/text.xml | 113 |
3 files changed, 221 insertions, 42 deletions
diff --git a/general-concepts/copyright-policy/diagram.dot b/general-concepts/copyright-policy/diagram.dot new file mode 100644 index 0000000..5b29ab7 --- /dev/null +++ b/general-concepts/copyright-policy/diagram.dot @@ -0,0 +1,43 @@ +// Copyright 2023 Gentoo Authors +// Distributed under the terms of the CC-BY-SA-4.0 license + +digraph g { + size = "8!,2"; + node [ penwidth = 2; fontname = "Open Sans" ]; + edge [ penwidth = 2; fontname = "Open Sans" ]; + + start [ width = 1.4; height = 0.9; label = "Start" ]; + + signoff [ shape = diamond; width = 2.4; height = 1.3; + style = filled; fillcolor = "cyan"; + label = "Signed-off-by?" ]; + size [ shape = diamond; width = 2.4; height = 1.3; + style = filled; fillcolor = "cyan"; + label = "Tiny\ncontribution?" ]; + license [ shape = diamond; width = 2.4; height = 1.3; + style = filled; fillcolor = "cyan"; + label = "Contains\nlicense notice?" ]; + + accept4 [ shape = rect; width = 1.6; height = 0.8; + style = filled; fillcolor = "lime"; + label = "Accept\n(GCO point 4)" ]; + accept2 [ shape = rect; width = 1.6; height = 0.8; + style = filled; fillcolor = "lime"; + label = "Accept\n(GCO point 2)" ]; + reject [ shape = rect; width = 1.6; height = 0.7; + style = filled; fillcolor = "red"; + label = "Do not accept" ]; + + start -> signoff; + + signoff:s -> accept4 [ label = " Yes " ]; + signoff -> size [ label = " No " ]; + + size:s -> accept2 [ label = " Yes " ]; + size -> license [ label = " No " ]; + + license:s -> accept2 [ label = " Yes " ]; + license -> reject [ label = " No " ]; + + { rank = same; start; signoff; size; license; reject; } +} diff --git a/general-concepts/copyright-policy/diagram.svg b/general-concepts/copyright-policy/diagram.svg new file mode 100644 index 0000000..3affb30 --- /dev/null +++ b/general-concepts/copyright-policy/diagram.svg @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generated by graphviz version 9.0.0 (20230911.1827) + --> +<!-- Title: g Pages: 1 --> +<svg width="576pt" height="132pt" + viewBox="0.00 0.00 576.00 131.70" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(0.613419 0.613419) rotate(0) translate(4 210.7)"> +<title>g</title> +<polygon fill="white" stroke="none" points="-4,4 -4,-210.7 935,-210.7 935,4 -4,4"/> +<!-- start --> +<g id="node1" class="node"> +<title>start</title> +<ellipse fill="none" stroke="black" stroke-width="2" cx="50.4" cy="-159.9" rx="50.4" ry="32.4"/> +<text text-anchor="middle" x="50.4" y="-156.35" font-family="Open Sans" font-size="14.00">Start</text> +</g> +<!-- signoff --> +<g id="node2" class="node"> +<title>signoff</title> +<polygon fill="cyan" stroke="black" stroke-width="2" points="222.4,-206.7 136,-159.9 222.4,-113.1 308.8,-159.9 222.4,-206.7"/> +<text text-anchor="middle" x="222.4" y="-156.35" font-family="Open Sans" font-size="14.00">Signed-off-by?</text> +</g> +<!-- start->signoff --> +<g id="edge1" class="edge"> +<title>start->signoff</title> +<path fill="none" stroke="black" stroke-width="2" d="M101.8,-159.9C108.32,-159.9 114.83,-159.9 121.35,-159.9"/> +<polygon fill="black" stroke="black" stroke-width="2" points="121.28,-163.4 131.28,-159.9 121.28,-156.4 121.28,-163.4"/> +</g> +<!-- size --> +<g id="node3" class="node"> +<title>size</title> +<polygon fill="cyan" stroke="black" stroke-width="2" points="446.4,-206.7 360,-159.9 446.4,-113.1 532.8,-159.9 446.4,-206.7"/> +<text text-anchor="middle" x="446.4" y="-166.1" font-family="Open Sans" font-size="14.00">Tiny</text> +<text text-anchor="middle" x="446.4" y="-146.6" font-family="Open Sans" font-size="14.00">contribution?</text> +</g> +<!-- signoff->size --> +<g id="edge3" class="edge"> +<title>signoff->size</title> +<path fill="none" stroke="black" stroke-width="2" d="M310.61,-159.9C321.91,-159.9 333.54,-159.9 345.03,-159.9"/> +<polygon fill="black" stroke="black" stroke-width="2" points="344.88,-163.4 354.88,-159.9 344.88,-156.4 344.88,-163.4"/> +<text text-anchor="middle" x="334.4" y="-169.1" font-family="Open Sans" font-size="14.00">  No  </text> +</g> +<!-- accept4 --> +<g id="node5" class="node"> +<title>accept4</title> +<polygon fill="lime" stroke="black" stroke-width="2" points="280,-57.6 164.8,-57.6 164.8,0 280,0 280,-57.6"/> +<text text-anchor="middle" x="222.4" y="-35" font-family="Open Sans" font-size="14.00">Accept</text> +<text text-anchor="middle" x="222.4" y="-15.5" font-family="Open Sans" font-size="14.00">(GCO point 4)</text> +</g> +<!-- signoff->accept4 --> +<g id="edge2" class="edge"> +<title>signoff:s->accept4</title> +<path fill="none" stroke="black" stroke-width="2" d="M222.4,-113.1C222.4,-99.43 222.4,-84.51 222.4,-71.11"/> +<polygon fill="black" stroke="black" stroke-width="2" points="225.9,-71.36 222.4,-61.36 218.9,-71.36 225.9,-71.36"/> +<text text-anchor="middle" x="240.77" y="-81.8" font-family="Open Sans" font-size="14.00">  Yes  </text> +</g> +<!-- license --> +<g id="node4" class="node"> +<title>license</title> +<polygon fill="cyan" stroke="black" stroke-width="2" points="674.4,-206.7 584.66,-159.9 674.4,-113.1 764.14,-159.9 674.4,-206.7"/> +<text text-anchor="middle" x="674.4" y="-166.1" font-family="Open Sans" font-size="14.00">Contains</text> +<text text-anchor="middle" x="674.4" y="-146.6" font-family="Open Sans" font-size="14.00">license notice?</text> +</g> +<!-- size->license --> +<g id="edge5" class="edge"> +<title>size->license</title> +<path fill="none" stroke="black" stroke-width="2" d="M534.88,-159.9C546.25,-159.9 557.97,-159.9 569.57,-159.9"/> +<polygon fill="black" stroke="black" stroke-width="2" points="569.56,-163.4 579.56,-159.9 569.56,-156.4 569.56,-163.4"/> +<text text-anchor="middle" x="558.73" y="-169.1" font-family="Open Sans" font-size="14.00">  No  </text> +</g> +<!-- accept2 --> +<g id="node6" class="node"> +<title>accept2</title> +<polygon fill="lime" stroke="black" stroke-width="2" points="618,-57.6 502.8,-57.6 502.8,0 618,0 618,-57.6"/> +<text text-anchor="middle" x="560.4" y="-35" font-family="Open Sans" font-size="14.00">Accept</text> +<text text-anchor="middle" x="560.4" y="-15.5" font-family="Open Sans" font-size="14.00">(GCO point 2)</text> +</g> +<!-- size->accept2 --> +<g id="edge4" class="edge"> +<title>size:s->accept2</title> +<path fill="none" stroke="black" stroke-width="2" d="M446.4,-113.1C446.4,-86.44 466.98,-67.39 490.65,-54.31"/> +<polygon fill="black" stroke="black" stroke-width="2" points="492.02,-57.54 499.36,-49.9 488.86,-51.29 492.02,-57.54"/> +<text text-anchor="middle" x="479.77" y="-81.8" font-family="Open Sans" font-size="14.00">  Yes  </text> +</g> +<!-- license->accept2 --> +<g id="edge6" class="edge"> +<title>license:s->accept2</title> +<path fill="none" stroke="black" stroke-width="2" d="M674.4,-113.1C674.4,-86.44 653.82,-67.39 630.15,-54.31"/> +<polygon fill="black" stroke="black" stroke-width="2" points="631.94,-51.29 621.44,-49.9 628.78,-57.54 631.94,-51.29"/> +<text text-anchor="middle" x="687.77" y="-81.8" font-family="Open Sans" font-size="14.00">  Yes  </text> +</g> +<!-- reject --> +<g id="node7" class="node"> +<title>reject</title> +<polygon fill="red" stroke="black" stroke-width="2" points="931,-185.1 815.8,-185.1 815.8,-134.7 931,-134.7 931,-185.1"/> +<text text-anchor="middle" x="873.4" y="-156.35" font-family="Open Sans" font-size="14.00">Do not accept</text> +</g> +<!-- license->reject --> +<g id="edge7" class="edge"> +<title>license->reject</title> +<path fill="none" stroke="black" stroke-width="2" d="M766.04,-159.9C778.12,-159.9 790.35,-159.9 802.03,-159.9"/> +<polygon fill="black" stroke="black" stroke-width="2" points="801.9,-163.4 811.9,-159.9 801.9,-156.4 801.9,-163.4"/> +<text text-anchor="middle" x="789.97" y="-169.1" font-family="Open Sans" font-size="14.00">  No  </text> +</g> +</g> +</svg> diff --git a/general-concepts/copyright-policy/text.xml b/general-concepts/copyright-policy/text.xml index 7b877f8..c8d6865 100644 --- a/general-concepts/copyright-policy/text.xml +++ b/general-concepts/copyright-policy/text.xml @@ -62,54 +62,83 @@ author is, or is not required. The list below serves as a general guideline. </body> <subsection> -<title>Examples for general guideline</title> +<title>General guideline</title> <body> -<dl> - <dt>A contribution with a Signed-off-by line by its author</dt> - <dd> - Can be accepted, because the author confirmed that it is under a free - software license. The committer adds another S-o-b line and certifies the - commit under point 4 of the +<figure link="diagram.png" short="When can a contribution be accepted?" + caption="Flowchart showing the steps for accepting a contribution" /> + +<p> +When can a contribution be accepted? +</p> + +<ol type="1"> + <li> + <p> + When signed off by its author (i.e. with a <c>Signed-off-by</c> line): + </p> + <p> + Can be accepted, because the author has confirmed that it is under a free + software license. The committer adds another <c>Signed-off-by</c> line and + certifies the commit under point 4 of the <uri link="https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin"> Certificate of Origin</uri>. + </p> <note> - Use common sense here, especially if you don't know the contributor. If the - contribution was taken from somewhere else and the contributor doesn't have - the right to distribute it under a free software license, you as the - committer might get into trouble. So in this situation, do your best to - check repositories for matching code, and whether they hold any special - copyright claims. + Use common sense here, especially if you don't know the contributor. + If the contribution was taken from somewhere else and the contributor + doesn't have the right to distribute it under a free software license, + you as the committer might get into trouble. So in this situation, do your + best to check repositories for matching code, and whether they hold any + special copyright claims. </note> - </dd> - <dt> - A contribution without a S-o-b line and of significant size, but with an - independent indication of its license (e.g. copyright and license notices - in the file's header) - </dt> - <dd> - Can be accepted. The committer adds a S-o-b line and certifies the commit - under point 2 of the Certificate of Origin. - </dd> - <dt> - A contribution without a S-o-b line but not - <uri link="https://www.gnu.org/prep/maintain/html_node/Legally-Significant.html"> - "legally significant"</uri> (by the FSF's 15-lines rule of thumb) - </dt> - <dd> - Can be accepted. The committer adds a S-o-b line and certifies the commit - under point 2 of the Certificate of Origin. - </dd> - <dt> - A contribution without a S-o-b line and of significant size, without any - other indication of its license - </dt> - <dd> - Can <e>not</e> be accepted. There's no indication that the author has - released their work under a free license, therefore it must not be - distributed by Gentoo. - </dd> -</dl> + </li> + <li> + <p> + When <e>not</e> signed off: + </p> + <ol type="a"> + <li> + <p> + If the contribution is not of + <uri link="https://www.gnu.org/prep/maintain/html_node/Legally-Significant.html"> + "legally significant"</uri> size (by the FSF's 15-lines rule of thumb): + </p> + <p> + Can be accepted. The committer adds a <c>Signed-off-by</c> line and + certifies the commit under point 2 of the Certificate of Origin. + </p> + </li> + <li> + <p> + If the contribution is of significant size, and + </p> + <ol type="i"> + <li> + <p> + with an independent indication of its license (e.g. copyright and + license notices in the file's header): + </p> + <p> + Can be accepted. The committer adds a <c>Signed-off-by</c> line and + certifies the commit under point 2 of the Certificate of Origin. + </p> + </li> + <li> + <p> + <e>without</e> any other indication of its license: + </p> + <p> + Can <e>not</e> be accepted. There's no indication that the author + has released their work under a free license, therefore it must not + be distributed by Gentoo. + </p> + </li> + </ol> + </li> + </ol> + </li> +</ol> </body> </subsection> |