Group: GNU Social P2P
Contents
Overview
GNU Social-P2P is a distributed/peer-to-peer, privacy-enhanced, user-controlled social network. It is driven by the RIOT principle - Relationships on Individuals Own Terms.
The goals of Social-P2P include:
- Full user control over their social networking infrastructure
- Privacy guarantees enforced through strong crypto and integration with pre-existing privacy-enhancing technologies
- Integration with other free social networking systems (such as OStatus)
- A diversity of user interfaces, with an aim towards social integration in existing applications
User Control
The user may run their own node on their own hardware. Alternatively, they may have an agent with a third party (the Core) while running the frontend locally (UI). Lastly, they may outsource the whole stack to a third party.
For the self-deployed scenarios, installation should be designed to be as painless as possible, including automated backups for data safety.
Privacy and Security
The Core is an encrypted storage and routing component that does not have read access to non-public content. This is enforced through public key cryptography where data is encrypted to the set of people that are allowed to view it. This is implemented with open standards, such as OpenPGP.
Openness and Interoperability
The system inter-operates with existing social networking systems through transport plugins. For example, the OStatus protocol suite is used to integrate with StatusNet. XMPP and/or PSYC are used to integrate with instance message systems. Plugins for closed systems are needed in order to ease migration from these systems into open ones.
Front Ends
The system allows different UIs to be created through published protocols. This includes Web, IM, and desktop integration. Client libraries for various languages (initially Java and Ruby) are available to attract a range of developer communities.
Documents
- Design
- Use Cases
- Node Architecture
- Key Management
- Routing
- Onion Routing
- Privacy
- Resources
- Agent Design