Categories
open source social

Freedom in the Cloud (eleven years later)

I watched the famous speech ‘Freedom in the Cloud’ of Eben Moglen in 2010 at the ISOC-NY. Again if I might add. That speech had a great influence on me. It was the first time that I realised that client-server infrastructure of the internet is a huge problem. This very infrastructure ensured that all the data were aggregated and used (or abused) by the ones that owned the servers. At the same time the clients were being deprived of power. And that with the accumulation of servers in a data centre and he virtualisation of the servers (cloud) these owners were getting even more powerful.

I wasn’t the only one that was influenced by this speech of Eben. It also marked the beginning of the development of Diaspora social network. As it happens some of the initial developers of Diaspora were present at that Friday night at ISOC-NY and it inspired them to build the Diaspora software.

A lot has changed the last eleven years, and I will get to that, but what hasn’t changed is the client-server infrastructure, the source of evil. If anything the power of ones that own the servers like Facebook, Amazon, Google, Apple and even Twitter has increased greatly in the last 10 years. And as a consequence the ones working on the client side have become even more powerless. Snowden (2013) and Cambridge Analytica (2016) are just a few examples that demonstrate that this abuse of the ‘architecture of the catastrophe’ took directions that we couldn’t have envisioned.

On the plus side since 2010 a lot of developments have started to halt this catastrophe. Some were more successful than other but it’s undeniable that if someone is looking for a free (as in freedom) alternative right now a lot more options are available than 10 years ago. Also these options seem to be sustainable and rather successful. The Fediverse with Mastodon, Pleroma, PeerTube, Funkwhale, Pixelfed, Lemmy and others have made great progress since the introduction of the ActivityPub protocol. XMPP has made great progress with the introduction of advanced clients like Conversations, Movim and Gajim.

The Freedombox hasn’t lived up to it’s expectations though. The development of Freedombox was initiated by Eben and allows to set up a simple private server in your home. The last time I checked even Diaspora was not supported by Freedombox making social networking with it impossible. Luckily other initiatives have taken flight such as Yunohost. They make it easy to self-host a server and install software for blog, chat, social networking, online storage and file sharing. Yunohost and others bring the dream of Eben closer of a peer-to-peer network instead of a client-server network.

Another noteworthy development is Scuttlebutt, a client-based peer-to-peer application for encrypted social network. Just install the app on your PC or phone (Manyverse) and communicate directly with others that installed the app.

Or Briar, a client for messaging that uses Bluetooth, WiFi and the Tor network to communicate. The need to host your own server has been replaced by simply installing an app that doesn’t rely on a central server. Even if the internet is down the information keeps flowing over WiFi and Bluetooth.

Although we still live in the catastrophe that Eben spoke about eleven years ago there are more possibilities to escape and it appears that more and more people are discovering this. With every scandal, every update of the term of service a wave of new users appears on the networks that I mentioned above and that’s something to be grateful about but it should also motivate us to keep fighting for a free (as in freedom) internet.

Categories
open source social

ActivityPub, the secret weapon of the Fediverse

The Fediverse is the name for a number of interconnected (federated) social networks running on free and open software on hundreds or even thousands of servers all over the globe. These servers and networks are owned and maintained by a community of people and, contrary to networks like Facebook or Twitter, are not owned by a single corporation or organisation. Therefore all data and control of that data is distributed over individuals and (mostly) small organisations. That all users of these servers are able to socially interact with each other is because of the protocol behind most of the Fediverse, ActivityPub.

The Fediverse logo
Fediverse logo, 5 nodes in pentagon shape with all diagonals, multicoloured Creative Commons CC0 1.0 Universal Public Domain Dedication. Created by Eukombos

Now the boring stuff (which is actually very exciting). ActivityPub is a social networking protocol that enables the user (that’s you) to create, update and delete content over the network. In other words when you type a message, like a video or share a photo, the protocol ensures that these messages are exchanged properly. But that’s not what makes ActivityPub special. Other social networking protocols do the same thing, right? However ActivityPub is both open source software and it’s decentralized. This means that any developer can use the protocol to create an application for social media be it a micro-blog, a photo sharing app or a video sharing platform. Others (in fact anyone) can download the application, install it on a server and join an existing network (federate). Now this server becomes publicly available and you as a user can create an account and automatically join the Fediverse. Popular applications are Mastodon (microblogging), Pleroma (microblogging), PeerTube (video-streaming) and Pixelfed (image sharing)

Silos in Acatlán, Hidalgo, Mexico. (Photo by Diego Delso, License CC BY-SA, Source: Wikimedia Commons)

ActivityPub prevents that a social media platform becomes a silo (see photo) that can’t communicate with other platforms. Not only can a Mastodon user communicate with users on different servers on Mastodon, perhaps more importantly this user can also communicate e.g with a Friendica (macroblogging) user or a Pleroma user. These are totally different networks that all support ActivityPub. But this is even taken a step further where that same Mastodon user can follow his favorite PeerTube channel or someone that shares great photos on Pixelfed. This is like you were able to follow someone with your Twitter account on YouTube or Instagram. This also means that this Mastodon user can comment or like the PeerTube video from his/her Mastodon user interface. This is the true power of ActivityPub!

I already mentioned a few but there are dozens of applications that support ActivityPub. All have their different purposes and one has more ActivityPub integration than the other. One that I would like to highlight is Funkwhale. Funkwhale is a music streaming application. Like all applications mentioned above anyone can create a Funkwhale server and federate with other Funkwhale servers. The user is able to stream music from a different server, but also create favorites, make a playlist etc. Currently Funkwhale isn’t integrated with the rest of the Fediverse. Now recently the Funkwhale head developer, Agate Berriot, started integration and made it possible to share music on Mastodon (perhaps also in Pleroma and Friendica but I haven’t tried that). This all works seamlessly thanks to ActivityPub.

The Funkwhale example demonstrates the power of ActivityPub. Applications with different purposes can work hand in hand. It avoids that Mastodon, which is by far the largest party in the Fediverse, becomes de-facto a silo. The Fediverse is supposed to be diverse and Funkwhale and other apps are enforcing that. In January 2018, the World Wide Web Consortium (W3C) published the ActivityPub standard as a recommendation. This is an important step for the acceptance of ActivityPub by developers and leads to more applications supporting ActivityPub therefore creating even greater diversity in the Fediverse.

With the support of W3C the future of ActivityPub and the Fediverse looks bright. Chances are that more networks will start supporting ActivityPub and will join the Fediverse. And that both developers and (wannabe) admins adopt ActivityPub either for their app or their own server. I’m convinced that this is the only viable way out of the mess created of Big Tech companies like Facebook or Google.


Further listening about the Federation and ActivityPub: