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