Differences between revisions 69 and 70
Revision 69 as of 2010-08-29 01:58:34
Size: 11309
Editor: BryanSmith
Comment: added code to right justify the table of contents
Revision 70 as of 2010-08-29 03:08:17
Size: 11354
Editor: BryanSmith
Comment: added the freedombox image
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
= Freedom Box Project = == Freedom Box Project ==
{{attachment:freedombox.png||height=100}}

Freedom Box Project

freedombox.png

Inspired by Eben Moglen's vision of a small, cheap and simple computer that serves freedom in the home, we are building a Debian-based platform for distributed applications.

Freedom Box is about:

  • privacy
  • control
  • ease of use
  • dehierarchicalization

Vision Statement

We live in a world where our use of the network is mediated by organizations that often do not have our best interests at heart. By building software that does not rely on a central service, we can regain control and privacy. By keeping our data in our homes, we gain useful legal protections over it. By giving back power to the users over their networks and machines, we are returning the Internet to its intended peer-to-peer architecture.

In order to bring about the new network order, it is paramount that it is easy to convert to it. The hardware it runs on must be cheap. The software it runs on must be easy to install and admimistrate by anybody. It must be easy to transition from existing services.

There are a number of projects working to realize a future of distributed services; we aim to bring them all together in a convenient package.

Objectives

This is the result of a brainstorm from the debconf team.

  • enable people to reclaim their privacy and control of their data
  • return to the peer to peer nature of the net (vs. tendency towards hierarchical organization)
  • making a consumer product
  • easy to use for everyone (pre-installed, easily configured, easily restored)
  • inexpensive (dirt cheap)
  • use at home (expand: legal significance of 4th amendment context)

  • smooth transition from cloud services (e.g. social networks)
  • secure routing
  • generic and configurable
  • extensible
  • want hardware makers to be enthusiastic about the project and not hide their specs

Stakeholders

  • Users
  • Content Providers
  • Service Providers
  • Network Providers
  • Developers
  • Device Makers

Project Resources

Example projects

  • Storage
    • ReadyNAS - proprietary parts sold on top of Debian running SPARC hardware. similar to freedombox but targetting home storage only, with a web interface, rahter than lots of applications, althogh there were some (like BitTorrent.) Point is really to look at them as a model of how to sell Debian preinstalled in display-less computers.

    • OpenMediaVault (which ?isn't released yet, but looks like it has an excellent and comprehensive panel, similar to that used by the ReadyNAS.)

    • 5 NAS servers comparison: FreeNAS, CryptoNAS (formerly ?CryptoBox), Openfiler, NASLite-M2 (proprietary) and NanoNAS (proprietary): http://www.linuxplanet.com/linuxplanet/reports/7153/1/

    • ownCloud, data storage project from the wider KDE community

    • Wuala, Distributed, redundant, encrypted (zero-knowledge), and online file storage (closed source)

      • One of the main points to take from Wuala is the storage distribution (papers available). It lets you specify how much personal storage of yours you want to allow others to utilize and you get the same amount in return from the cloud of users.
  • Telephony
    • Asterisk (appliances, live CD's)

    • PlugBPX, a project to turn the sheeva plug into a simple Asterisk server

  • Networking
  • Social
  • Other
    • PogoPlug: Proprietary software stack to run on plug computers and provide "personal cloud" storage and access (dynamicDNS, access control, web configuration)

    • Tonido, local cloud services on a sheeva plug device. Proprietary software on top of Ubuntu jaunty.

    • SmoothWall - firewall distro

    • IP Cop - firewall distro

    • Aegir (Drupal-based control panel)

    • Webmin, mature web-based *nix sys administration - easy to use from anywehere, no X necessary.

    • SPACE service platform for distributable services, with (KDE) desktop integration and (Eucalyptus) cloud backend

    • Tidbit: A global database for exchanging signed tidbits of information

Relevant protocols

  • Identity
    • Email
    • WebID, draft definition of URI to definining "you" on the semantic web - i.e. works directly with FAOF, Sparql etc. Draft implementation seemlessly fallback to resolving via Webfinger if no FOAF data resolved.

  • user info (metadata)
    • Webfinger, draft of a protocol for getting user info (metadata) associated with e-mail via HTTP

    • Fingerpoint, draft of a protocol for getting user info (metadata) associated with e-mail via HTTP - requires minimal implementation (need no processing beyond static http to serve an identity!) and works directly with FOAF and Sparql.

  • Messaging

ToDo

  • setup a core/coordination team (ie. people that are actually going to work on this)
  • What we need
  • What we have
  • How to contribute
  • Who else is doing similar stuff

Done

Areas of work / architecture

  • project management tool
  • installer
  • UI
  • config
  • telephony
  • mail
  • hardware support
  • calendaring
  • IRC proxy (maybe even server?)
  • statusnet instance

Issues

  • How is each box discovered and identified?
    • Need some way of finding your mates Most ISPs provide dynamic IPs. Would need to reply on external dynamic DNS service. (everyone ele's Freedom boxes?)
  • Upstream bandwidth
    • Very limited with typcial ADSL connections. How much of a problem is that if people keep downling photos from it whilst you try to use the net?
  • Mail
    • If the box does mail then spam is a problem. Running spamassassin dramitically increases resource requirements on box Collective spam processing is effective because it is easy to identify mass-mailing. Would need to do this in distributed manner (razor-style?)
  • Identity management
    • Important to be able to identify yourself on various services so you know email and facebook and whatever IDs are all you, and should refer back to this FB for authentication. How do we do it? Is it needed in order to realise that an email addy is freedom-able and so signing/encryption can be used? Multiple identities needed e.g for two sites (e.g. home+college) or ID for FB and ID for mobile phone?
  • Two boxes in one building (son brings FB home from college)
    • Movable, transportable
    • If a box is moved from one location to another and plugged in again, how does it continue to do what it was doing seamlessly?
  • Storage: if it hosts all data one produces, plus backup from friends, it needs to house adequate storage, preferably commodity sata disks.
    • For a purely online storage solution, this would be ok, but we would need a way to plug in or configure external storage. For example, I would want to plug in an external hard drive or configure it to use a NAS or a Eucalyptus cloud that someone I know operates.

Target Hardware

  • Plug Computer 3.0
    • 2.0 Ghz ARMv5 CPU(Marvell Kirkwood 88F6281)
    • 512 MB Nand Flash
    • Integrated Marvell WiFi and Bluetooth, both work in accesspoint mode or client mode.

    • Replaceable 120 GB Internal 1.8 esata drive or 160 GB, 2.5 esata drive(depending on the Vendor). The 2.5 drive is most economical and replaceable without any additional tools.
    • Gigabit Ethernet and USB 2.0
  • ?SheevaPlug/GuruPlug

    • 1.2 Ghz ARMv5 CPU(Marvell Kirkwood 88F6281)
    • 512 MB Nand Flash
    • Integrated Marvell WiFi and Bluetooth, both work in accesspoint mode or client mode.

    • Gigabit Ethernet and USB 2.0
    • Some hardware revisions of the Guruplug had heat issues.
  • NSLU2
    • Discontinued?
  • Fonera 2.0n

    • Slow and very limited memory (64MB)
  • FitPC

Project Details

  • ?Requirements