Comparison of software and protocols for distributed social networking
From Infogalactic: the planetary knowledge core
Distributed social network projects generally develop software, protocols, or both.
Projects
Project Name | Features | Software | Programming Language | License | Protocols | Privacy Support | Federation (with other applications or services) | Instances | Maturity |
---|---|---|---|---|---|---|---|---|---|
Amplify | Trust-based search | Public Domain | HTTPS, Amplify Messaging Protocol | Provides fine grained privacy control through object capability security and transport layer encryption. | Application framework, webhook style sensor network | alpha | |||
Anahita[1] | Anahita is an open source social networking platform and framework for building knowledge sharing apps and services | LAMP | GPL3 | Provides privacy management based on social graph: public, registered, followers, leaders, mutuals, myself | stable | ||||
Buddycloud[2][3] | Personal and topic channels, Buddycloud directory, channel search, channel recommender, media server, friend-finder, mobile and email push service, location, messaging | server,[4] client[5] | JavaScript, NodeJS, Java | Apache 2.0 | XMPP,[3] Buddycloud Protocol,[6] Atom,[7] Activity Streams,[8] Location Query[clarification needed] | Yes | Yes | Domains running buddycloud: 90[9] | stable |
diaspora* | Status messages, blogging, photo sharing, privacy enhanced | server[10] | Ruby | AGPLv3 | Diaspora,[11] Salmon[12] | Yes, through "aspects" | Yes, own federation protocol[13] | 177 'nodes/pods' listed on The-Federation.info[14] | stable 0.7.0.0 |
DiSo Project[15] | WordPress plugins[16] | microformats (XFN, hCard, XOXO), OpenID, OAuth, XMPP[15] | ? | ? | ? | ||||
DSNP[17] | DSNPd (server daemon), ChoiceSocial (web interface)[17] | Distributed Social Networking Protocol (DSNP)[17][18] | ? | ? | Friends in Feed, ChoiceSocial.net, DistribSocial.net | beta (v0.6) | |||
Friend2Friend[19] | Strong encryption, XML for all data exchange, Data is digitally signed | LGPL | Connect to known individuals. | ? | alpha | ||||
Friendica[20] | Rich profiles, networking groups, community/group/celebrity pages, richtext status (not specifically length limited), photo albums, YouTube share, location, like/dislike, multiple profiles w/assignment to specific friends, single sign on to post directly to friend's profiles on co-operating systems. Communications encryption. Fans and one-way relationships. Local and global directory services. Ability to restrict connection endpoints. | server[21] | PHP | AGPLv3[22] | ActivityPub, OStatus,[23] Diaspora, OpenID, DFRN,[24] | extensive | Friendica, Diaspora, GNU-Social, Mastodon, email, RSS feeds via native protocol support. Pump.io, Libertree, Twitter, Google+, Wordpress and Tumblr via connectors and/or third party services. | more than 50 servers according to external statistics,[25] more than 300 servers in total according to internal federation statistics. | stable |
GNU social[26] | microblogging | server[27] (formerly known as StatusNet) | PHP | AGPLv3 | OStatus[28] | ? | Yes | Around 200 servers [29] | stable[30] |
Hubzilla | decentralised identity and community platform, also provides blogs, rich social networking, cloud storage and internet-scale access control/privacy | server | PHP, Javascript | MIT | Zot[31], AcitivtyPub | Extensive | via external connectors | 230[32] | stable |
Kune[33] | real-time collaborative edition, XMPP chat, groups, calendar, lists, tasks, blogs, Apache Wave inbox (modern email), wave extensions (gadgets, robots), public webpages, profiles, galleries (photos, videos), maps, federation, usability | server, integrates Apache Wave | Java-based GWT (generates AJAX) | AGPLv3 | XMPP, Wave Federation Protocol | Excellent | Total federation/interoperability with other Kune installations and Apache Wave accounts. XMPP chat interoperable with other XMPP-compliant | kune.cc,[34] demo,[35] 3 in total | stable |
Lipsync.it[36] | Synchronization tool inspired by Dropbox | Simplified BSD | rsync, lsyncd, OpenSSH | Yes | planned | stable | |||
Libertree[37] | Social network | server and webclient | Ruby | AGPLv3 | No | 3 | beta | ||
Mammudeck[38] | Social network client for servers implementing the Mastodon REST API [39], e.g. Mastodon, Pleroma[40] | webclient | Elm | MIT | HTTPS | HTTPS communication. State stored only in browser's local storage. | Client only | Client only | alpha |
Mastodon | microblogging | server | Ruby on Rails, React.js | AGPLv3 | ActivityPub, OStatus | Yes | Yes | More than 1.200 servers [41] | stable |
Minds | Free, open source, decentralized, and based on a foundation of transparency and privacy | server,[42] front,[43] mobile app[44] | PHP[42][45] | AGPLv3[46] | OpenSSL, RabbitMQ[47] | Yes[48] | Yes[49] | [1] | beta |
Misskey[50] | Microblogging social-network | server, web-client | Javascript, Typescript | AGPLv3 | ActivityPub | Yes | Yes, nodes supporting ActivityPub | More than 35 instances[51] | stable |
Movim | XMPP client + Microblogging | server and webclient | PHP | AGPLv3 | XMPP | Yes | XMPP | 16 'pods'[52] | stable |
Newebe[53] | one user = one node ; microblogging, picture sharing, activity stream | server, web client | Python / Coffeescript | AGPL | HTTP, REST API | alpha | |||
Notabug[54] | p2p reimplementation of open-source reddit ; Free, anonymity, privacy | server, web client | Javascript | MIT License (with Reddit CPAL UI components/css) | HTTP, GUN | Partial/Anonymous contribution supported but no strong anonymity guarantees yet | Yes | Notabug.io, | alpha |
ObjectCloud | customization, flexible hosting, security, application platform | SimPL 2.0 | OpenID, Particle | Yes | ? | 2 | alpha | ||
OpenAutonomy[55] | Micro-blogging, RSS aggregation, Cloud storage | server,[56] web client,[56] non-web applications,[57] | PHP (server), Javascript (web client), Java (native applications) | MIT | OpenAutonomy, XML-RPC | Trusted user list and fine-grained trusted sub-groups | All components intrinsically federated | 4 known | stable (r210)[56] |
OpenLink Data Spaces (ODS)[58] | Profile Management, Blogs, Wikis, Address Books, Calendars, Feed Aggregation, Discussion Forums (includes NNTP support), File Servers (WebDAV based Briefcase). | Dual (Commercial and GPL for Open Source Edition) | WebID, Webfinger, OpenID, OAuth, HTTP, SPARQL, Atom Publishing, PubSubHubbub, Semantic Pingback, OpenSocial, Social Graph API, Portable Contacts, more. | WebID and others | Yes | id.myopenlink.net[59] among others | stable | ||
Osada | social network, microblogging | server | PHP, JavaScript | Zot/6, ActivityPub | Extensive | Everyone connected to ActivityPub | ? | stable | |
ownCloud | online storage, data synchronization, file encryption, calendar, task scheduler, address book, media streaming, content sharing, bookmarking, photo gallery, video viewer, RSS/Atom feed reader | server, client, web-client | PHP, JavaScript | AGPLv3 | WebDAV, Federated Cloud Sharing API,[60] Open Collaboration Services | Yes | Yes | service providers[61] | stable |
Pleroma[62] | Microblogging social-network | server, web-client | Elixir (programming language) | AGPLv3 | OStatus, ActivityPub | Yes | Yes, nodes supporting ActivityPub and OStatus (except StatusNet for now) | Around 200 instances[63] | beta (1.0.0 not released yet) |
Plume[64] | Federated blogging engine | server, web-client | Rust (programming language) | AGPLv3 | ActivityPub | Yes | Yes, nodes supporting ActivityPub | Around 12 instances[65] | stable/beta (0.2.0 not released yet) |
Project Danube | 1) Sharing personal data with companies/organizations 2) Sharing personal data with "friends" 3) Use of personal data for "personal applications" |
TBD, likely Eclipse or Apache | OStatus, OAuth 2.0, Webfinger, hCard, Portable Contacts, XRI, XDI, PubSubHubbub, Salmon | ? | StatusNet and Cliqset, among others | alpha | |||
Project Nori | OStatus, OAuth, Portable Contacts, Webfinger, and other open protocols | ? | Yes | alpha | |||||
psyced | profiles, chat, microblogging | server, clients optional | LPC[66] | GPLv2 MIT [67] |
PSYC, XMPP, IRC, TELNET, HTTP, Applet, SMTP, WAP, RSS | OTR, friends-only functions and profile, secret chatrooms, presence, tor integration | PSYC and XMPP | 5 public known ones in 2016[68] | stable |
pump.io | stream server supporting social networking capabilities | server, clients | JavaScript | Apache 2.0 | pump.io API[69] | Yes | Yes | 72,[70] including Identi.ca | stable |
Retroshare | Private messaging and VoIP, group chats, distributed forums, file transfers | client-server,[71] web interface | Qt, C++ | Various Open Source licenses (with some exceptions)[72] | GPG, OpenSSL | Yes | stable | ||
RSSN | private messaging, groups | RSSN | ? | ? | alpha | ||||
Salut à Toi[73][74] | multi-frontends, microblogging, group microblogging, file sharing, games, XMPP client | XMPP client (multi-frontends), web server, SMTP/IMAP server | Python, C++ | AGPL | XMPP | through XMPP groups, presence authorisation | XMPP native federation | demo[75] | alpha |
Socialhome | Microblogging, blogging, rich-text federated profiles, home page builder. | Server | Python, JavaScript | AGPL | Diaspora | Yes | Socialhome.network
Other servers findable from The-Federation.info |
alpha | |
Socknet Provider- FoolishMortal.org | profiles, messaging, enables internet content sharing | Socknet, OpenID | No | Yes | beta | ||||
Sone[76] | microblogging, media library, decentralized spam protection | P2P client, web interface | Java, Javascript | GPL | Freenet | Yes, Multiple Anonymous Identities, private messages via the Freemail plugin with Forward secrecy | Partial, Sone messages can be read from the FMS Forum system | beta | |
Sonic[77] | Federation protocol for OSN services | API, SDK | PHP / JSON | MIT | Yes | beta | |||
Sparkleshare[78] | Collaboration and sharing tool inspired by Dropbox | Python (Nautilus plugin), C# (rest) | GPLv3 | SSH | Yes, encryption option | planned | alpha | ||
Tent[79] | Profiles, Developer-extensible Post and Profile Types, Data Import, Groups, Privacy Controls, Content versioning | server,[80] clients[81] | Ruby (reference implementations) | MIT (reference implementation) | Tent, HTTPS | Yes Granular permissions (Access Control Lists for all content) | Yes | Tent.is | alpha (0.2) |
Twister[82] | microblogging | P2P client, web interface | C++, Javascript | MIT and BSD | Bitcoin, Torrent, DHT | Yes End-to-end encryption for private messages | not yet | beta | |
twtxt[83] | microblogging | Terminal | Python (reference implementation) | MIT (reference implementation) | HTTP(S), REST | No | ? | Approximately 100[84] | alpha |
Weestit | XMPP, HTTP, OStatus, SMTP, POP | Yes | Planned | alpha | |||||
Zap | social network, microblogging | server | PHP, JavaScript | Zot/6 | Extensive | Strictly Zot only | ? | stable |
Dead or stalled projects
Project Name | Features | Software | Programming Language | License | Protocols | Privacy Support | Federation (with other applications or services) | Instances | Maturity |
---|---|---|---|---|---|---|---|---|---|
6d[85](Dead Project) | Blog, media library, addressbook, themeable, private messaging | server[86] | PHP | MIT | HTTP + REST, microformats[87] | Addressbook to send posts to either individuals or groups. | not yet | demo[88] 5 total |
alpha |
Appleseed[89] | Photos, Journals, Messaging, Groups, Privacy controls, Status Updates, Newsfeeds | server[90] | PHP | GPLv2 | QuickSocial[91] | Friend circles used to categorize friends and restrict/allow access | Internally, others easily added (plugin architecture) | Appleseed[92] Approximately 120 total | cancelled project |
Cunity[93] | Friends, Photo Album, Filesharing, Messaging, Pinboard, Newsfeed, Memberlist, Forum, Connecting Cunities | server,[93] client[93] | PHP, Javascript, AJAX, JQuery | AGPLv3 | HTTP, P2P | Yes | Connecting P2P | Hosted on your own webspace | beta (v1.0) |
Diaspora X2[94](Dead Project) | client[95] using buddycloud for federation | XMPP, buddycloud channels,[96] Activity Streams[94] | ? | ? | Diaspora X2[97] | ? | |||
Jappix[98] | XMPP client + Microblogging | server, web client | AGPL | XMPP | Excellent: based on presence authorizations | ? | demo[99] | stable | |
Lorea[100] | Profiles, microblogging, streams, groups, plugins, group mailing lists, tasks, calendar, subgroups, tagclouds | Elgg,[101] plugins[102] | GPL | OpenID, Activity Streams, PubSubHubbub, WebID. Working on: OStatus[101] (60% production), XMPP/psyc (50% development), rdf+sparql (10% development) | Excellent | Supported through plugin. | 5: project's group[103] | stable (seems dead by 2016-12-28) | |
Mr. Privacy[104] | SMTP, IMAP | Yes | Yes | ? | |||||
OneSocialWeb[105] | Microblogging | Openfire plugin, clients[106] | Java | Apache 2 | XMPP, XMPP extensions[107] | Yes | Yes | alpha | |
Knowee | OpenID Signup, Activity Stream import and export, contact import from Web 2.0 services via XFN and FOAF, automatically updated address book from remote data sources, consolidated profile with RDF/FOAF export, personal SPARQL API | W3C | OpenID, FOAF | ? | ? | alpha | |||
Kopal[108] | OpenID Core, multiple profiles | server[109] | Ruby | MIT | OpenID, Kopal Connect protocol,[110] Kopal Feed microformat[111] | ? | ? | alpha | |
NoseRub[112] | sample server[113] | NoseRub protocol / WebID[114] | ? | ? | demo[115] | ? | |||
OpenMicroBlogger | User-toggleable "apps" to add/remove functionality. RSSCloud and partial OStatus (PubSubHubbub) federation as well as Open Microblogging 0.1. Local follow/unfollow. Facebook, Twitter, Flickr integration. (partial) Twitter API support. Fully Restful design, user interface consumes Rest API. | MIT | Open Microblogging 0.1, RSSCloud, (partial) OStatus (PubSubHubbub) | Yes | Yes | alpha | |||
Safebook[116] | GPL | Extensive, including communication untraceability | ? | demo[117] | beta[118] | ||||
SMOB | microblogging | FOAF | ? | ? | unmaintained | ||||
Social-Igniter[119] | friends, places, status, comments, modular apps (messages, blog, cart, media), themes, mobile themes, 3rd party integration (Facebook, Twitter, YouTube), editable widgets, | server | GPL | Webfinger, PubSubHubbub, OpenID, OAuth, Activity Streams | Yes | Yes | 3 | alpha | |
SocialRiver[120] | GPL AGPL |
OStatus,[121] OpenID, will add support for OAuth | Private Messaging, Privacy Controls | Yes | ? | ||||
SocialZE[122] | server, web client | OSMP (Open Social Message Protocol) | Yes | ? | alpha | ||||
Synology applications package | Chat, Photo Album Filesharing, Calendar, Video player, office suit, Notes, Mailserver | Server and (mobile) clients | ? | Proprietary | JumpChat, Appear.in, AD/LDAP | Yes | No | Stable, some beta | |
Thimbl[123] | microblogging | Finger, SSH | ? | Planned for future | alpha |
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found. "Channel posts use the open ATOM content format." - from the Buddycloud web site in the How it Works section.
- ↑ "all bc posts are activity stream objects." - from a conversation on the buddycloud XMPP channel.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 15.0 15.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 17.0 17.1 17.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://friendi.ca Friendica project home page
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 42.0 42.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 56.0 56.1 56.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.psyced.org/dist/LICENSE.txt
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 93.0 93.1 93.2 http://www.cunity.net
- ↑ 94.0 94.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 101.0 101.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.