aboutsummaryrefslogtreecommitdiff
path: root/doc/documentation/chapters/contributing.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/documentation/chapters/contributing.texi')
-rw-r--r--doc/documentation/chapters/contributing.texi117
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
20GNUnet is a @uref{https://www.gnu.org/, GNU} package.
21All code contributions must thus be put under the
22@uref{https://www.gnu.org/licenses/agpl.html, GNU Affero Public License (AGPL)}.
23All documentation should be put under FSF approved licenses
24(see @uref{https://www.gnu.org/copyleft/fdl.html, fdl}).
25
26By submitting documentation, translations, and other content to GNUnet
27you automatically grant the right to publish code under the
28GNU Public License and documentation under either or both the
29GNU Public License or the GNU Free Documentation License.
30When contributing to the GNUnet project, GNU standards and the
31@uref{https://www.gnu.org/philosophy/philosophy.html, GNU philosophy}
32should be adhered to.
33
34@cindex copyright assignment
35@node Copyright Assignment
36@section Copyright Assignment
37We require a formal copyright assignment for GNUnet contributors
38to GNUnet e.V.; nevertheless, we do allow pseudonymous contributions.
39By signing the copyright agreement and submitting your code (or
40documentation) to us, you agree to share the rights to your code
41with GNUnet e.V.; GNUnet e.V. receives non-exclusive ownership
42rights, and in particular is allowed to dual-license the code. You
43retain non-exclusive rights to your contributions, so you can also
44share your contributions freely with other projects.
45
46GNUnet e.V. will publish all accepted contributions under the AGPLv3
47or any later version. The association may decide to publish
48contributions under additional licenses (dual-licensing).
49
50We do not intentionally remove your name from your contributions;
51however, due to extensive editing it is not always trivial to
52attribute contributors properly. If you find that you significantly
53contributed to a file (or the project as a whole) and are not listed
54in 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}
63when referring to people, such as singular “they”, “their”, “them”, and so
64forth.
65
66@item Keep line length below 74 characters, except for URLs.
67URLs 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
93In the core of gnunet, we restrict new testcases to a small subset
94of 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
101We welcome efforts to remove our existing python-2.7 scripts to
102replace them either with portable shell scripts or,
103at your choice, python-3.6+.
104
105If you contribute new python based testcases, we advise you to
106not repeat our past misfortunes and write the tests in a standard
107test framework like for example pytest.
108
109For 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},
114and @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).