diff options
Diffstat (limited to 'doc/documentation/chapters/contributing.texi')
-rw-r--r-- | doc/documentation/chapters/contributing.texi | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/doc/documentation/chapters/contributing.texi b/doc/documentation/chapters/contributing.texi deleted file mode 100644 index f4493e6c1..000000000 --- a/doc/documentation/chapters/contributing.texi +++ /dev/null | |||
@@ -1,117 +0,0 @@ | |||
1 | @node GNUnet Contributors Handbook | ||
2 | @chapter GNUnet Contributors Handbook | ||
3 | |||
4 | @menu | ||
5 | * Contributing to GNUnet:: | ||
6 | * Licenses of contributions:: | ||
7 | * Copyright Assignment:: | ||
8 | * Contributing to the Reference Manual:: | ||
9 | * Contributing testcases:: | ||
10 | @end menu | ||
11 | |||
12 | @node Contributing to GNUnet | ||
13 | @section Contributing to GNUnet | ||
14 | |||
15 | @cindex licenses | ||
16 | @cindex licenses of contributions | ||
17 | @node Licenses of contributions | ||
18 | @section Licenses of contributions | ||
19 | |||
20 | GNUnet is a @uref{https://www.gnu.org/, GNU} package. | ||
21 | All code contributions must thus be put under the | ||
22 | @uref{https://www.gnu.org/licenses/agpl.html, GNU Affero Public License (AGPL)}. | ||
23 | All documentation should be put under FSF approved licenses | ||
24 | (see @uref{https://www.gnu.org/copyleft/fdl.html, fdl}). | ||
25 | |||
26 | By submitting documentation, translations, and other content to GNUnet | ||
27 | you automatically grant the right to publish code under the | ||
28 | GNU Public License and documentation under either or both the | ||
29 | GNU Public License or the GNU Free Documentation License. | ||
30 | When contributing to the GNUnet project, GNU standards and the | ||
31 | @uref{https://www.gnu.org/philosophy/philosophy.html, GNU philosophy} | ||
32 | should be adhered to. | ||
33 | |||
34 | @cindex copyright assignment | ||
35 | @node Copyright Assignment | ||
36 | @section Copyright Assignment | ||
37 | We require a formal copyright assignment for GNUnet contributors | ||
38 | to GNUnet e.V.; nevertheless, we do allow pseudonymous contributions. | ||
39 | By signing the copyright agreement and submitting your code (or | ||
40 | documentation) to us, you agree to share the rights to your code | ||
41 | with GNUnet e.V.; GNUnet e.V. receives non-exclusive ownership | ||
42 | rights, and in particular is allowed to dual-license the code. You | ||
43 | retain non-exclusive rights to your contributions, so you can also | ||
44 | share your contributions freely with other projects. | ||
45 | |||
46 | GNUnet e.V. will publish all accepted contributions under the AGPLv3 | ||
47 | or any later version. The association may decide to publish | ||
48 | contributions under additional licenses (dual-licensing). | ||
49 | |||
50 | We do not intentionally remove your name from your contributions; | ||
51 | however, due to extensive editing it is not always trivial to | ||
52 | attribute contributors properly. If you find that you significantly | ||
53 | contributed to a file (or the project as a whole) and are not listed | ||
54 | in the respective authors file or section, please do let us know. | ||
55 | |||
56 | @node Contributing to the Reference Manual | ||
57 | @section Contributing to the Reference Manual | ||
58 | |||
59 | @itemize @bullet | ||
60 | |||
61 | @item When writing documentation, please use | ||
62 | @uref{https://en.wikipedia.org/wiki/Singular_they, gender-neutral wording} | ||
63 | when referring to people, such as singular “they”, “their”, “them”, and so | ||
64 | forth. | ||
65 | |||
66 | @item Keep line length below 74 characters, except for URLs. | ||
67 | URLs break in the PDF output when they contain linebreaks. | ||
68 | |||
69 | @item Do not use tab characters (see chapter 2.1 texinfo manual) | ||
70 | |||
71 | @item Write texts in the third person perspective. | ||
72 | |||
73 | @c FIXME: This is questionable, it feels like bike shed painging to do | ||
74 | @c this for several k lines. It only helps to jump between sentences in | ||
75 | @c editors afaik. | ||
76 | @c @item Use 2 spaces between sentences, so instead of: | ||
77 | |||
78 | @c @example | ||
79 | @c We do this and the other thing. This is done by foo. | ||
80 | @c @end example | ||
81 | |||
82 | @c Write: | ||
83 | |||
84 | @c @example | ||
85 | @c We do this and the other thing. This is done by foo. | ||
86 | @c @end example | ||
87 | |||
88 | @end itemize | ||
89 | |||
90 | @node Contributing testcases | ||
91 | @section Contributing testcases | ||
92 | |||
93 | In the core of gnunet, we restrict new testcases to a small subset | ||
94 | of languages, in order of preference: | ||
95 | @enumerate | ||
96 | @item C | ||
97 | @item Portable Shell Scripts | ||
98 | @item Python (@geq{}3.6) | ||
99 | @end enumerate | ||
100 | |||
101 | We welcome efforts to remove our existing python-2.7 scripts to | ||
102 | replace them either with portable shell scripts or, | ||
103 | at your choice, python-3.6+. | ||
104 | |||
105 | If you contribute new python based testcases, we advise you to | ||
106 | not repeat our past misfortunes and write the tests in a standard | ||
107 | test framework like for example pytest. | ||
108 | |||
109 | For writing portable shell scripts, these tools are useful: | ||
110 | @uref{https://github.com/koalaman/shellcheck, Shellcheck}, | ||
111 | @uref{https://salsa.debian.org/debian/devscripts/blob/master/scripts/checkbashisms.pl, checkbashisms}, | ||
112 | @uref{http://www.etalabs.net/sh_tricks.html}, | ||
113 | @uref{https://wiki.ubuntu.com/DashAsBinSh}, | ||
114 | and @uref{https://mywiki.wooledge.org/Bashism} | ||
115 | |||
116 | @c You could also run "bin/check_shell_script" (which we still have | ||
117 | @c to write). | ||