gnunet-handbook

The GNUnet Handbook
Log | Files | Refs

index.rst (1905B)


      1 
      2 .. _GNUnet-Developer-Handbook:
      3 
      4 #########################
      5 Developer Handbook
      6 #########################
      7 
      8 This book is intended to be an introduction for programmers that want to
      9 extend the GNUnet framework. GNUnet is more than a simple peer-to-peer
     10 application.
     11 
     12 For developers, GNUnet is:
     13 
     14 * developed by a community that believes in the GNU philosophy
     15 * Free Software (Free as in Freedom), licensed under the 
     16   `GNU Affero General Public License`_
     17 * A set of standards, including coding conventions and architectural rules
     18 * A set of layered protocols, both specifying the communication
     19   between peers as well as the communication between components
     20   of a single peer
     21 * A set of libraries with well-defined APIs suitable for
     22   writing extensions
     23 
     24 In particular, the architecture specifies that a peer consists of many
     25 processes communicating via protocols. Processes can be written in almost
     26 any language.
     27 ``C``, ``Java`` and ``Guile`` APIs exist for accessing existing
     28 services and for writing extensions.
     29 It is possible to write extensions in other languages by
     30 implementing the necessary IPC protocols.
     31 
     32 GNUnet can be extended and improved along many possible dimensions, and
     33 anyone interested in Free Software and Freedom-enhancing Networking is
     34 welcome to join the effort. This Developer Handbook attempts to provide
     35 an initial introduction to some of the key design choices and central
     36 components of the system.
     37 
     38 This part of the GNUnet documentation is far from complete,
     39 and we welcome informed contributions, be it in the form of
     40 new chapters, sections or insightful comments.
     41 
     42 .. toctree::
     43    :maxdepth: 2
     44 
     45    contributing.rst
     46    style.rst
     47 
     48    util.rst
     49    architecture.rst
     50    cryptographic-material.rst
     51    stability.rst
     52    apis/index.rst
     53    rest-api/index.rst
     54    tutorial
     55    livingstandards
     56    doxygen
     57 
     58 .. _GNU Affero General Public License: https://www.gnu.org/licenses/licenses.html#AGPL