ActivityPub en Federated Services

ActivityPub en Federated Services

In het lijstje van nieuwe ontwikkelingen die gaande zijn begin 2018 zijn ActivityPub en Federated Services zeker de aandacht/moeite waard om verder te bestuderen. Jij hoeft dit niet te doen, dat doen wij natuurlijk. In dit artikel leggen we uit wat ActivityPub en Federated Services zijn en waarom het nu in opkomst is.

Wat is ActivityPub?

ActivityPub is een gedecentraliseerd social netwerk protocol. Bij ActivityPub kun je denken aan bijvoorbeeld e-mail. Je hebt verschillende providers die het aanbieden waar sommige gratis zijn en andere betaald. Elke provider heeft zijn eigen features en interfaces, maar één ding hebben ze gelijk en dat is hoe e-mail werkt. Je kunt bijvoorbeeld een e-mail van Gmail versturen naar iemand met een Outlook- of iCloud-account.

Waar het op neer komt is dat elke service of aanbieder zijn eigen implementatie kan schrijven zolang de standaard van ActivityPub maar aangehouden wordt.

Wat is een "federated" service?

Een federated service betekent dat meerdere systemen data met elkaar delen en samenwerken. Het internet zelf zou je kunnen zien als een voorbeeld, waarbij data bereikbaar is over meerdere computers waarvan er meerdere eigenaren zijn. 

Zolang er duidelijke afspraken zijn over hoe er gecommuniceerd moet worden (zoals met ActivityPub in dit geval) kan er grotendeels moeiteloos een netwerk van computers en servers samenwerken om bijvoorbeeld een service te leveren zonder dat een groot bedrijf erachter staat die het sponsort.

ActivityPub Inbox-Outbox

Het basisprincipe van ActivityPub

Populariteit 

Sinds begin 2018 is ActivityPub officieel een W3C Recommendation. W3C is een collectie van ideeën om het web te standaardiseren en op lange termijn stabiel te houden.

ActivityPub heeft al veel populariteit in de open source community waardoor er nu al een aantal grote projecten tot leven is geroepen. Een voorbeeld is Mastodon. Mastodon is functioneel hetzelfde als Twitter, alleen het verschil is dat het open source is en jij jouw eigen server kan beheren. Daarnaast maakt jouw server verbinding met andere servers over het hele internet zolang er een connectie is tussen gebruikers van jouw server en die van iemand anders.

Hetzelfde geld voor PeerTube, een alternatief voor YouTube dat op ActivityPub werkt. Jij zit bijvoorbeeld op een instance van iemand in Duitsland en uploadt een video. Iemand op een totaal andere instance, en soms ook andere software, kan jouw video in zijn zoekresultaten zien en zelfs de video bekijken vanaf daar.

Een voordeel van het "decentraliseren" van software is dat het goedkoper en stabieler kan zijn. Het kan eveneens veiliger zijn door jouw eigen instance te draaien van bijvoorbeeld Mastodon waardoor alle informatie in jouw beheer blijft. Maar let wel: alle publieke data kan wel opgehaald en opgeslagen worden door andere instances.

Decentralisation is steeds populairder aan het worden, denk aan Bitcoin. Ik denk dat wij in de nabije toekomst nog veel nieuwe technologieën gaan zien met decentralisation als basis.