aboutsummaryrefslogtreecommitdiff
path: root/doc/documentation/chapters/preface.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/documentation/chapters/preface.texi')
-rw-r--r--doc/documentation/chapters/preface.texi173
1 files changed, 0 insertions, 173 deletions
diff --git a/doc/documentation/chapters/preface.texi b/doc/documentation/chapters/preface.texi
deleted file mode 100644
index 386cefa6d..000000000
--- a/doc/documentation/chapters/preface.texi
+++ /dev/null
@@ -1,173 +0,0 @@
1@node Preface
2@chapter Preface
3
4This collection of manuals describes how to use GNUnet, a framework
5for secure peer-to-peer networking with the high-level goal to provide
6a strong foundation Free Software for a global, distributed network
7that provides security and privacy. GNUnet in that sense aims to
8replace the current Internet protocol stack. Along with an
9application for secure publication of files, it has grown to include
10all kinds of basic applications for the foundation of a new Internet.
11
12@menu
13* About this book::
14* Contributing to this book::
15* Introduction::
16* Project governance::
17* Typography::
18@end menu
19
20@node About this book
21@section About this book
22
23The books (described as ``book'' or ``books'' in the following)
24bundled as the ``GNUnet Reference Manual'' are based on the historic
25work of all contributors to GNUnet's documentation. It is our hope
26that the content is described in a way that does not require any
27academic background, although some concepts will require further
28reading.
29
30Our (long-term) goal with these books is to keep them self-contained. If
31you see references to Wikipedia and other external sources (except for
32our academic papers) it means that we are working on a solution to
33describe the explanations found there which fits our use-case and licensing.
34
35The first chapter (``Preface'') as well as the the second
36chapter (``Philosophy'') give an introduction to GNUnet as a project,
37what GNUnet tries to achieve.
38
39@node Contributing to this book
40@section Contributing to this book
41
42The GNUnet Reference Manual is a collective work produced by various
43people throughout the years. The version you are reading is derived
44from many individual efforts hosted on our website. This was a failed
45experiment, and with the conversion to Texinfo we hope to address this
46in the longterm. Texinfo is the documentation language of the GNU project.
47While it can be intimidating at first and look scary or complicated,
48it is just another way to express text format instructions. We encourage
49you to take this opportunity and learn about Texinfo, learn about GNUnet,
50and one word at a time we will arrive at a book which explains GNUnet in
51the least complicated way to you. Even when you don't want or can't learn
52Texinfo, you can contribute. Send us an Email or join our IRC chat room
53on freenode and talk with us about the documentation (the prefered way
54to reach out is the mailinglist, since you can communicate with us
55without waiting on someone in the chatroom). One way or another you
56can help shape the understanding of GNUnet without the ability to read
57and understand its sourcecode.
58
59@node Introduction
60@section Introduction
61
62@c In less than 2 printed pages describe the history of GNUnet here,
63@c what we have now and what's still missing (could be split into
64@c subchapters).
65
66GNUnet in its current version is the result of almost 20 years of work
67from many contributors. So far, most contributions were made by
68volunteers or people paid to do fundamental research. At this stage,
69GNUnet remains an experimental system where
70significant parts of the software lack a reasonable degree of
71professionalism in its implementation. Furthermore, we are aware of a
72significant number of existing bugs and critical design flaws, as some
73unfortunate early design decisions remain to be rectified. There are
74still known open problems; GNUnet remains an active research project.
75
76The project was started in 2001 when some initial ideas for improving
77Freenet's file-sharing turned out to be too radical to be easily
78realized within the scope of the existing Freenet project. We lost
79our first contributor on 11.9.2001 as the contributor realized that
80privacy may help terrorists. The rest of the team concluded that it
81was now even more important to fight for civil liberties. The first
82release was called ``GNet'' -- already with the name GNUnet in mind,
83but without the blessing of GNU we did not dare to call it GNUnet
84immediately. A few months after the first release we contacted the
85GNU project, happily agreed to their governance model and became an
86official GNU package.
87
88Within the first year, we created
89@uref{https://gnu.org/s/libextractor, GNU libextractor}, a helper library
90for meta data extraction which has been used by a few other projects
91as well. 2003 saw the emergence of pluggable transports, the ability
92for GNUnet to use different mechanisms for communication, starting
93with TCP, UDP and SMTP (support for the latter was later dropped due
94to a lack of maintenance). In 2005, the project first started to
95evolve beyond the original file-sharing application with a first
96simple P2P chat. In 2007, we created
97@uref{https://gnu.org/s/libmicrohttpd, GNU libmicrohttpd}
98to support a pluggable transport based on HTTP. In 2009, the
99architecture was radically modularized into the multi-process system
100that exists today. Coincidentally, the first version of the ARM
101service (ARM: Automatic Restart Manager)
102was implemented a day before systemd was announced. From 2009
103to 2014 work progressed rapidly thanks to a significant research grant
104from the Deutsche Forschungsgesellschaft. This resulted in particular
105in the creation of the R5N DHT, CADET, ATS and the GNU Name System.
106In 2010, GNUnet was selected as the basis for the
107@uref{https://secushare.org, secushare} online
108social network, resulting in a significant growth of the core team.
109In 2013, we launched @uref{https://taler.net, GNU Taler} to address
110the challenge of convenient
111and privacy-preserving online payments. In 2015, the
112@c TODO: Maybe even markup for the E if it renders in most outputs.
113@uref{https://pep.foundation/, pEp} (pretty Easy privacy) project
114announced that they will use GNUnet as the technology for their
115meta-data protection layer, ultimately resulting in GNUnet e.V.
116entering into a formal long-term collaboration with the pEp
117foundation. In 2016, Taler Systems SA, a first startup using GNUnet
118technology, was founded with support from the community.
119
120GNUnet is not merely a technical project, but also a political
121mission: like the GNU project as a whole, we are writing software to
122achieve political goals with a focus on the human right of
123informational self-determination. Putting users in control of their
124computing has been the core driver of the GNU project. With GNUnet we
125are focusing on informational self-determination for collaborative
126computing and communication over networks.
127
128The Internet is shaped as much by code and protocols as it is by its
129associated political processes (IETF, ICANN, IEEE, etc.).
130Similarly its flaws are not limited to the protocol design. Thus,
131technical excellence by itself will not suffice to create a better
132network. We also need to build a community that is wise, humble and
133has a sense of humor to achieve our goal to create a technical
134foundation for a society we would like to live in.
135
136
137@node Project governance
138@section Project governance
139
140GNUnet, like the GNU project and many other free software projects,
141follows the governance model of a benevolent dictator. This means
142that ultimately, the GNU project appoints the GNU maintainer and can
143overrule decisions made by the GNUnet maintainer. Similarly, the
144GNUnet maintainer can overrule any decisions made by individual
145@c TODO: Should we mention if this is just about GNUnet? Other projects
146@c TODO: in GNU seem to have rare issues (GCC, the 2018 documentation
147@c TODO: discussion.
148developers. Still, in practice neither has happened in the last 20
149years, and we hope to keep it that way.
150
151@c TODO: Actually we are a Swiss association, or just a German association
152@c TODO: with Swiss bylaws/Satzung?
153@c TODO: Rewrite one of the 'GNUnet eV may also' sentences.
154The GNUnet project is supported by GNUnet e.V., a German association
155where any developer can become a member. GNUnet e.V. serves as a
156legal entity to hold the copyrights to GNUnet. GNUnet e.V. may also
157choose to pay for project resources, and can collect donations.
158GNUnet e.V. may also choose to adjust the license of the
159software (with the constraint that it has to remain free software).
160In 2018 we switched from GPL3 to AGPL3, in practice these changes do
161not happen very often.
162
163
164@node Typography
165@section Typography
166
167When giving examples for commands, shell prompts are used to show if the
168command should/can be issued as root, or if "normal" user privileges are
169sufficient. We use a @code{#} for root's shell prompt, a
170@code{%} for users' shell prompt, assuming they use the C-shell or tcsh
171and a @code{$} for bourne shell and derivatives.
172@c TODO: Really? Why the different prompts? Do we already have c-shell
173@c TODO: examples?