The GNU consensus Manifesto


This manifesto received the careful attention of Richard M. Stallman, Chief GNUisance of the GNU Project, who graciously edited it in its present form (as of the end of the year 012012.) The author wants to thank him for his insight, his support, and his trust.


This document lives at It is intended to evolve along with the conversation among the stakeholders.

Toward a GNU Consensus on Free Software for Social Networking

GNU consensus is an umbrella project to facilitate coordination of free software social networking projects to encourage freedom, privacy, public space, and decentralization.


Over the last decade, we've seen the emergence of centralized commercial services for online social networking. These services are dedicated to surveillance of their users, and threaten free speech, privacy, and the end-to-end Internet. They tend to reduce the Internet from a public space to a private platform for commercial interests.

Various free software projects aim to provide decentralized freedom-respecting alternatives to centralized corporate platforms. The GNU consensus hopes to facilitate these projects' working together.

Free Software

As part of the GNU Project, GNU consensus promotes and fosters adoption of free software in the field of social networking. Using the GNU General Public License and the GNU Affero General Public License, developers can dedicate their code permanently to users' freedom, and thus ensure it advances the public digital space.

Social Networking

Some people conflate social networks, which are the aggregate of relationships that humans have, with online social network services such as Facebook and, arguably, G+"
Howard Rheingold

Too often, the term social network is used interchangeably with social network services, implying that the services themselves provide the social network. But that's plain wrong: the social network is a human cultural phenomenon, and a network service can at best facilitate it.


A centralized service, whether Facebook or its alternatives, is expensive; to make money, it needs to monitor its users and sell information about them. Furthermore, states will compel the service to hand over the data it collects about its users, and laws generally give users few rights over data that they have handed over to the service.

Therefore, rather than proposing a more ethical centralized service, GNU consensus aims to encourage decentralized systems. Ultimately we hope each user will have a server from which to share her own personal information with others as she sees fit, managed by free software fully under her own control.


Where commercial services embody a one-size-fits-all vision, the GNU Consensus project recognizes the diversity of use-cases and communities.

Hence it fosters diversity in the approaches to social networking support tools.


With interoperating free software social networking systems, no user will be compelled to provide any particular kind of information, whether it be her name, her age, or what country she lives in. It will be up to those she communicates with to judge what information she chooses to provide or withhold.


Hereby we propose an initial roadmap, to be refined in conjunction with the participating projects.

Distributed Networking

When the technology is ready, it makes sense to restore end-to-end communications as the normal way to convey social networking activity online.

The GNUnet and Secushare programs will eventually serve that purpose, by providing the transport mechanisms for each device on the network to become a fully-featured social networking service for its owner.

OStatus Federation

In the meantime, decentralization can occur at community level: each community can operate its own server, and federate its contents with other communities using the OStatus protocols.

Hence, the GNU consensus project aims at coordinating the evolution of these protocols through the active participation of developers across projects to achieve complete interoperability for existing and upcoming federated resources.

We propose Lorea as the initial model implementation since it provides the most advanced OStatus implementation to date. It's readily compatible with StatusNet, Diaspora*, and Friendica implementations.[1]

Other federation protocols

The GNU Consensus considers OStatus the most popular current protocol for federating social network services, but we will also consider other protocols that become available. We invite developers to present their developments to the GNU consensus community for testing and feedback.

Use Cases

Due to their similarity, free software social networking programs face a whole lot of similar use cases. These should be clearly defined and tests provided to ease implementation.

But all programs are not equal: some will focus on desktop usage, others on mobile devices; some on individual use, others on group collaboration; some on always-on-connectivity, others on eventually-connected-networks.

Threat Modeling

An important part of designing massively interactive programs resides in the ability to provide a clear and sensible threat model for that program.

As many free software social networking programs encounter similar issues, it makes sense to define comparable threat models. We encourage projects to use the TRIKE methodology to define the threat model, and will provide tools and resources to do so.


^ This was true before the migration to Elgg 1.8. Now the federation is a bit broken, and should be fixed in the coming weeks. 2012-12-30

^ The term anonymity was found to be ambiguous regarding its usage in the industry, e.g., within the Tor project. More details can be found on the wiki. 2013-01-09