375 lines
15 KiB
HTML
375 lines
15 KiB
HTML
|
<?xml version="1.0" encoding="utf-8"?>
|
|||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
|||
|
<head>
|
|||
|
<!-- 2017-10-27 Fri 10:43 -->
|
|||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
|||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|||
|
<title>‎</title>
|
|||
|
<meta name="generator" content="Org mode" />
|
|||
|
<meta name="author" content="Bob Mottram" />
|
|||
|
<meta name="description" content="Turn any laptop or a Beaglebone Black into an off-the-grid mesh peer"
|
|||
|
/>
|
|||
|
<meta name="keywords" content="freedombox, debian, beaglebone, mesh" />
|
|||
|
<style type="text/css">
|
|||
|
<!--/*--><![CDATA[/*><!--*/
|
|||
|
.title { text-align: center;
|
|||
|
margin-bottom: .2em; }
|
|||
|
.subtitle { text-align: center;
|
|||
|
font-size: medium;
|
|||
|
font-weight: bold;
|
|||
|
margin-top:0; }
|
|||
|
.todo { font-family: monospace; color: red; }
|
|||
|
.done { font-family: monospace; color: green; }
|
|||
|
.priority { font-family: monospace; color: orange; }
|
|||
|
.tag { background-color: #eee; font-family: monospace;
|
|||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
|||
|
.timestamp { color: #bebebe; }
|
|||
|
.timestamp-kwd { color: #5f9ea0; }
|
|||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
|||
|
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
|||
|
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
|||
|
.underline { text-decoration: underline; }
|
|||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
|||
|
p.verse { margin-left: 3%; }
|
|||
|
pre {
|
|||
|
border: 1px solid #ccc;
|
|||
|
box-shadow: 3px 3px 3px #eee;
|
|||
|
padding: 8pt;
|
|||
|
font-family: monospace;
|
|||
|
overflow: auto;
|
|||
|
margin: 1.2em;
|
|||
|
}
|
|||
|
pre.src {
|
|||
|
position: relative;
|
|||
|
overflow: visible;
|
|||
|
padding-top: 1.2em;
|
|||
|
}
|
|||
|
pre.src:before {
|
|||
|
display: none;
|
|||
|
position: absolute;
|
|||
|
background-color: white;
|
|||
|
top: -10px;
|
|||
|
right: 10px;
|
|||
|
padding: 3px;
|
|||
|
border: 1px solid black;
|
|||
|
}
|
|||
|
pre.src:hover:before { display: inline;}
|
|||
|
/* Languages per Org manual */
|
|||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
|||
|
pre.src-awk:before { content: 'Awk'; }
|
|||
|
pre.src-C:before { content: 'C'; }
|
|||
|
/* pre.src-C++ doesn't work in CSS */
|
|||
|
pre.src-clojure:before { content: 'Clojure'; }
|
|||
|
pre.src-css:before { content: 'CSS'; }
|
|||
|
pre.src-D:before { content: 'D'; }
|
|||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
|||
|
pre.src-dot:before { content: 'Graphviz'; }
|
|||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
|||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
|||
|
pre.src-fortran:before { content: 'Fortran'; }
|
|||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
|||
|
pre.src-haskell:before { content: 'Haskell'; }
|
|||
|
pre.src-hledger:before { content: 'hledger'; }
|
|||
|
pre.src-java:before { content: 'Java'; }
|
|||
|
pre.src-js:before { content: 'Javascript'; }
|
|||
|
pre.src-latex:before { content: 'LaTeX'; }
|
|||
|
pre.src-ledger:before { content: 'Ledger'; }
|
|||
|
pre.src-lisp:before { content: 'Lisp'; }
|
|||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
|||
|
pre.src-lua:before { content: 'Lua'; }
|
|||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
|||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
|||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
|||
|
pre.src-octave:before { content: 'Octave'; }
|
|||
|
pre.src-org:before { content: 'Org mode'; }
|
|||
|
pre.src-oz:before { content: 'OZ'; }
|
|||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
|||
|
pre.src-processing:before { content: 'Processing.js'; }
|
|||
|
pre.src-python:before { content: 'Python'; }
|
|||
|
pre.src-R:before { content: 'R'; }
|
|||
|
pre.src-ruby:before { content: 'Ruby'; }
|
|||
|
pre.src-sass:before { content: 'Sass'; }
|
|||
|
pre.src-scheme:before { content: 'Scheme'; }
|
|||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
|||
|
pre.src-sed:before { content: 'Sed'; }
|
|||
|
pre.src-sh:before { content: 'shell'; }
|
|||
|
pre.src-sql:before { content: 'SQL'; }
|
|||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
|||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
|||
|
pre.src-forth:before { content: 'Forth'; }
|
|||
|
pre.src-io:before { content: 'IO'; }
|
|||
|
pre.src-J:before { content: 'J'; }
|
|||
|
pre.src-makefile:before { content: 'Makefile'; }
|
|||
|
pre.src-maxima:before { content: 'Maxima'; }
|
|||
|
pre.src-perl:before { content: 'Perl'; }
|
|||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
|||
|
pre.src-scala:before { content: 'Scala'; }
|
|||
|
pre.src-shell:before { content: 'Shell Script'; }
|
|||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
|||
|
/* additional language identifiers per "defun org-babel-execute"
|
|||
|
in ob-*.el */
|
|||
|
pre.src-cpp:before { content: 'C++'; }
|
|||
|
pre.src-abc:before { content: 'ABC'; }
|
|||
|
pre.src-coq:before { content: 'Coq'; }
|
|||
|
pre.src-groovy:before { content: 'Groovy'; }
|
|||
|
/* additional language identifiers from org-babel-shell-names in
|
|||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
|||
|
the execution function name together. */
|
|||
|
pre.src-bash:before { content: 'bash'; }
|
|||
|
pre.src-csh:before { content: 'csh'; }
|
|||
|
pre.src-ash:before { content: 'ash'; }
|
|||
|
pre.src-dash:before { content: 'dash'; }
|
|||
|
pre.src-ksh:before { content: 'ksh'; }
|
|||
|
pre.src-mksh:before { content: 'mksh'; }
|
|||
|
pre.src-posh:before { content: 'posh'; }
|
|||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
|||
|
pre.src-ada:before { content: 'Ada'; }
|
|||
|
pre.src-asm:before { content: 'Assembler'; }
|
|||
|
pre.src-caml:before { content: 'Caml'; }
|
|||
|
pre.src-delphi:before { content: 'Delphi'; }
|
|||
|
pre.src-html:before { content: 'HTML'; }
|
|||
|
pre.src-idl:before { content: 'IDL'; }
|
|||
|
pre.src-mercury:before { content: 'Mercury'; }
|
|||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
|||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
|||
|
pre.src-pascal:before { content: 'Pascal'; }
|
|||
|
pre.src-ps:before { content: 'PostScript'; }
|
|||
|
pre.src-prolog:before { content: 'Prolog'; }
|
|||
|
pre.src-simula:before { content: 'Simula'; }
|
|||
|
pre.src-tcl:before { content: 'tcl'; }
|
|||
|
pre.src-tex:before { content: 'TeX'; }
|
|||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
|||
|
pre.src-verilog:before { content: 'Verilog'; }
|
|||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
|||
|
pre.src-xml:before { content: 'XML'; }
|
|||
|
pre.src-nxml:before { content: 'XML'; }
|
|||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
|||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
|||
|
pre.src-conf:before { content: 'Configuration File'; }
|
|||
|
|
|||
|
table { border-collapse:collapse; }
|
|||
|
caption.t-above { caption-side: top; }
|
|||
|
caption.t-bottom { caption-side: bottom; }
|
|||
|
td, th { vertical-align:top; }
|
|||
|
th.org-right { text-align: center; }
|
|||
|
th.org-left { text-align: center; }
|
|||
|
th.org-center { text-align: center; }
|
|||
|
td.org-right { text-align: right; }
|
|||
|
td.org-left { text-align: left; }
|
|||
|
td.org-center { text-align: center; }
|
|||
|
dt { font-weight: bold; }
|
|||
|
.footpara { display: inline; }
|
|||
|
.footdef { margin-bottom: 1em; }
|
|||
|
.figure { padding: 1em; }
|
|||
|
.figure p { text-align: center; }
|
|||
|
.inlinetask {
|
|||
|
padding: 10px;
|
|||
|
border: 2px solid gray;
|
|||
|
margin: 10px;
|
|||
|
background: #ffffcc;
|
|||
|
}
|
|||
|
#org-div-home-and-up
|
|||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
|||
|
textarea { overflow-x: auto; }
|
|||
|
.linenr { font-size: smaller }
|
|||
|
.code-highlighted { background-color: #ffff00; }
|
|||
|
.org-info-js_info-navigation { border-style: none; }
|
|||
|
#org-info-js_console-label
|
|||
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
|||
|
.org-info-js_search-highlight
|
|||
|
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
|||
|
.org-svg { width: 90%; }
|
|||
|
/*]]>*/-->
|
|||
|
</style>
|
|||
|
<link rel="stylesheet" type="text/css" href="freedombone.css" />
|
|||
|
<script type="text/javascript">
|
|||
|
/*
|
|||
|
@licstart The following is the entire license notice for the
|
|||
|
JavaScript code in this tag.
|
|||
|
|
|||
|
Copyright (C) 2012-2017 Free Software Foundation, Inc.
|
|||
|
|
|||
|
The JavaScript code in this tag is free software: you can
|
|||
|
redistribute it and/or modify it under the terms of the GNU
|
|||
|
General Public License (GNU GPL) as published by the Free Software
|
|||
|
Foundation, either version 3 of the License, or (at your option)
|
|||
|
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
|||
|
without even the implied warranty of MERCHANTABILITY or FITNESS
|
|||
|
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
|||
|
|
|||
|
As additional permission under GNU GPL version 3 section 7, you
|
|||
|
may distribute non-source (e.g., minimized or compacted) forms of
|
|||
|
that code without the copy of the GNU GPL normally required by
|
|||
|
section 4, provided you include this license notice and a URL
|
|||
|
through which recipients can access the Corresponding Source.
|
|||
|
|
|||
|
|
|||
|
@licend The above is the entire license notice
|
|||
|
for the JavaScript code in this tag.
|
|||
|
*/
|
|||
|
<!--/*--><![CDATA[/*><!--*/
|
|||
|
function CodeHighlightOn(elem, id)
|
|||
|
{
|
|||
|
var target = document.getElementById(id);
|
|||
|
if(null != target) {
|
|||
|
elem.cacheClassElem = elem.className;
|
|||
|
elem.cacheClassTarget = target.className;
|
|||
|
target.className = "code-highlighted";
|
|||
|
elem.className = "code-highlighted";
|
|||
|
}
|
|||
|
}
|
|||
|
function CodeHighlightOff(elem, id)
|
|||
|
{
|
|||
|
var target = document.getElementById(id);
|
|||
|
if(elem.cacheClassElem)
|
|||
|
elem.className = elem.cacheClassElem;
|
|||
|
if(elem.cacheClassTarget)
|
|||
|
target.className = elem.cacheClassTarget;
|
|||
|
}
|
|||
|
/*]]>*///-->
|
|||
|
</script>
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<div id="preamble" class="status">
|
|||
|
<a name="top" id="top"></a>
|
|||
|
</div>
|
|||
|
<div id="content">
|
|||
|
<div class="org-center">
|
|||
|
|
|||
|
<div class="figure">
|
|||
|
<p><img src="images/logo.png" alt="logo.png" />
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<center><h1>Mesh Network: Philosophic</h1></center>
|
|||
|
|
|||
|
<blockquote>
|
|||
|
<p>
|
|||
|
"<i>I see mesh networks naturally evolving to become the dominant form of network over the next few decades, because it’s the most practical solution to a number of problems that will have to be solved in order to build the VR web as well as to connect the entire world to the internet. Centralized networks are only possible in highly developed countries with existing infrastructures like power and telephone grids, as well as roads. You can’t build a tower where you don’t have either power or access. For vast areas of the world, mesh networks will be the only feasible solution.</i>" – Valkyrie Ice
|
|||
|
</p>
|
|||
|
</blockquote>
|
|||
|
|
|||
|
<p>
|
|||
|
The Freedombone mesh roughly follows MondoNet's ten social specifications:
|
|||
|
</p>
|
|||
|
|
|||
|
<div id="outline-container-org64c7e0b" class="outline-2">
|
|||
|
<h2 id="org64c7e0b">Decentralized</h2>
|
|||
|
<div class="outline-text-2" id="text-org64c7e0b">
|
|||
|
<p>
|
|||
|
The network should not be operated, maintained, or in any way reliant upon a single or minimally differentiated set of entities or technologies. No individual, entity or group should be central to the network to the extent that their absence would measurably impact its functionality or scope. Network participation should not require access to fixed, physical infrastructure of any sort.
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="outline-container-org1aa487e" class="outline-2">
|
|||
|
<h2 id="org1aa487e">Universally Accessible</h2>
|
|||
|
<div class="outline-text-2" id="text-org1aa487e">
|
|||
|
<p>
|
|||
|
The requisite technology and expertise required to participate in the network should be available at minimal cost and effort to every human being on the planet. Furthermore, all users should be able to extend the network’s content and functionality to suit their own needs, or those of others. No aspect of the network’s functioning should be reliant upon proprietary technologies, information or capital.
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="outline-container-org2214465" class="outline-2">
|
|||
|
<h2 id="org2214465">Censor-proof</h2>
|
|||
|
<div class="outline-text-2" id="text-org2214465">
|
|||
|
<p>
|
|||
|
The network should be resistant to both regulatory and technical attempts to limit the nature of the information shared, restrict usage by given individuals or communities, or render the network, or any portion of it, inoperable or inaccessible.
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="outline-container-org80f696c" class="outline-2">
|
|||
|
<h2 id="org80f696c">Surveillance-proof</h2>
|
|||
|
<div class="outline-text-2" id="text-org80f696c">
|
|||
|
<p>
|
|||
|
The network should enable users to choose exactly what information they share with whom, and to participate anonymously if they so desire. Users should only have access to information if they are the designated recipients, or if it has been published openly.
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="outline-container-orga3acdc3" class="outline-2">
|
|||
|
<h2 id="orga3acdc3">Secure</h2>
|
|||
|
<div class="outline-text-2" id="text-orga3acdc3">
|
|||
|
<p>
|
|||
|
The network should be organized in a way that minimizes the risk of malicious attacks or engineering failure. Information exchanged on the network should meet or exceed the delivery rate and reliability of information exchanged via the Internet.
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="outline-container-org03f9c5e" class="outline-2">
|
|||
|
<h2 id="org03f9c5e">Scalable</h2>
|
|||
|
<div class="outline-text-2" id="text-org03f9c5e">
|
|||
|
<p>
|
|||
|
The network should be organized with the expectation that its scale could reach or even exceed that of today’s Internet. Special care should be taken to address to the challenge of maintaining efficiency without the presence of a centralized backbone.
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="outline-container-org7748fa7" class="outline-2">
|
|||
|
<h2 id="org7748fa7">Permanent</h2>
|
|||
|
<div class="outline-text-2" id="text-org7748fa7">
|
|||
|
<p>
|
|||
|
The network’s density and redundancy should be great enough that, despite its ad hoc nature, it will persistently operate on a broad scale, and be available in full to any user within range of another peer.
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="outline-container-orgcb90b89" class="outline-2">
|
|||
|
<h2 id="orgcb90b89">Fast (enough)</h2>
|
|||
|
<div class="outline-text-2" id="text-orgcb90b89">
|
|||
|
<p>
|
|||
|
The network should always achieve whatever speed is required for a “bottom line” level of social and cultural participation. At present, we assert that the network’s data transfer rate should, at a minimum, be enough for voice-over-IP (VoIP) communications, and low-bitrate streaming video.
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="outline-container-orgb2ce64e" class="outline-2">
|
|||
|
<h2 id="orgb2ce64e">Independent</h2>
|
|||
|
<div class="outline-text-2" id="text-orgb2ce64e">
|
|||
|
<p>
|
|||
|
While the network will have the capacity to exchange information with Internet users and nodes, it should be able to operate independently, as well. A large-scale failure or closure of Internet infrastructure and content should have minimal effect on the network’s operations.
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="outline-container-org625ea45" class="outline-2">
|
|||
|
<h2 id="org625ea45">Evolvable</h2>
|
|||
|
<div class="outline-text-2" id="text-org625ea45">
|
|||
|
<p>
|
|||
|
The network should be built with future development in mind. The platform should be flexible enough to support technologies, protocols and modes of usage that have not yet been developed.
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div id="postamble" class="status">
|
|||
|
|
|||
|
<style type="text/css">
|
|||
|
.back-to-top {
|
|||
|
position: fixed;
|
|||
|
bottom: 2em;
|
|||
|
right: 0px;
|
|||
|
text-decoration: none;
|
|||
|
color: #000000;
|
|||
|
background-color: rgba(235, 235, 235, 0.80);
|
|||
|
font-size: 12px;
|
|||
|
padding: 1em;
|
|||
|
display: none;
|
|||
|
}
|
|||
|
|
|||
|
.back-to-top:hover {
|
|||
|
background-color: rgba(135, 135, 135, 0.50);
|
|||
|
}
|
|||
|
</style>
|
|||
|
|
|||
|
<div class="back-to-top">
|
|||
|
<a href="#top">Back to top</a> | <a href="mailto:bob@freedombone.net">E-mail me</a>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</body>
|
|||
|
</html>
|