Group: GNU Social P2P
(→Documents) |
(→Code) |
||
Line 50: | Line 50: | ||
* http://gitorious.org/social-p2p/core | * http://gitorious.org/social-p2p/core | ||
+ | * https://launchpad.net/social-p2p |
Revision as of 17:10, 4 December 2010
Contents
Overview
This Wiki tree describes the GNU Social P2P effort. It is a distributed, privacy enhanced, user-controlled social network. The network is composed of a federated network of nodes (servers). It is driven by the RIOT principle - Relationships on Individuals Own Terms.
The goals of this effort include:
- The user can have full control of the social network node, if they so desire
- Privacy is paramount - including the privacy and security of content and the social graph, enforced through the use of cryptography
- Openness through integration with existing standards such as OStatus
- The ability to create different front-ends (UIs)
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