Thoughts on Facebook

This is meant as a design document, as well as a commentary on our views for the future goal of creating a distributed, free social network. Part of it is designed to answer questions about some of the existing work that FooCorp has been involved with, and some ideas for where we should head next, in order to achieve our goal.

The problem

Monolithic social networking sites are, in our opinion, bad -- bad for privacy, bad for user freedom, bad for autonomy. People ought to be able to have better control over their private information, people ought to be able to see how the software that uses their data works (and change it) and people ought to be able to use social software to communicate without the need for third-party services, hungry for advertising revenue.

Therefore, we believe a solution to these things has these three steps:

  • Tools which are easy for the typical user to understand and control.
  • Tools which are easy for novice programmers to comprehend and modify.
  • Tools which are secure, yet easily installed and upgraded by novices.

We don't believe the answer to this problem exists in a product or service, but rather in a collection of products and services, created by the free software community, on top of existing free software platforms. A free software solution would adhere to a simple, but common protocol, allowing the very basic social networking archetypes to be expressed, without hindering progress of development of other features or enhancements.

For some time now, we have been investigating free service development, and understanding the desires for the creation of social software. These are our conclusions:

  • While most people want something browser based, a protocol needs to be developed that permits desktop clients as well.

  • The protocol should work over HTTP.

  • The current state of low-cost web hosting makes PHP and MySQL the clear contenders as the development platform of choice, much to the chagrin of some.

  • A testbed application needs to be created for people to see how the protocol should function.

With that, we present our vision for GNU social.

GNU social

GNU social is a project to create social software in the GNU project, as part of the GNU operating system.

GNU social should not be a replacement for Facebook, and GNU social should not be in the business of creating user facing software.

There are plenty of smart people who are already building cool autonomous projects, like StatusNet, which took microblogging to the next level, Filmaster, providing a highly polished social reviewing site, and our own GNU FM project that thanks to the efforts of some other smart folks, powers Libre.fm, our free music service. In addition, there are numerous upcoming projects, all hoping to shine through with their own solution for the decentralized social networking problem, the latest of which Diaspora, appears to be making great waves of progress of its own.

Instead, we propose GNU social as something different to all these projects, and something common to them all as well. GNU social should instead lead on the creation of the glue that ties these projects together, as well as a simple, functional example of a basic social networking site, intended as a demonstration and proof of concept, not a contender in its own right.

The initial work of the GNU social project should therefore be the development of a simple social networking protocol, agreed on by the other players in this space, simultaneously with the creation of the proof of concept, followed by sustained advocacy of the GNU social concept to other free software projects, and the creation of new social tools, both browser and desktop clients.

What does the protocol look like? We'll be working with some of the best people out there in the free software and social web communities to bring you that answer.

Next steps

  • If you're implementing a free social network — join the new (moderated) social@gnu mailing list, and work with other implementors on the GNU social protocol.
  • If you're just interested in discussing the issues around free social networking, join our high-traffic discussion list.
  • Join our Identi.ca group

Thanks for reading,

Rob Myers and Matt Lee
Chief Paradigm Officers
FooCorp
May 6th 2010

FOO88