Een eigen server zorgt voor vrijheid—als de protocollen meewerken

We vinden het doodnormaal dat iedereen zijn of haar eigen mailserver en webserver kan draaien. Of in elk geval wat ruimte kan huren bij een service provider en met medenemen van de gekozen domeinnaam, kan verhuizen naar een andere aanbieder als dat beter uitkomt. Aan de andere kant vinden we het ook doodnormaal dat als je wilt weten wat er op Facebook gebeurt, je naar facebook.com gaat, en voor de trending topics op Twitter naar twitter.com. Je Twitter-account meenemen naar een andere service provider is er niet bij. Waarom is dat eigenlijk?

Technisch of zakelijk

Die reden kan zowel technisch als zakelijk zijn. Een dienst als Facebook of Twitter is simpel genoeg zolang je een dikke, vette databaseserver neer kan zetten waar gewoon alles in gaat. Maar er komt een moment dat één server het niet meer aankan, en dan is het de kunst om de nieuwe berichtjes van die honderden miljoenen gebruikers binnen een paar seconden op de juiste servers te krijgen, waar de volgers ze kunnen lezen.

Zakelijk gezien is het natuurlijk ook reuze interessant om de spil in de informatievoorziening te zijn. Bij email noemen we ongevraagde commerciële mededelingen spam. Bij Twitter noemen we dat een businessmodel. Maar een paar “promoted tweets” hier en daar is natuurlijk wel weer prettiger dan een mailbox vol.

Instant messaging

Voordat we de techno-hippie-toer opgaan, eerst nog een kleine case study in de vorm van instant messaging. Rechtstreeks tegen elkaar typen bestond al eerder, maar in de tweede helft van de jaren ’90 kwamen diensten als ICQ en AOL Instant Messenger (AIM) op. Die houden een lijst met contacten bij en laten de gebruiker zien wie er online en dus beschikbaar is om real-time berichtjes uit te wisselen. ICQ, AIM, Yahoo Messenger, MSN en later Skype zijn/waren allemaal monolitische diensten: als je bij de één zat, kon je niet communiceren met iemand die bij de ander zat. Tussen 1999 en 2004 werd echter een nieuw, open protocol gepubliceerd voor IM: XMPP, het Extensible Messaging and Presence Protocol, ook wel bekend als Jabber.

XMPP maakt het mogelijk voor iedereen om een eigen IM server te draaien, maar toch alle gebruikelijke IM-features te gebruiken: een lijst van contacten bijhouden en zien wie er on- en offline is, en natuurlijk in real-time tekstberichten uitwisselen. Om dit mogelijk te maken ziet een Jabber ID eruit als een email-adres: gebruiker@domein. Dankzij die apestaart weet jouw server met welke andere server hij moet praten om te zien of je contacten online zijn; zonder apestaart zit je altijd aan zo’n dikke, vette database vast, om erachter te komen dat (bijvoorbeeld) jsmit133 en jsmit135 op server A zitten en jsmit134 op server B.

Afluisteren en jurisdictie

Er zijn dus twee manieren om een dienst te laten werken: een gecentraliseerde, en een gedecentraliseerde of federatieve, waar iedereen z’n eigen ding doet maar toch met anderen kan communiceren. Het gecentraliseerde model geeft niet alleen veel controle aan degene die de dienst runt, maar maakt zo’n dienst ook een aantrekkelijk doelwit voor criminelen en overheden.

Het beperkte stof die de PRISM-berichtgeving in de VS doet opwaaien gaat alleen over het feit dat de NSA ook een flinke bijvangst aan informatie van Amerikanen binnenhaalt. De NSA mag echter onbeperkt buitenlanders aftappen. Of als aftappen niet lukt, kan de info in het geheim bij alle bedrijven met een Amerikaanse vestiging gevorderd worden. Dan is het toch wel prettig als je naar een dienst die op een Europese server draait kan uitwijken, waar in elk geval nog enige privacybescherming geldt.

Overigens is het niet zo dat het gebruik van een gedecentraliseerd protocol het automatisch mogelijk maakt om een eigen server te gebruiken. Bijvoorbeeld, Skype gebruikt intern voor sommige gesprekken het open protocol SIP, en Apple voor z’n iMessage-dienst XMPP, maar alleen binnen een “walled garden”. Je kan niet met je SIP-telefoon Skype-gebruikers bellen, of via een Jabber-client met iMessage-gebruikers IM’en. Een decentraal protocol is dus wel een noodzakelijke voorwaarde, maar geen voldoende voorwaarde voor de mogelijkheid een eigen server te draaien voor een dienst.

Open sociale netwerken, federatieve zoekmachines?

Dan is het nu tijd om na te denken over de toekomst. Tot nu toe hadden we concurrerende IM-diensten en elke paar jaar een exodus van het ene sociale netwerk naar het volgende: van Friendster naar Myspace naar Hives naar Facebook… Hierbij zijn gebruikers wereldwijd zijn overgeleverd aan de grillen van degenen die het betreffende bedrijf runnen en de wetten van het land waar de servers toevallig staan zijn. Gelukkig zijn er initiatieven als OpenSocial en identi.ca.

Maar daar hoeven we niet te stoppen. Wat als we zoekmachines federatief zouden kunnen maken? Google heeft een hoop slimme mensen op de loonlijst staan, maar zelfs die collectieve intelligentie valt in het niet bij de “wisdom of the crowd“. Een netwerk van onafhankelijke zoekmachines, ieder ingericht volgens de wensen van de eigenaar, is veel veelzijdiger dan een enkel systeem. Het zal een enorme uitdaging zijn om in zo’n zoeknetwerk alleen de relevante resultaten boven te halen uit een zee van spam, maar iedereen die wel eens naar een camerarecensie gezocht heeft op Google weet dat dit ook met een centraal uitgevoerd geheim algoritme niet zo heel best lukt.

Als we ons best doen dan kan de toekomst bestaan uit een hemel vol kleine wolkjes (clouds) in plaats van één grijze, verstikkende deken.


Iljitsch van Beijnum is consultant en schrijver over computernetwerken. Hij is tevens één van de sprekers op de OHM2013 die van 31 juli t/m 4 augustus wordt georganiseerd en waar zo’n 3000-4000 professionals uit de (wereldwijde) internetsector aan deelnemen.

Over Iljitsch van Beijnum

Iljitsch van Beijnum is consultant en schrijver en schrijft op zijn blog over computernetwerken. Hij schreeft het boek 'BGP' voor O'Reilly en geeft regelmatig BGP- en IPv6-cursussen in samenwerking met NL-ix.