diff options
Diffstat (limited to 'doc/handbook/chapters/philosophy.texi')
-rw-r--r-- | doc/handbook/chapters/philosophy.texi | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/doc/handbook/chapters/philosophy.texi b/doc/handbook/chapters/philosophy.texi new file mode 100644 index 000000000..e57c20914 --- /dev/null +++ b/doc/handbook/chapters/philosophy.texi | |||
@@ -0,0 +1,81 @@ | |||
1 | @cindex Philosophy | ||
2 | @node Philosophy | ||
3 | @chapter Philosophy | ||
4 | |||
5 | @c NOTE: We should probably re-use some of the images lynX created | ||
6 | @c for secushare, showing some of the relations and functionalities | ||
7 | @c of GNUnet. | ||
8 | The primary goal of the GNUnet project is to provide a reliable, open, | ||
9 | non-discriminating and censorship-resistant system for information | ||
10 | exchange. We value free speech above state interests and intellectual | ||
11 | monopoly. GNUnet's long-term goal is to serve as a development | ||
12 | platform for the next generation of Internet protocols. | ||
13 | |||
14 | GNUnet is an anarchistic network. Participants are encouraged to | ||
15 | contribute at least as much resources (storage, bandwidth) to the network | ||
16 | as they consume, so that their participation does not have a negative | ||
17 | impact on other users. | ||
18 | |||
19 | @menu | ||
20 | * Design Principles:: | ||
21 | * Privacy and Anonymity:: | ||
22 | * Practicality:: | ||
23 | @end menu | ||
24 | |||
25 | @cindex Design Principles | ||
26 | @node Design Principles | ||
27 | @section Design Principles | ||
28 | |||
29 | These are the GNUnet design principles, in order of importance: | ||
30 | |||
31 | @itemize | ||
32 | @item GNUnet must be implemented as | ||
33 | @uref{https://www.gnu.org/philosophy/free-sw.html, Free Software} --- | ||
34 | This means that you you have the four essential freedoms: to run | ||
35 | the program, to study and change the program in source code form, | ||
36 | to redistribute exact copies, and to distribute modified versions. | ||
37 | (@uref{https://www.gnu.org/philosophy/free-sw.html}). | ||
38 | @item GNUnet must minimize the amount of personally identifiable information exposed. | ||
39 | @item GNUnet must be fully distributed and resilient to external attacks and rogue participants. | ||
40 | @item GNUnet must be self-organizing and not depend on administrators or centralized infrastructure. | ||
41 | @item GNUnet must inform the user which other participants have to be trusted when establishing private communications. | ||
42 | @item GNUnet must be open and permit new peers to join. | ||
43 | @item GNUnet must support a diverse range of applications and devices. | ||
44 | @item GNUnet must use compartmentalization to protect sensitive information. | ||
45 | @item The GNUnet architecture must be resource efficient. | ||
46 | @item GNUnet must provide incentives for peers to contribute more resources than they consume. | ||
47 | @end itemize | ||
48 | |||
49 | |||
50 | @cindex Privacy and Anonymity | ||
51 | @node Privacy and Anonymity | ||
52 | @section Privacy and Anonymity | ||
53 | |||
54 | The GNUnet protocols minimize the leakage of personally identifiable | ||
55 | information of participants and do not allow adversaries to control, | ||
56 | track, monitor or censor users activities. The GNUnet protocols also | ||
57 | make it as hard as possible to disrupt operations by participating in | ||
58 | the network with malicious intent. | ||
59 | |||
60 | Analyzing participant's activities becomes more difficult as the | ||
61 | number of peers and applications that generate traffic on the network | ||
62 | grows, even if the additional traffic generated is not related to | ||
63 | anonymous communication. This is one of the reasons why GNUnet is | ||
64 | developed as a peer-to-peer framework where many applications share | ||
65 | the lower layers of an increasingly complex protocol stack. The GNUnet | ||
66 | architecture encourages many different forms of peer-to-peer | ||
67 | applications. | ||
68 | |||
69 | @cindex Practicality | ||
70 | @node Practicality | ||
71 | @section Practicality | ||
72 | |||
73 | Whereever possible GNUnet allows the peer to adjust its operations and | ||
74 | functionalities to specific use cases. A GNUnet peer running on a | ||
75 | mobile device with limited battery for example might choose not to | ||
76 | relay traffic for other participants. | ||
77 | |||
78 | For certain applications like file-sharing GNUnet allows participants | ||
79 | to trade degrees of anonymity in exchange for increased | ||
80 | efficiency. However, it is not possible for any user's efficiency | ||
81 | requirements to compromise the anonymity of any other user. | ||