At the end of last month, Mozilla Hacks announced a new series of “DWeb” posts on decentralized software projects, which aim to redistribute the power to host and share information on the web, and on the internet in general. Obviously it’s of great interest to Disintermedia, and this blog’s 2 readers. So far, there are articles on Scuttlebutt/ SSB, WebTorrent, and Beaker Browser (see the list at the end of the DWeb announcement article). Thanks to the fedizen - a citizen of the “fediverse” of federated social networks -  who brought this to my attention, sorry I can’t remember who it was right now.

I’m back in the studio, and intending to resume normal transmission next week. This will start with a run-down of the talks and workshops I attended at Open 2018 in London.

In the late 90s and early 2000s, there was a wave of radical community servers, many of which fed into (or grew out of), the Indymedia network. Most of those veterans have sadly vanished from the web, and RiseUp, Framasoft, Comunes (OurProject), and CoActivate, are among the few still standing. As awareness grows of tech corporations like Microsoft, Apple, Google, FarceBook, and Amazon, putting their users in a digital cage, it’s great to see a whole new wave of cooperative groups coming together to replace these Web 2.0 prison canteens with ‘digital cafes’, like CommonsCloud, Disroot, and Social.coop, which I’m starting to get involved with.

A digital cafe (or ‘Open App Ecosystem‘) is a community of users and hackers providing themselves and each other with web services like social media (social networking, open publishing, or both), and sharing the costs. Since they’re doing many of the same things, rather than reinventing the wheel by writing all their software from scratch, they use a range of free code software developed by other groups. Sometimes they donate towards the financial costs of the peer production project that develops the software they use, and in other cases they have the skills and the time to contribute back to the project.

Social.coop began as group of members who set up a cooperative to share the costs of a site running Mastodon, a federated microblog server. Social.coop users can interact not only with each other, and with users on other sites running Mastodon (”instances”), but they can also interact with users on any site connected to a larger “fediverse” of federated social apps. The software makes these interactions across the fediverse possible by using common standards for exchanging data between social sites, initially using an older standard called OStatus. More recently a new standard called ActivityPub was published by the W3C (World Wide Web Consortium), the body that maintains the official standards for HTML, and everything else about how the web works under the hood. ActivityPub was the final output of W3C’s Social Working Group, which has now been replaced by the SocialCG (Social Web Incubator Community Group).

Social.coop depends on the work of all these other organizations in different ways, to keep their digital cafe running. But what’s the nature of the relationship between a cooperative running a digital cafe, and the groups maintaining the software they use? Does their sustainability depend more on making sure the project developing Mastodon has good governance? Or working on ensuring the reliability of their own servers, tweaking the software to serve member’s specific needs better, and perhaps adding new services, to help attract more members who can help reduce the costs per member?

You can’t have a cafe without a reliable electric and gas supply to the kitchen (the “back-end” of the server that users don’t see), and good mood lighting so people can feel relaxed but still see what they’re doing (UI or “User Interface“). But you don’t build a successful cooperative cafe by focusing on the internal politics of the energy utility, or the lamp shop. You focus on building your membership / customer base (users), and your collective capacity to provide them with good coffee, good service, and good food (UX or “User eXperience“).

If your energy supply becomes unreliable, you switch providers. If a coop-owned energy supplier emerges, great, switch to that. #ForkOffTogether could be that, and if people want to pitch that to them, go for it. But we can’t say for certain exactly which software they’re going to fork yet. Pleroma and Hubzilla are already options for ActivityPub server. Of these two existing, ready-to-use ActivityPub servers, I would say Hubzilla’s community probably has the closest overlap of values with social.coop. IMHO both their back-ends perform better than Mastodon’s Ruby-on-Rails engine, but other options continue to emerge (like Pylodon).

It’s the same with the lamp shop (UI). At present social.coop happens to be buying energy and lamps as a bundled package from Mastodon. But we’re not stuck with either, and we don’t have to get them from the same supplier at all. There are already a bunch of other lamp shops around, whose lamps can plug into the same power sockets (server-to-client API) that Mastodon uses. These include Pinafore (which I’m using these days and loving), and Halcyon, which is modeled directly on the look and feel of the birdsite, so fediverse sites who use that will have the minimum transition pain for refugees from there. Other lamp shops will emerge, and some of the existing shops whose lamps use different power sockets (eg Qvitter) might become compatible in the future. Hopefully, in a year or two, everyone will be using the same power sockets and plug standard (ActivityPub server-to-client API), so all lamps will work with all electric suppliers.

In a digital cafe, the energy supply is the maintenance crew’s problem (tech working group). As long as the lights stay on, the rest of the members don’t have to care about how they’re powered. The lamp situation, on the other hand, is something the members/ customers have to put up with while they drink their coffee. Decisions about which UI options social.coop offers need to be made by the membership, within the range of options that can technically work right now. Keep in mind that members can also get takeaway coffee (using a portal like pinafore.social to connect to their current instance), so they do have lighting options beyond what the tech group can set up and maintain right now.

The most important thing, the thing that *isn’t* a distraction, ever, is the coffee, the service, and the food. If we don’t get the UX right, it doesn’t matter how health or unhealthy the workplace is down at the energy company or the lamp shop, because we won’t keep the digital doors open long enough for their long term survival to matter. I love to geek out on organizational structures too. I get it. If that’s your thing, by all means go help the #ForkOffTogether folks become a cooperative energy supplier that social.coop can buy from (if they’re reliable suppliers). I totally endorse that.

Clear as mud? I may have over-extended the cafe metaphor somewhat, and as the old saying goes, no metaphor bears close examination. Feel free to hit me up about what I mean by this or that on the fediverse.

Filed June 12th, 2018 under open social networks, free software

OpenBenches.org is an open data project that collects photos and information about memorial benches in public places.

OpenBenches photo by @sjorford (CC BY-SA) 

I learned about them today, thanks to iSpooge developer Harlan Iverson, who shared a link to OpenBenches blog piece on having their birdsite account suspended by bots and then just as mysteriously restored - minus their followers. In that piece, they felt the need to defend their use of the birdsite, saying:

“Yes, I know. We should redecentralize and put our content on Mastodon, or the BlockChain, or some other convoluted platform which has no users.”

I drafted a response to them in a GH Issue but it got long, so I’m posting it here with a TL;DR version there.

I share your sceptical view of blockchain startups whose “decentralized” software only connects with other versions of itself, but Mastodon is part of a larger network known informally as the fediverse, all inter-operating via a common standard called OStatus. The OStatus fediverse is currently made up of 6 federated apps (including GNU Social), all with multiple live instances, most of which are multi-user (although some people do self-host a single account). There’s plenty of us there to share your bench photos with.

Obviously, it’s not necessary to stop using the birdsite to start experimenting with decentralized replacements. The GNU Social server that my fediverse account is hosted on can be set up to automatically repost anything I post there to my account on the birdsite, so I can publish on both networks with the same action. There are similar bridging tools available for Mastodon, and probably for some of the other apps.

If you don’t want to set up a separate microblog app on your server at all, you can use IndieWeb protocols to enable your existing openbenches.org website to inter-operate as a first-class citizen of the social web. This can connect you with the rest of the IndieWeb right away, and eventually with the fediverse using BridgyFeb (note: this is about a year old and still experimental). W3C recently made ActivityPub an official web standard for social networking, and all the fediverse apps either have implementation rolled out (eg Mastodon), or are working on it, and the same is true for a growing list of other apps (including BridgyFeb).

It’s hard to get an accurate population census of the fediverse vs. the birdsite. Even if you could find out the total number of accounts on all fediverse instances, it’s hard to know how many of these are test accounts set up by one user to try out the UX of the different apps (I have several). You can get user numbers for the birdsite, but it’s hard to know how many of these are bots or sock puppets, rather than unique human users.

Anecdotally, I’ve never had more than about 200 followers on the birdsite, while I’m humbled to have about 600 people following my current fediverse account. So, a large total number of users on a platform doesn’t guarantee greater engagement for any given feed published there. But it does contribute to the network effect that leaves users like yourselves feeling trapped there, despite the user maltreatment you experienced. Someone once convinced you to use the birdsite because they were already there, despite not knowing anyone else who was. You could be that person or project in the fediverse for your social network.

Filed May 8th, 2018 under open social networks

Update 2018-08-28: I just rechecked this post and realized I listed SocialHome as an OStatus network. In fact, SocialHome uses the Diaspora protocol, making it part of “the federation” (which also includes Hubzilla, Friendica, and GangGo), not the “fediverse”, and I’ve corrected the post to reflect this.. The developers intend to add ActivityPub support for SocialHome though, which will make it compatible with the fediverse apps as they also add support. Many of us are hoping all the apps will have their AP support rolled out by the end of 2018.

Also, I claimed in the piece that ActivityPub will eventually allow federation with MediaGoblin and NextCloud. Seems that NextCloud were only considering AP for closed federation among NextCloud servers, and nobody seems sure if MediaGoblin will go ahead with ActivityPub support now that PeerTube exists.

—-

Here’s a some thoughts I posted in response to a piece on Medium by @digits entitled ‘Join the anti-capitalist social network‘. For the record, Medium is a proprietary walled garden, which I don’t support, and I’m working on a piece looking at how we might establish federated blogging networks, which implement some of the more helpful aspects of Medium’s UX (User eXperience).

—————————————–

Great article @digits. A few points. First, not only do Mastodons federate with other Mastodons, they also federate with instances of any other software that supports the OStatus protocol (a protocol is a technical agreement about how to different things work together), creating a meta-network informally known as the fediverse. This already includes a number of other social network apps like GNU Social, Hubzilla, and Pleroma. But Mastodon has just added support for a new social protocol called ActivityPub, which will eventually allow federation with multimedia hosting sites running MediaGoblin, video streaming sites running PeerTube, file-hosting sites running NextCloud, and more.

Social network migration is a great idea, and you’re absolutely right that it’s essential to allows users to own their data (their “social graph” in geek jargon), so they can keep instance operators honest, and when necessary, survive their downfall. But from my reading of the relevant GitHub Issues (eg #177, #201, and #454), this is still a work in progress in Mastodon. Hubzilla has totally solved it with the Nomadic Identity aspect of their Zot protocol, but as far as I can tell, they are the only software that supports this.

Rather than anti-capitalist, it is more accurate to call Mastodon a nonmarket social network.

Is it though? I know this all depends on what you think a market is. But it’s arguable that what the decentralization of Mastodon allows is a true free market (what left libertarians like Kevin Carson and Gary Chartier call a “freed market”), and this is even more true of the fediverse as a meta-network. Closed, centralized platforms like FarceBook, the birdsite, and Goggle, are like feudal estates, where users harvest data (thoughts, converations, photos, videos) for their own use, but must pay tithes to the landlord in the form of data mining. In decentralized networks like Mastadon and the fediverse, users are tenants not peasants, customers who can choose among many digital landlords, based on the kind of place they’re looking for, and how they’re willing to pay (fees, donations, volunteer time), or even build their own homestead on their own land (by self-hosting).

I would call the fediverse a non-privatized social network, where your social relationships are not reduced to a commodity to be bought and sold by capitalists. So in this sense, I think your headline got it right; it is an anti-capitalist social network. I look forward to the day when we remember FarceBook in the same scornfully nostalgic way we remember AmericaOnline, as feudal empires that both technology and its users outgrew and abandoned.

Filed April 7th, 2018 under open social networks

Mailing lists and web forums are both text media, supporting branching conversations. The only difference is the method of delivery and reply (email vs. web). As mailing list/ forum software continues to be developed, the distinction between the two is breaking down, because it makes sense to use a package that allows people to participate through either email or web interfaces, as they prefer.

Many modern mailing list server packages (like GroupServer) support forum-style subcription management, message searching, and direct replies. Many modern web forum server packages (like Discourse) allow for email delivery and replies. Loomio enables text discussions through both web and email, as well as decision-making using a variety of poll types (so more suited for teams than casual, open-ended discussions).

In response to a proposal on the Trisquel forums, I was thinking it would make sense to have a unified set of software freedom forums, on one website, with a range of topic-based forums, and help forums for specific projects (like libre distros, user applications, server packages, and so on). The question is, how would we assemble a critical mass of people who have time to admin, moderate, and participate? How would we make decisions about where to host? Which software to use? What to call it?

Then I thought, maybe if we want to get really ambitious, we could try to create a federated set of forums. Could ActivityPub, Zot, or another federation standard(s), be used to federate multiple forum packages on multiple hosts so that people can read, join, and post to a Trisquel Users forum from any one of those hosts? Could this help to solve the problems of community fragmentation (different groups silo’d on different hosts), without trying to herd everyone onto one host?

For now, the Trisquel forum admins have solved the problem of general software freedom discussions being held in the forum intended for helping Trisquel users having problems with installing or using the distro, by setting up a new General Free Software Talk forum on their boards. All welcome, don’t feed the trolls (we have the Troll Lounge for that ;)

Filed March 17th, 2018 under open social networks, free software

I’ve been collecting information on free code chat software for a while now as part of research for the Core Us project. If anyone is keen to join an organised testing team and have a regular online chat session, using different chat systems, please get in touch. Today I’ve been looking into which chat systems might be the best options for integration with a Loomio, a web-based deliberation and decision-making platform.

My evaluations

 Etherpad: Text chat only. Collapsed until clicked. Once clicked, appears as a smallish GoogleChat-alike box in the bottom right of the screen. Can be expanded into a sidebar, or collapsed back down.

 Meet.jit.si: Demo of Jitsi Meet/ Videobridge. No login required on the demo site, just create a “room” (eg meet.jit.si/loomio), and anyone who enters the URL for that room automatically joins the chat. I recently used it for a one-to-one, voice-only chat. Other than a tiny bit of lag, which was only mildly disruptive, the experience was good. Supports text chat, (collapsible sidebar), voice, video, screen-sharing, text editing using an integrated Etherpad. A livestreaming output allows a 2-way chat among a small group over people to be streamed to a larger, listen-only audience (akin to Hangouts on Air), and presumably recorded for later viewing.

 MetaMaps: chat is in the form of a sidebar, collapsed until a button on the side of the screen is clicked, collapse back with a second click. Each map has its own chat ‘room’, and text comments made on a map persist in the chat box for that map between sessions. Supports voice and video, not yet tested. A bit harder to evaluate without setting it up on your own server, because they’re currently in invite-only beta.

Mumble / Murmur: Mumble clients are available for all major platforms, but the default interface is basically like IRC plus voice (no video), and may be confusing for people who aren’t used to IRC. Each Murmur server can host many rooms (rooms within rooms). If you are in the same ‘room’ as another user, you can hear each other, and it easily supports large numbers of users in the same room. Mic can be always-on, but I strongly suggest using push-to-talk, which reduces background noise, feedback, and bandwidth use. Plus, the user’s avatar visibly changes when they push-to-talk, giving some sense of who is waiting to speak.

Palava.tv: A WebRTC stack like Jitsi Meet, but only supporting the bare bones text/ voice/ video chat. The interface is much less polished than Jitsi. Would be interesting to compare the call quality between the same two people, on the same equipment and network connections. Palava also seems to be a patchwork of code in a bunch of different languages, whereas Jitsi (and Etherpad) are pure Javascript, and might be easier to integrate with a RoR application.

 Riot.im: A text chat server with multiple ‘rooms’. Basically a prettier, federated, web-based version of an IRC/ Mumble type interface,  but using the Matrix protocol. Also supports file sharing. Has annoying no-reply email notifications turned on by default, but you can unsub from the bottom of each email, and the notification control in the Settings is pretty fine-grained. Overall pretty similar to RockChat (but without the WebRTC voice/ video extensions), and I imagine pretty similar to MatterMost, as they are all basically free code Slack-a-likes.

 

Process of elimination

Trying to re-engineer a system expressly designed to be P2P chat seems like a fools errand, especially when those P2P tools are the various parts of Tox, an outgrowth of 4Chan with a tumultuous history, and somewhat consistent development progress. Ring is a more promising P2P chat project that recently joined the GNU Project, but it’s still in beta, and voice/ video conference calls are still bleeding edge. It doesn’t seem like there is protocol support for XMPP (plus MUC and Jingle), which may be a smoother way to handle conference calls (although maybe less secure), but adding that would be a huge engineering challenge.

Re-using code that’s designed for the web is probably simplest approach. Of the Slack-a-likes, Riot is probably the most interesting because it can federate with Matrix protocols, but as a consequence, it’s probably also the most bleeding edge. Besides which, federation is fairly low down the priority list for integration with a group-based app like Loomio (or Crabgrass, also RoR), which doesn’t currently support any kind of server federation. The ideal candidate would be a module that’s intended for adding chat features to a web application, written in languages that work in nicely with RoR.

 

Shortlist for possible Loomio integration

  • Etherpad is pure Javascript, and adapting the chat box modules of their code might be a way to add a collapsible, text-only chat box to Loomio. This might be a good experimental first step, as its likely to introduce fewer bugs than a chat box with voice and video too.
  • MetaMaps is a Ruby on Rails app, like Loomio, so it may be possible to add a similar chat sidebar to Loomio using the same modules MM chat depends on, or if necessary, by modularizing those parts of the MM code. This might be a good experiment #2.
  • Meet.jit.si ticks a lot of the right boxes. A self-hosted version of their stack could be set up alongside a Loomio server, with rooms sharing the same namespace and access permissions as Loomio groups and subgroups, and the same authentication layer. This would provide a full-featured live collaboration environment, including collaborative text drafting with the Etherpad integration, which is currently a missing feature resulting in a lot of Google Docs. It’s a complicated stack though, with a lot of moving parts, and some careful thought would have to be given to how to integrate the two interfaces smoothly.
  • Mumble: Building a web client for a system server designed to work with desktop clients can work (eg webmail and web-based IRC and XMPP clients), but this would be a major re-engineering job with no certainty of success, and using Mumble for a text only chat feature would certainly be overkill. A minimal web GUI that uses a Murmur server as a back-end for voice conference rooms, obscuring the fiddly business of connecting to a server and navigating through rooms, would make it much easier to use, and would most likely scale better than WebRTC. Underneath the GUI, Mumble rooms could be associated with Loomio groups, and rooms inside each rooms associated with subgroups. This could be a long term solution, but would take a lot of building.

Update 2018-04-24: I thought I’d deleted my account on FarceBook in 2010, but I recently discovered its still around, being run as a zombie by some spammer. So, I’ve decided to rethink my strategy around these corporate platforms. Instead of deleting my account, and potentially have someone run a fake one under my name, I’m going to strip them down to a placeholder that tells people I don’t use that platform, and directs them to the user-respecting platforms I actually use in their place.

———————————-

I recently made this valedictory post on LinkedIn. LinkedIn is joining FarceBook, Skype, and Google, on the list of corporate platforms I no longer intend to use.

I’m going to be deleting my LinkedIn account by the end of the year. I probably won’t log in again until it’s time to action that. If I don’t respond to your message here, or accept your invite to connect, it’s not about you. Happy to hear from you some other way. I just need to stop spending my time performing unpaid data entry for corporate platforms like LinkedIn, especially when the data I’ve entering for them is my own.

The truth is, I’ve always felt somewhat ambivalent about LinkedIn. If LinkedIn was transparent about the source code of all the software it runs on, and especially if it was a platform cooperative, owned by its members, or even by its technical and administrative workers, I think it could be a great community resource. But as it currently exists, it’s like FarceBook and the rest of The Stacks. It’s a proprietary platform whose prime directive is not to serve their users, but to privatize and monetize people’s need to socialize, and to manipulate users to make sure they stay keep clicking around the site for longer.

The second reason I’ve looked sideways at LinkedIn is the company they keep. In late 2016 that incorrigible rascal Tim O’Reilly put on ‘Next:Economy‘, a pep rally celebrating the “Sharing Economy“, that rash of trendy new corporate platforms using mobile apps to make huge profits from other people’s peer-to-peer trading. LinkedIn CEO Jeff Weinar was on the speaking list with the exploiters running Uber, AirBnB, Lyft, and so on.

But then, lots of cool people I know are on LinkedIn. People I do want to connect with. In fact, now that that I look more carefully, there were heaps of cool people on that speaking list too, like MJ Kaplan from Loomio, ‘Life Inc.’ and ‘Throwing Rocks at the Google Bus’ author Doug Rushkoff. People who understand that the real Next Economy will be a post-corporate one or it will be a post-human one.

Then I saw the news. LinkedIn, like Skype and so many other small to medium technology companies before them, are going to get swallowed by Microsoft. If there’s one platform corporation I really don’t want to be doing unpaid data entry for, it’s a company who spent years and probably millions of dollars telling lies about GNU-Linux to protect their monopoly on desktop operating systems. As Job puts it in a hugely popular fantasy book, “This far you may come and no farther’.

So, I’m out of here. See you out there in one of the many free and open networked savannahs outside the boundaries of corporate-owned walled gardens. Enoho rā LinkedIn. Haere rā koutou katoa e hoa mā.

Filed May 6th, 2017 under open social networks, open source

In August 2010, a year before Occupy kicked off, I posted the following comments on an article posted to the open newsire of Aotearoa Indymedia. The more things change, the more they stay the same…

“Sometimes people seem to get confused about the difference between a website (or email list) and a group or organisation. It doesn’t help that the poorly defined word ‘network’ often gets used interchangably to refer to any and all of these things. A website is not the same thing as an organisation for the same reason a building is not the same thing as an organisation. It is a private space which can be used by a particular group or organisation, or like Indymedia (at least in theory), a neutral space that can be used by anyone who feels attracted to it.

Unlike a building though, which requires organising a large number of people to build in the first place, a website can be built by one person. So it’s becoming more and more common for people to see the need to build a broader campaign around something, and set up a networking website/ forum/ email list/ FaeceBook group, and see who they can attract. To me this is just the online equivalent of calling a public meeting or open conference, and seeing who comes, and what ongoing relationships and results come out of it. This is what Simon has done, at the request of his group in Tamaki Makaurau, in creating Solidarity.org.nz [sadly not archived anywhere that I know of - Stypey, 2017].

In theory such a website is a neutral space, and whoever participates determines it’s tone and character. But as we’ve seen with Indy, this is not actually true in practice. At the end of the day, someone has admin access to the guts of the thing, and there is an implicit heirarchy in any website that begins with those people (admins), is delegated to whoever does the day to day troubleshooting and editing at the CMS level (moderators), who effectively excercise censorship and banning powers over participants.

So what we have is a class heirarchy within the website:

admin = ruling class

moderator = middle class

participant = working class

This is why it matters who sets up and maintains websites, which website gets used for organising, whose computers are hosting them etc and why people raise the sorts of concerns being raised by Anonymous1. I wish I had a simple solution to this problem. I don’t. I am hoping that the new generation of peer-to-peer social networking clients like Diaspora (http://www.joindiaspora.com/) might offer us a truly decentralised way to network, where no one person or group has to hold power over the root of the system. In the meantime, I would recommend directing people to existing activist networking sites like CoActivate.org, and We.RiseUp.net, rather than any one person or group setting up a space and expecting everyone else to find it neutral.

I hope we can keep in mind that what matters most is not which websites we are posting campaign and action ideas on, but what groups we are working with face-to-face in our own regions, and what actions we are putting our own time into. If websites and emails lists like Indy, Solidarity.org.nz, or DiscussionBeyondResistence - or even Facebook and Twitter for that matter - are a useful extension to that, great! Otherwise, just don’t use them. If you don’t like the person running this or that website, just don’t go there.

“Get off the internet, I’ll see you in the streets” - Le Tigre”

Filed April 8th, 2017 under open social networks, independent media

Update (2018-11-20): a lot has happened in the year and a half since I wrote this post, and I’ve learned a lot more about all the various projects I mentioned in it. Since a lot of people have linked to it, I feel obliged to do a major 2.0 update to make sure the piece is as accurate as I can make it at this time. Watch this space.

———

Back in the glass age, a guy called Evan wrote some free code in PHP to run a vaguely Twitter-ish site called Identi.ca. The software was called Laconica, and then it was called StatusNet. It was able to federate with other vaguely Twitter-ish sites running the same software using the OpenMicroBlogging standard (a mash-up of existing protocols including OAuth, OAuth Discovery, YADIS, and XMPP), which was replaced by the OStatus standard (a bouquet of existing protocols including Atom, Activity Streams, PubSubHubbub, Salmon, and the delightfully named Webfinger), both of which Evan was also pretty involved in developing. A bunch of other sites/ softwares had a go at supporting OStatus (there’s a list on its Wikipedia page), hoping that one day they could all get along.

A few years later, glass was being replaced by aluminium. Evan got bored with trying to fix a bunch of baked in architectural limitations in StatusNet (or maybe PHP itself, I’m guessing, I don’t know his reasons) and started working on a new piece of vaguely Google+-ish software called pump.io, written in Javascript. Evan announced that Identi.ca would be switching from StatusNet to pump.io, which it did in 2013. Pump.io federates using a new pump.io protocol (which still uses Activity Streams, but with JSON and a “REST inbox API“, whatever that means).

This is good news for potential interoperability, since a bunch of other sites and softwares are already using Activity Streams (including any that support OStatus), and Activity Streams is being standardized under a license from the Open Web Foundation by the Social Web Working Group (SocialWG) of the World Wide Web Consortium (W3C). As it happens, Evan was also involved in starting the W3C SocialWG (which took over the standards work of the OpenSocial Foundation in 2014, but let’s not get ahead of ourselves…).

Meanwhile,  Mikael Nordfeldth was hacking away on a fork of StatusNet called Free Social (or “Free & Social”), which debuted in late 2012 on on the FreeSocial.org website he was running for the Piratpartiet. According to OpenHub, Nordfeldth set out with a plan “to make the codebase smaller, leaner, neater and more modular”. Also in the aluminium age, as GNU Social founder Matt Lee tells it in his interview with the FSF LCL (Free Software Foundation Licensing and Compliance Lab):

“GNU social was created as a companion to my earlier project, GNU FM, which we created to build the social music platform, Libre.fm. After only a few short months, Libre.fm had over 20,000 users and I realized I didn’t want to be another social media silo like MySpace or Facebook, so I came up with this vague idea called GNU social. A few prototypes were built, and eventually we started making GNU social as a series of plugins for Evan Prodromou’s StatusNet project, with some help from Ian Denhardt, Craig Andrews and Steven DuBois.”

You could think of all this as Fediverse 0.1, the gestation that was happening as it slumbered in the world wide womb, waiting to be born.

“Later”, continues Matt, “StatusNet, GNU social and Free Social… would merge into a single project called GNU social.”

After this was announced in 2013, lots of people who had still been running StatusNet sites, and getting concerned about the lack of active development as Evan worked in pump.io, started migrating to the first release of GNU Social, and other folks started setting up new GNU Social servers. Some of them continued to or started to federate using OStatus. Users who had been missing StatusNet since Identi.ca switched to pump.io (including yours truly) started finding and joining GNU Social servers. The Fediverse 1.0 is born.

This part of the history happened a few years ago, so I’m pretty sure I’ve got it right, but I welcome corrections in the comments. For the next part, I’m kind of winging it on the basis of what appears to have happened more recently, so apologies for any misunderstandings and again, please feel free to set me straight.

The growing GNU Social Fediverse then sets out to try and make friends with some of the other kids in the federated social networking neighbourhood; particularly established players like Pump.io, Diaspora*, Friendica (formerly Mistpark), and Hubzilla (formerly Red Matrix), but also up and coming projects like Tent, the Matrix, and the skinny jeans wearing rebels of the IndieWeb). Some want to use their own brand spanking new protocol(s) (pump.io, Tent, and the Matrix, what is the Matrix? Still working that out). Some don’t really want to federate at all because it threatens to breaks their privacy model (Hubzilla), and others had already threatened in 2012 to take their ball and go home, to work on their reinvented decentralized authentication (the Zot protocol, which ended up being used as the federation protocol for Hubzilla). To be honest, I’m still left wondering why the hell they didn’t all just use XMPP but I’m not a developer so…

Despite all that, GNU Social does manage to make some friends, and there is talk of a grand Federation (this link lists active Diaspora*, Friendica, and Hubzilla nodes). Some success appears to be made in allowing users to communicate between some of these projects, mostly using some variant on the OStatus cluster of protocols, which seem to be the lowest common denominator. The Diaspora* protocol uses similar bunch of protocols to OStatus, but it uses them differently, including adding support for private massages. Sean Tilley of the Diaspora* crew sums up the resulting blends:

“Friendica, Diaspora, Hubzilla all talk to each other through Diaspora. Friendica can also speak OStatus. Hubzilla and Diaspora currently cannot.”

Meanwhile, in a parallel universe, another cluster of free code developers are also working on communication and collaboration software. Some of them create the Valueflows project to work towards a standard for them all to interoperate, and a larger federation of projects groups form the Collaborative Technology Alliance to do the same. Working on standards is complex work, but not nearly as hard as getting everyone to agree on what standard to use.

Back in the Fediverse, a few developers get bored with trying to hack around a bunch of baked in architectural limitations in GNU Social (or maybe PHP itself, I’m guessing, I don’t know their reasons), and develop a bunch of add-ons or replacements for the GNU Social server software (formerly StatusNet, remember?), in a few different languages. Qvitter, started by Hannes in 2013, is a Javascript layer used on the Quitter sites to give a more Twitter-ish user experience. In 2016, Maiyannah Bishop forks GNU Social to start the PostActiv project, which is not GNU Social but still part of the Fediverse, and Eugen Rochko starts working on Mastodon in Ruby on Rails, which is not even a GNU Social fork but is still part of the Fediverse and uses the same GNU AGPL software license. With a cluster of different server-side packages available for those who want to set up their own node in the OStatus-powered federated network that started with StatusNet/ GNU Social, this is the point where I feel I can say the Fediverse has turned 2.0.

So to sum up, there’s been a lot of different things under a lot of different names. Some of the things still exist and some of them don’t. Some of the things are organisations, some of them are networks or sub-networks. Some of them are websites, some of them are software, standards, or protocols. Some of the things are a smaller part of bigger things, or a collection of smaller things, and some of the things can connect to some of the other things, but not all the other things. The Fediverse / Federation aims to eventually unite all the things that still exist into one glorious meta-thing.

Confused yet? I know I am. The branding is a spaghetti junction, as it too often the case with free code projects and their organic and messy (r)evolution. But thanks heaps to all the hard working people whose dedication, much of it unpaid, has brought us all the things. We’ll all figure it out as we go along. Long live the Federation (in the utopian Star Trek sense of the word, rather than the dystopian Blake’s 7 sense).

Update (2017-04-17): Thanks to Federation pioneer and Friendica/ Hubzilla developer Mike Macgirvin for sharing his thoughts in his unique and inimitable way, I’m planning a separate ‘brief history’ post covering his branch of the family. Thanks also to Sean Tilley of Diaspora* for answering politely each time I asked the same questions clarifying the status of federation efforts between Diaspora and the other apps (my tribal name is Memory Like Goldfish ;).

Update (2017-04–04): Thanks to fellow GNU Social user Claes Wallin for offering some corrections and clarifications. I’ve tried to correct this piece to reflect these. 

Update 2017-05-03: Here’s another ‘Brief History’ of the Fediverse that fills in some gaps in mine, and comes from a different political angle.

EDIT 11/03/2016: Transformap is a platform for mapping out projects demonstrating alternatives to the dominant state-corporate institutions.

EDIT 27/01/2016: Great news! A consortium of web app development groups, including Enspiral and Loomio, have announced the formation of the Collaborative Technology Alliance.

Original post:

Over the past few months there have been many discussions in the Loomio Community about integrating Loomio with a whole range of other apps like CiviCRM, Diaspora, EtherPad, Slack, and more general discussions about allowing aspects of Loomio to be embedded within other apps. Each of these threads contains some discussion of the need for standardized protocols/APIs for each kind of data-sharing social web apps need. This is something I’ve written about before, in the context of the disturbing dominance of FarceBook and the GoogleBeast. As I said in the Slack discussion:

“I’m really pleased to see Slack and [free code alternative] MatterMost using the same API. I think the web app world gain a lot from a major push for open standardization, so for example one standard API for all apps in the style of Slack/ MatterMost/ RocketChat, one API for decision-making apps like Loomio etc, one API for microblogging feeds (Twitter, GNU Social, Pump.io etc). This way a project like Loomio could implement support for one API to support a whole class of other web apps.The web is massively extensible because HTML provides such a bridge between websites and browsers, regardless of vendor on either end.”

One of the projects mentioned in the Slack discussion who are working on common standards for inter-operability is ValueFlows, whose goal is to “… help a lot of alternative economic software projects that are solving different pieces of the same puzzle be able to work together”. A more general one I was already aware of is the Open Web Foundation, who have created some legal agreements, analogous to free code software licenses, for releasing all rights to standards/ protocols, thus making them guaranteed “open” (or “free” or “libre” or whatever ;) Not sure if they’re still active. They were set up a few years ago, with the stated intention of acting as an incubator for experimental standards, and thus reducing the churn of proposed standards going through other standards bodies like the W3C and the IETF.

I’ve seen a lot of these kind of projects come and go over the years, especially in bleeding edge fields. For example there have been about three Open Hardware Foundation type groups. I’ve been thinking for ages it would be good to have some sort of community stewardship wiki that tracks all these organisations, their goals and activities, and their relationship with each other, along with contact info. A sort of “Foundation of Foundations Foundation” (a Foundation that helps people build strong foundations for their Foundations). I suspect that if it was well used, such a wiki would help people find and focus their energy in the existing organisation or working group that’s most compatible with what they’re trying to do, and reduce the proliferation of standards, protocols, and even organisations. It could also help people working in stewardship organisations learn from each other successes and mistakes, figure out what kind of invisible structures (social, legal, financial) are best to suited to their purpose, and share things like constitutions, codes of conduct, and conflict-resolution policies as “open source” documents.

Filed January 26th, 2016 under open social networks, open source
Next Page »
  • Annual Events

  • Digital Freedom Foundation
  • LibrePlanet
  • Aotearoa

  • Aotearoa Indymedia
  • BallaNZ
  • Creative Commons Aotearoa/ NZ
  • Creative Freedom Foundation
  • DigitalNZ
  • Enspiral
  • Fair Deal Coalition
  • GreenStage
  • InternetNZ
  • Island Bay World Service
  • Living Economies
  • Localise
  • Loomio
  • Matrix FM
  • Nicky Hagar
  • No Right Turn
  • NZ Council for Civil Liberties
  • NZ Makers
  • NZ Makers Map
  • NZ Māori Internet Society
  • NZ Open Source Awards
  • NZCommons
  • OASIS
  • Open Government Ninjas of NZ
  • Open Source Society of NZ
  • Open Standards NZ
  • Open Ur Eyes
  • Pacific Media Centre
  • Permaculture in NZ
  • PledgeMe
  • Radio Chomsky
  • Regulation
  • Scoop
  • Tech Liberty
  • Timebank Aotearoa
  • Transition Towns Aotearoa/ NZ
  • Uncensored Magazine
  • Waatea News
  • Waikato Linux Users Group
  • What If
  • Wiki NZ
  • Zenbu
  • archives

  • ArchiveTeam
  • Critical Commons
  • Ibiblio
  • Internet Archive Community Software Collection
  • Open Archives Initiative
  • Blogroll

  • Abject
  • Access Now
  • Ars Technica
  • Autonomo.us
  • BadScience
  • Banjo - RoboBlog
  • Boing Boing
  • Born out of Binary
  • Centre for Media and Democracy
  • Choke Point Project
  • Copyrighteous
  • Create Digital Music
  • Creative Commons International
  • Cryptogon
  • Digital Standards Organisations
  • Disinfo
  • E-Democracy
  • Electronic Privacy Information Center
  • Ever Vigilant
  • Freedom Box Foundation
  • Freedom of the Press Foundation
  • Gaming On Linux
  • Global Indymedia
  • Gondwanaland (Mike Linksvayer)
  • Institute for the Future of the Book
  • Institute of Network Cultures
  • Internet Governance Project
  • InternetNZ
  • Island Bay World Service
  • Iterating Towards Openness
  • Knowledge Ecology International
  • LinkedListCorruption
  • Linuxed - Exploring Linux Distros
  • Localise
  • Moved by Freedom - Powered By Standards
  • Nanowares
  • New Zealand Māori Internet Society
  • Nicky Hagar
  • No Right Turn
  • NZ Council for Civil Liberties
  • NZCommons
  • O'Reilly Radar
  • OASIS
  • OERu Technology Blog
  • Open Educational Resources Foundation
  • Open Knowledge Foundation
  • Open Rights Group
  • Open Social Web
  • Open Source Conscious Intelligence Network
  • Open Source Food
  • Open Stand
  • Open Ur Eyes
  • OpenCollective
  • OpenDotDotDot
  • OpenSource.com
  • Permaculture in NZ
  • Plumi
  • Public Interest Journalism Foundation
  • Punk Rock Permaculture
  • Question Copyright
  • Replicant (OS)
  • Rob Meyers
  • Schneier on Security
  • Scoop
  • Shareable
  • Slashdot
  • Software Freedom Law Centre
  • Software in the Public Interest
  • SourceMap
  • Sustento Institute
  • Tech Liberty
  • TechRights
  • The Tin Hat
  • Tinkering Down Under
  • TorrentFreak
  • TransitionMovement
  • Translation Project
  • Trisquel GNU/ Linux
  • United Diversity
  • Waatea News
  • We Speak for Freedom
  • Why Your Boss is Programmed To Be a Dictator
  • code bank

  • Allura
  • BitBucket
  • FusionForge
  • GITHub
  • GITLab
  • Gogs
  • Internet Archive Community Software Collection
  • LaunchPad
  • NotABug
  • Savannah
  • Software Freedom Conservancy
  • Software Heritage
  • Sourceforge
  • community economics

  • Commons Transition
  • Fruit Tree Planting Foundation
  • In Our Back Yards
  • Institute for Local Self-Reliance
  • Libre-Living
  • Living Economies
  • Sensorica
  • Sustainable Economy Law Centre
  • Timebank Aotearoa
  • TransitionMovement
  • cooperative

  • Loomio
  • Snowdrift Coop
  • crowdfunding

  • ArtistShare
  • BountySource
  • Causes
  • CauseVox
  • Crowdfunder
  • Crowdjustice
  • Crowdrise
  • Crowdsupply
  • Flattr
  • Fundit.buzz
  • GiveaLittle
  • Goteo
  • In Our Back Yards
  • KickStarter
  • KissKissBankBank
  • Liberapay
  • Mighty Cause
  • OpenGift
  • Patreon
  • PledgeMe
  • PledgeMusic
  • Pozible
  • Snowdrift Coop
  • StartSomeGood
  • Taproot Foundation
  • The Working World
  • Tidelift
  • Events

  • IndieWebCamp
  • free code

  • April
  • Black Duck Open Hub
  • DistroWatch
  • Ever Vigilant
  • F-Droid
  • Free Software Directory (GNU FDL 1.3 or later)
  • Free Software Support Network
  • Free Software Support Network
  • Free Your Android
  • FreshCode
  • Gogs
  • Gun.io
  • Internet Archive Community Software Collection
  • LILA
  • LinuxTracker
  • NotABug
  • OERu Technology Blog
  • Peers Community
  • Plumi
  • PublicLab
  • Replicant (OS)
  • Software Heritage
  • Urchn Studios
  • Free Media

  • Communes Collective
  • Copyrighteous
  • Create Digital Music
  • Definition of Free Cultural Works
  • Dyne Foundation
  • FLOSSManuals
  • Free Culture Foundation
  • Ibiblio
  • Librivox
  • LILA
  • Open Video Conference
  • Show Me Do
  • Translation Project
  • Urchn Studios
  • WikiLeaks
  • freelancing

  • BountySource
  • Gun.io
  • independent media

  • Aotearoa Indymedia
  • BallaNZ
  • EngageMedia
  • Freedom of the Press Foundation
  • LILA
  • Matrix FM
  • Pacific Media Centre
  • Public Interest Journalism Foundation
  • Radio Chomsky
  • Radio Heritage Foundation
  • Uncensored Magazine
  • Waatea News
  • libre gaming

  • Gaming On Linux
  • Makers

  • GreenStage
  • Libre-Living
  • Mediamatic
  • NZ Makers
  • NZ Makers Map
  • Open ROV
  • Renewable PCs
  • Rob Meyers
  • Sensorica
  • maps

  • GeoForAll
  • GeoNames
  • Green Map System
  • Map Tools
  • Open Geospatial Foundation
  • Open Street Map
  • open governance

  • Crowdfunding
  • D-Cent
  • Deep Democracy Institute International
  • E-Democracy
  • Fight for the Future
  • Holacracy
  • Internet Governance Project
  • Kettering Foundation
  • Knowledge Sharing Toolkit (CC-BY-SA 3.0)
  • Open Government Ninjas of NZ
  • Open Policy Network
  • Open Space World (CC-BY-SA 2.5)
  • Open Stand
  • Open Standards NZ
  • Participedia
  • Sunlight Foundation
  • Transition Towns Aotearoa/ NZ
  • What If
  • WikiLeaks
  • open hardware

  • H-Node
  • Makey Makey
  • Meeblip Open Source Bass Synth
  • Open Hardware Summit
  • Open ROV
  • Open Source Hardware Association
  • Orgs

  • Access Now
  • Apache Foundation
  • April
  • Autistici/Inventati
  • Collaborative Knowledge Foundation
  • Commons Transition
  • Communes Collective
  • Computer Professionals for Social Responsibility
  • Creative Commons Aotearoa/ NZ
  • Creative Freedom Foundation
  • Critical Commons
  • D-Cent
  • Deep Democracy Institute International
  • Digital Due Process coalition
  • Digital Freedom Foundation
  • Digital Standards Organisations
  • DigitalNZ
  • Dyne Foundation
  • E-Democracy
  • Electronic Frontiers Foundation
  • Electronic Privacy Information Center
  • Fair Tracing Project
  • Fight for the Future
  • Foundation for Peer-to-Peer Alternatives
  • Free Culture Foundation
  • Free Network Foundation
  • Free Software Foundation
  • Free Software Support Network
  • Free Software Support Network
  • Freedom of the Press Foundation
  • Guifi
  • Ibiblio
  • Identity Commons
  • Institute for Local Self-Reliance
  • Internet Engineering Taskforce
  • Internet Governance Project
  • ISA Commons
  • Kettering Foundation
  • LEAP Encryption Access Project
  • LILA
  • Living Economies
  • Loomio
  • May First/ People Link
  • Mediamatic
  • NZ Māori Internet Society
  • NZ Open Source Awards
  • Open Architecture Network
  • Open Archives Initiative
  • Open Geospatial Foundation
  • Open Policy Network
  • Open Source Hardware Association
  • Open Source Society of NZ
  • Open Web Foundation
  • OpenADR Alliance
  • OpenCorporates
  • OpenHatch
  • Participatory Culture Foundation
  • Peers Community
  • Permaculture in NZ
  • Privacy International
  • Public Citizen
  • Public Interest Journalism Foundation
  • Public Knowledge
  • Public Patent Foundation
  • Question Copyright
  • Radio Heritage Foundation
  • ReDecentralize
  • Reform Government Surveillance
  • Regulation
  • Rhizome
  • RiseUp
  • Science Commons
  • Software Carpentry Foundation
  • Software Freedom Conservancy
  • Sunlight Foundation
  • Sustainable Economy Law Centre
  • Taproot Foundation
  • Transition Towns Aotearoa/ NZ
  • Waikato Linux Users Group
  • Wiki NZ
  • World Wide Web Consortium (WC3)
  • Xiph.org
  • XMPP Standards Foundation
  • Peer2Peer

  • BitCoin
  • FreeCoin
  • Permaculture

  • Appropedia (CC-BY-SA 3.0)
  • Fruit Tree Planting Foundation
  • Future Scenarios
  • OrganicDesign
  • Permaculture in NZ
  • TransitionMovement
  • We Speak for Freedom
  • Privacy

  • Access Now
  • Digital Due Process coalition
  • Ever Vigilant
  • Fight for the Future
  • International Principles on the Application of Human Rights to Communications Surveillance
  • LEAP Encryption Access Project
  • OASIS
  • Privacy International
  • Reform Government Surveillance
  • What If
  • protocols and licensing

  • Definition of Free Cultural Works
  • Digital Standards Organisations
  • Greenlots
  • ISA Commons
  • Open Archives Initiative
  • Open Stand
  • Open Standards NZ
  • Open Web Foundation
  • OpenADR Alliance
  • Regular Events

  • Libre Graphics Meeting
  • Open Hardware Summit
  • science and datasets

  • AllTrials
  • Collaborative Knowledge Foundation
  • DigitalNZ
  • Fair Tracing Project
  • ISA Commons
  • Open Geospatial Foundation
  • Open Hand Project
  • SourceMap
  • Wiki NZ
  • Zooniverse
  • Tools

  • Autistici/Inventati
  • BitCoin
  • Black Duck Open Hub
  • CoActivate
  • Crowdfunding
  • DistroWatch
  • Dyne Foundation
  • F-Droid
  • FLOSSManuals
  • Fork the Cookbook
  • FreeCoin
  • GITHub
  • GNU Operating System
  • GreenStage
  • H-Node
  • How To Escape the GoogleMax Panopticon
  • Knowledge Sharing Toolkit (CC-BY-SA 3.0)
  • LEAP Encryption Access Project
  • LinuxTracker
  • Loomio
  • Map Tools
  • May First/ People Link
  • Meeblip Open Source Bass Synth
  • Monolith
  • Open Hand Project
  • Open Source Ecology
  • Open Space World (CC-BY-SA 2.5)
  • Open Street Map
  • OpenCorporates
  • OpenMailBox
  • Participatory Culture Foundation
  • Plumi
  • Renewable PCs
  • Replicant (OS)
  • RiseUp
  • Savannah
  • Show Me Do
  • Sourceforge
  • SourceMap
  • TransforMap
  • Translation Project
  • Web Platform
  • Zenbu
  • Transition

  • Green Map System
  • Health After Oil
  • Localise
  • OrganicDesign
  • Wiki

  • Appropedia (CC-BY-SA 3.0)
  • Foundation for Peer-to-Peer Alternatives
  • Instructables
  • LibrePlanet
  • Open (Government) NZ
  • Participedia
  • SourceWatch
  • WikiEducator
  • wireless mesh

  • Guifi
  • workplace democracy

  • Enspiral
  • The Working World