Differences between revisions 72 and 73
Revision 72 as of 2010-08-30 12:11:04
Size: 11596
Editor: TheAnarcat
Comment: float right
Revision 73 as of 2010-08-30 12:22:38
Size: 2837
Editor: TheAnarcat
Comment: move everything that is not introductory in sub-pages
Deletions are marked like this. Additions are marked like this.
Line 24: Line 24:
== 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
Line 51: Line 26:
 * Work pages:
  * /DesignAndToDos
  * /ExampleProjects
  * /TargetedHardware
  * [[/Requirements]]
  . ''(!) I have moved a lot of stuff in those sub-pages to make the home page here more readable. -- TheAnarcat <<DateTime(2010-08-30T12:22:38Z)>>''
Line 65: Line 46:

== Example projects ==
 * Storage
  * [[http://www.readynas.com/|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.
  * [[http://www.openmediavault.org/|OpenMediaVault]] (which [[blog.openmediavault.org/?page_id=77|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: [[http://freenas.org/doku.php|FreeNAS]], [[http://www.cryptonas.org/|CryptoNAS]] (formerly CryptoBox), [[http://www.openfiler.com/|Openfiler]], NASLite-M2 (proprietary) and NanoNAS (proprietary): http://www.linuxplanet.com/linuxplanet/reports/7153/1/
  * [[http://owncloud.org|ownCloud]], data storage project from the wider KDE community
  * [[http://www.wuala.com/|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.
  * [[http://openstoragepod.org|openstoragepod]], [[http://berlinbuzzwords.blip.tv/file/3810573/|video]], [[http://www.slideshare.net/tim.lossen.de/hadoop-in-a-box|slides]] - open hardware project, small cubes to store terabytes
 * Telephony
  * Asterisk ([[http://www.digium.com/en/products/appliance/|appliances]], live CD's)
  * [[http://www.plugpbx.org/|PlugBPX]], a project to turn the sheeva plug into a simple Asterisk server
 * Networking
  * [[http://openwrt.org/|OpenWRT]] - GNU/Linux based free firmware for gateways and routers.
  * [[https://ng.gnunet.org/| GNUnet]] - framework for secure peer-to-peer networking (see [[#ProjectResources]])
  * [[https://www.torproject.org/|Tor]] (For routing perhaps)
  * [[http://tinc-vpn.org/|tinc]], FOSDEM2010 !LightningTalk, Guus Sliepen about tinc [[http://video.fosdem.org/2010/lightningtalks/saturday/07-sat-tinc.xvid.avi|.avi, 60 MByte]] <<BR>> example(tinc) [[http://wiki.hamburg.ccc.de/index.php/ChaosVPN|ChaosVPN]]
 * Social
  * [[http://www.gnu.org/software/social/|GNU social]] - alpha demo available
  * [[http://en.wikipedia.org/wiki/Diaspora_%28software%29|diaspora]] - not released yet
  * [[http://www.seeks-project.info|Seeks Project]] - "social websearch"
  * [[http://retroshare.sourceforge.net/|RetroShare]], secure communications with friends
 * Other
  * [[http://pogoplug.com/home-en-whats-pogoplug.html|PogoPlug]]: Proprietary software stack to run on plug computers and provide "personal cloud" storage and access (dynamicDNS, access control, web configuration)
  * [[http://www.tonido.com/|Tonido]], local cloud [[http://www.tonidoplug.com/tonido_plug.html|services]] on a sheeva plug device. [[http://www.tonido.com/support/Developer:Licensing_Information|Proprietary software]] on top of Ubuntu jaunty.

  * [[http://www.smoothwall.org/|SmoothWall]] - firewall distro
  * [[http://sourceforge.net/apps/trac/ipcop/wiki|IP Cop]] - firewall distro

  * [[http://groups.drupal.org/aegir|Aegir]] (Drupal-based control panel)
  * [[http://www.webmin.com/|Webmin]], mature web-based *nix sys administration - easy to use from anywehere, no X necessary.
  * [[http://serviceplatform.org|SPACE service platform]] for distributable services, with (KDE) desktop integration and (Eucalyptus) cloud backend
  * [[http://brej.org/blog/?cat=21|Tidbit]]: A global database for exchanging signed tidbits of information

== Relevant protocols ==
 * Identity
  * Email
  * [[http://esw.w3.org/WebID|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)
  * [[https://code.google.com/p/webfinger/wiki/WebFingerProtocol|Webfinger]], draft of a protocol for getting user info (metadata) associated with e-mail via HTTP
  * [[http://lists.foaf-project.org/pipermail/foaf-protocols/2009-August/000780.html|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
  * XMPP - Extensible Messaging and Presence Protocol
   * http://xmpp.org/about/
   * http://xmpp.org/extensions/

== 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 ==

 * [[FreedomBox]] wiki
 * DebConf BoF Friday 9:30am 414 Schapiro
   * gobby notes: [[attachment:dc10-freedombox.txt]]
   * http://doodle.com/8kwnst8phia4h4a5
 * Alioth project (https://alioth.debian.org/projects/freedombox/)
 * IRC channel created on OFTC '''#freedombox''' [[irc://irc.oftc.net/#freedombox]]
 * Vision stmt
 * Add links/references

== 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?
 * [[http://www.fon.com/en/|Fonera 2.0n]]
  * Slow and very limited memory (64MB)
 * [[InstallingDebianOn/FitPC|FitPC]]

== Project Details ==

 * [[FreedomBox/Requirements|Requirements]]

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.

Project Resources