[Freedombox-discuss] The message from Tahrir Square

Mike Johnson mj21181 at gmail.com
Sun Feb 20 00:16:03 UTC 2011


Hello All,

I am a college student with limited background in any open source or
professional projects.  I have mostly just tinkered with programs on my
laptop in my free time while in school.

I wanted to take a moment to throw my two cents because I think this
idea above all others should be the core focus of this project.
Primarily protecting the free flow of information between the
FreedomBoxes, and secondary protecting its flow from a low bandwidth
area to a high one.

If the network is in a state like Egypt's was, or like Lybia's is today
the FreedomBox network can have no single exploitable weakness or
dependency.  As the designers of this network we must assume that if a
flaw exists it will be exploited.  I think that this is a far more
ambitious design challenge than some may realize.

Even with a wireless mesh network, we can't assume that it will be
structured ideally.  If one area of the network connects to another in
too few nodes all that's required to cut off access to an area is that
they start jamming the Wifi in that one spot.  What if that one spot
cuts off an entire city?  Worse, we cannot assume that a state such as
this has not been watching the network for months to see who has
FreedomBoxes and has been locating weaknesses and choke points in
advance so that when the time comes to throw the kill switch it is done
quickly and effectively.  If we fail at this design challenge the end
user will not know if there is anything they can do to fix it.  They
will not know that the only thing they may need to do to restore access
is move one person's Box 50m to the left so it won't be jammed.  All
that they will know is that we promised them internet access when when
the going got tough and that they don't have it.

We also have to assume that this oppressive state has read all of our
code any knows about any bugs if there are any, knows about any exploits
in the OS, has read all of our documentation, has read all of these
emails, has mapped the network on any and all physical layers the box
may operate, and that they posses the money, influence, or manpower to
execute an attack on our network.  The success or failure of this
project will not be judged on how good the UI looks or how well his Box
runs one piece of software over another, it will be judged by its
ability to provide bandwidth when the most oppressive state imaginable
is executing a coordinated attack on the network.  The FreedomBox must
be secure as well as dynamic.

In my opinion the box needs to be a chimera of network interfaces,
having software to operate over as many physical media as possible, be
it Wifi, Ethernet, HAM radio, Satellite,  Dial up, whatever is possible.
 It also needs to handle nodes being physically attacked or virtually
attacked.  It will probably also need to prioritize content because
Citizen A might be trying to send a warning Tweet to his friends about
how the oppressive state has begun massacring people while Citizen B
might be trying to watch a video of a cat on youTube and the only link
between Citizen A and Twitter is a single Wireless b card on a laptop on
the other side of the city that is a decade old.

One might argue that he should have sent the message on whatever
FreedomBox messaging system that would have allowed his friends to get
the message, but we can't assume that Citizen A can differentiate
between "The Internet" that gives him Twitter and "The Internet" that is
our FreedomBox network.

Now, I'm not trying to be negative.  I think that we can build this and
I am very willing to devote time and effort with the little experience I
have to such a project.  I just wanted everyone to step back a moment
and think about the scale of protecting the free flow of information.
We must always have this oppressive state in mind as we design these
Boxes and what it is that we are promising to the people as developers.
 Not to be grim, but it could be a matter of life and death for hundreds
of people if Citizen A's warning never makes it.

I know C and Java (probably not applicable on such small hardware) and
will work on whatever is needed.  But I will be balancing work and
school at the same time.

Best Regards to All,
Mike Johnson

On 02/19/2011 03:51 PM, stillyet at googlemail.com wrote:
> I think those of us old enough to remember UUCP will be aware of the
> merits of store-and-forward protocols. Obviously, if you have a
> reliable live Internet link you'll use that, but as we've seen in
> places like Bahrain and Libya this week, or Egypt last, continuous,
> reliable live Internet links are not things that people whose freedom
> is under threat can rely on. So a system of opportunistic
> store-and-forward proxies which allow a node to get a message to a
> node just a little bit closer to the Internet, which can get
> information out even when links are partial, patchy and discontinuous,
> should I think be part of the FreedomBox concept.
> 
> UUCP itself exists as a package in Debian stable. It can run over TCP
> with SSL, but does not need to. However, UUCP addressing depends on a
> known path from node to node. But in situations where Internet
> communication has been cut by an oppressive state, known paths to the
> public Internet will not be available; a message must necessarily be
> broadcast opportunistically to any node which may subsequently get a
> better connection. I don't know of any existing stable package which
> will do this, although Freenet developers have certainly discussed the
> problem.
> 
> But if FreedomBox is to be anything more than a toy for geeks in safe
> and stable Western democracies, this is a problem we need to address.
> 
> 



More information about the Freedombox-discuss mailing list