aboutsummaryrefslogtreecommitdiff
path: root/doc/documentation
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2018-05-14 20:37:04 +0200
committerChristian Grothoff <christian@grothoff.org>2018-05-14 20:37:04 +0200
commitabb507884f5e3ac062b6b7f84a02ad6acb0fabc2 (patch)
tree81bff55edbef3267328fb50d1c0136275564ebf3 /doc/documentation
parente688aa8f480d9f30bd986db72fbdde180b82378e (diff)
downloadgnunet-abb507884f5e3ac062b6b7f84a02ad6acb0fabc2.tar.gz
gnunet-abb507884f5e3ac062b6b7f84a02ad6acb0fabc2.zip
expand preface
Diffstat (limited to 'doc/documentation')
-rw-r--r--doc/documentation/chapters/preface.texi98
1 files changed, 89 insertions, 9 deletions
diff --git a/doc/documentation/chapters/preface.texi b/doc/documentation/chapters/preface.texi
index 20ac7efe7..2f4edfe3d 100644
--- a/doc/documentation/chapters/preface.texi
+++ b/doc/documentation/chapters/preface.texi
@@ -2,17 +2,18 @@
2@chapter Preface 2@chapter Preface
3 3
4@c introductionary words here 4@c introductionary words here
5This collection of Manuals describes how to use GNUnet, a framework 5This collection of manuals describes how to use GNUnet, a framework
6for secure peer-to-peer networking with the high-level goal to provide 6for secure peer-to-peer networking with the high-level goal to provide
7a strong foundation Free Software for a global, distributed network 7a strong foundation Free Software for a global, distributed network
8that provides security and privacy. GNUnet in that sense aims to 8that provides security and privacy. GNUnet in that sense aims to
9replace the current internet protocol stack. Along with an 9replace the current Internet protocol stack. Along with an
10application for secure publication of files, it has grown to include 10application for secure publication of files, it has grown to include
11all kinds of basic applications for the foundation of a new internet. 11all kinds of basic applications for the foundation of a new Internet.
12 12
13@menu 13@menu
14* About this book:: 14* About this book::
15* Introduction:: 15* Introduction::
16* Project governance::
16* General Terminology:: 17* General Terminology::
17* Typography:: 18* Typography::
18@end menu 19@end menu
@@ -22,7 +23,7 @@ all kinds of basic applications for the foundation of a new internet.
22 23
23The books (described as ``book'' or ``books'' in the following) bundled as 24The books (described as ``book'' or ``books'' in the following) bundled as
24the ``GNUnet Reference Manual'' are based on the historic work of all 25the ``GNUnet Reference Manual'' are based on the historic work of all
25contributors to GNUnet's Documentation. The Documentation existed in 26contributors to GNUnet's documentation. The documentation existed in
26various formats before it came to be in the format you are currently 27various formats before it came to be in the format you are currently
27reading. It is our hope that the content is described in a way that does 28reading. It is our hope that the content is described in a way that does
28not require any academic background, although some concepts will require 29not require any academic background, although some concepts will require
@@ -31,11 +32,11 @@ further reading.
31Our (long-term) goal with these books is to keep them self-contained. If 32Our (long-term) goal with these books is to keep them self-contained. If
32you see references to Wikipedia and other external sources (except for 33you see references to Wikipedia and other external sources (except for
33our academic papers) it means that we are working on a solution to 34our academic papers) it means that we are working on a solution to
34describe the explanations found there which fits our usecase and licensing. 35describe the explanations found there which fits our use-case and licensing.
35 36
36The first chapter (``Preface'') as well as the the second 37The first chapter (``Preface'') as well as the the second
37chapter (``Philosophy'') give an introduction to GNUnet as a project, 38chapter (``Philosophy'') give an introduction to GNUnet as a project,
38what GNUnet tries to achieve, 39what GNUnet tries to achieve.
39 40
40@node Introduction 41@node Introduction
41@section Introduction 42@section Introduction
@@ -45,13 +46,92 @@ what GNUnet tries to achieve,
45@c subchapters). 46@c subchapters).
46 47
47GNUnet in its current version is the result of almost 20 years of work 48GNUnet in its current version is the result of almost 20 years of work
48from many contributors, with many publications. 49from many contributors. So far, most contributions were made by
50volunteers or people paid to do fundamental research. Thus,
51significant parts of the software lack a reasonable degree of
52professionalism in its implementation. Furthermore, we are aware of a
53significant number of existing bugs and critical design flaws, as some
54unfortunate early design decisions remain to be rectified. There are
55still known open problems; GNUnet remains an active research project.
56
57The project was started in 2001 when some initial ideas for improving
58Freenet's file-sharing turned out to be too radical to be easily
59realized within the scope of the existing Freenet project. We lost
60our first contributor on 11.9.2001 as the contributor realized that
61privacy may help terrorists. The rest of the team concluded that it
62was now even more important to fight for civil liberties. The first
63release was called ``GNet'' -- already with the name GNUnet in mind,
64but without the blessing of GNU we did not dare to call it GNUnet
65immediately. A few months after the first release we contacted the
66GNU project, happily agreed to their governance model and became an
67official GNU package.
68
69Within the first year, we created GNU libextractor, a helper library
70for meta data extraction which has been used by a few other projects
71as well. 2003 saw the emergence of pluggable transports, the ability
72for GNUnet to use different mechanisms for communication, starting
73with TCP, UDP and SMTP (support for the latter was later dropped due
74to a lack of maintenance). In 2005, the project first started to
75evolve beyond the original file-sharing application with a first
76simple P2P chat. In 2007, we created GNU libmicrohttpd to support a
77pluggable transport based on HTTP. In 2009, the architecture was
78radically modularized into the multi-process system that exists today.
79Coincidentally, the first version of the ARM service was implemented a
80day before systemd was announced. From 2009 to 2014 work progressed
81rapidly thanks to a significant research grant from the Deutsche
82Forschungsgesellschaft. This resulted in particular in the creation
83of the R5N DHT, CADET, ATS and the GNU Name System. In 2010,
84GNUnet was selected as the basis for the SecuShare online social
85network, resutling in a significant growth of the core team. In 2013,
86we launched GNU Taler to address the challenge of convenient and
87privacy-preserving online payments. In 2015, the pEp project
88announced that they will use GNUnet as the technology for their
89meta-data protection layer, ultimately resulting in GNUnet e.V.
90entering into a formal long-term collaboration with the pEp
91foundation. In 2016, Taler Systems SA, a first startup using GNUnet
92technology, was founded with support from the community.
93
94GNUnet is not merely a technical project, but also a political
95mission: like the GNU project as a whole, we are writing software to
96achieve political goals with a focus on the human right of
97informational self-determination. Putting users in control of their
98computing has been the core driver of the GNU project. With GNUnet we
99are focusing on informational self-determination for collaborative
100computing and communication over networks.
101
102The Internet is shaped as much by code and protocols as by its
103associated political processes (IETF, ICANN, IEEE, etc.), and its
104flaws are similarly not limited to the protocol design. Thus,
105technical excellence by itself will not suffice to create a better
106network. We also need to build a community that is wise, humble and
107has a sense of humor to achieve our goal to create a technical
108foundation for a society we would like to live in.
109
110
111@node Project governance
112@section Project governance
113
114GNUnet, like the GNU project and many other free software projects,
115follows the governance model of a benevolent dictator. This means
116that ultimately, the GNU project appoints the GNU maintainer and can
117overrule decisions made by the GNUnet maintainer. Similarly, the
118GNUnet maintainer can overrule any decisions made by individual
119developers. Still, in practice neither has happened in the last 20
120years, and we hope to keep it that way.
121
122The GNUnet project is supported by GNUnet e.V., a German association
123where any developer can become a member. GNUnet e.V. servers as a
124legal entity to hold the copyrights to GNUnet. GNUnet e.V. may also
125choose to pay for project resources, and can collect donations.
126GNUnet e.V. may also choose to adjust the license of the
127software (with the constraint that it has to remain free software).
128
49 129
50@node General Terminology 130@node General Terminology
51@section General Terminology 131@section General Terminology
52 132
53In the following Manual we may use words that can not be found in the 133In the following manual we may use words that can not be found in the
54Appendix. Since we want to keep the Manual selfcontained, we will 134Appendix. Since we want to keep the manual selfcontained, we will
55explain words here. 135explain words here.
56 136
57@node Typography 137@node Typography