Wie dient die server eigenlijk echt?
door Richard StallmanOp het internet is niet-vrije software niet de enige manier om je computervrijheid te verliezen. Service als Softwarevervanging, of SaaSS, is een andere manier om iemand anders macht te geven over jouw computeractiviteiten.
Waar het om gaat is dat je zeggenschap hebt over een programma dat iemand anders heeft geschreven (als het tenminste vrij is), terwijl je nooit zeggenschap kunt hebben over een dienst die iemand anders beheert. Gebruik dus nooit een dienst als het draaien van een programma volstaat.
SaaSS betekent dat je iemand anders' dienst gebruikt, in plaats van jouw eigen kopie van een programma. Wij hebben de uitdrukking bedacht; artikelen en advertenties gebruiken 'm niet, en ze zullen je niet vertellen dat hun dienst SaaSS is. In plaats daarvan gebruiken ze waarschijnlijk de vage en afleidende term “cloud”, wat een noemer is voor SaaSS en vele andere praktijken, waarvan sommigen gebruikers misbruiken en andere weer prima zijn. Met de uitleg en voorbeelden op deze pagina kan je vaststellen of een dienst SaaSS is.
Achtergrond: hoe niet-vrije software jouw vrijheid wegneemt
Digitale technologie kan je vrijheid geven, maar het kan jouw vrijheid ook wegnemen. De zeggenschap over onze eigen computeractiviteiten werd eerst bedreigd door niet-vrije software: software waar gebruikers geen controle over hebben, omdat de eigenaar (een bedrijf zoals Apple of Microsoft) er controle over heeft. Die eigenaar maakt vaak misbruik van deze onrechtvaardige macht door middel van malafide functies in het programma, zoals spionage, achterdeurtjes, en digitaal beheer van beperkingen (DRM) (door hun eigen propaganda “digitaal beheer van rechten”genoemd).
Onze oplossing voor dit probleem is het ontwikkelen van vrije software en het niet accepteren van niet-vrije software. Vrije software betekent dat jij, als gebruiker, vier essentiële vrijheden hebt. De vrijheid: (0) om het programma uit te voeren zoals jij wilt, (1) om de broncode te bestuderen en te wijzigen, zodat het werkt zoals jij wilt, (2) om exacte kopieën te verspreiden en (3) om kopieën van jouw aangepaste versies te verspreiden. (Zie de definitie van vrije software.)
Met vrije software kunnen wij als gebruikers weer zeggenschap krijgen over onze eigen computeractiviteiten. Er bestaat nog steeds niet-vrije software, maar we kunnen het uitsluiten van ons leven, en velen onder ons hebben dat gedaan. Nu krijgen we echter een andere verleidelijke manier aangeboden om de controle over onze computeractiviteiten kwijt te raken: Service als Softwarevervanging (SaaSS). In het belang van onze vrijheid moeten we ook dat niet accepteren.
Hoe Service als Softwarevervanging je van je vrijheid berooft
Service als Softwarevervanging (SaaSS) betekent dat je een dienst gebruikt, in plaats van jouw eigen kopie van een programma. Concreet betekent het dat iemand een netwerkserver opzet die bepaalde computertaken doet—bijvoorbeeld het bewerken van een foto, het vertalen van tekst naar een andere taal, enz.—en vervolgens gebruikers uitnodigt om die activiteiten via die server te doen. Een gebruiker daarvan stuurt zijn gegevens naar die server, die dan de computeractiviteiten van de gebruiker zelf uitvoert met de verstrekte gegevens. Vervolgens stuurt de server de resultaten terug naar de gebruiker of handelt op eigen houtje namens hem.
Wat betekent dat eigenlijk; die computeractiviteit is van jouw? Het betekent dat er niets anders bij betrokken is. Ter verduidelijking van “niets anders” een gedachte-experiment. Stel je voor dat je de beschikking hebt over de vrije software die je hiervoor nodig hebt, inclusief benodigde data en een computer met voldoende snelheid, capaciteit en functionaliteit. Kun je die computeractiviteit dan compleet uitvoeren zonder dat je nog met andere computers moet communiceren?
Wanneer dat zo is, is de computeractiviteit helemaal van jouw. Uit het oogpunt van vrijheid verdien je het om hier de macht over te hebben. Wanneer je vrije software gebruikt heb je die macht. Het via de service van een ander doen geeft die macht uit handen. We noemen dat SaaSS en wij vinden het niet rechtvaardig.
Als je echter om gegronde redenen die activiteit niet op je eigen computer kan uitvoeren dan is de activiteit niet van jouw. Het probleem met SaaSS is dan niet van toepassing. In het algemeen zijn dit activiteiten waarbij je met anderen moet communiceren.
Deze SaaSS servers ontnemen de controle van de gebruiker nog meer dan bij niet-vrije software. Met niet-vrije software krijgen gebruikers vaak een uitvoerbaar bestand maar niet de broncode. Dat maakt het moeilijk om te bestuderen wat het programma eigenlijk doet, en moeilijk om het te veranderen.
Met SaaSS krijgen gebruikers niet eens een uitvoerbaar bestand dat hun computeractiviteiten doet: het staat op de server van iemand anders, waar de gebruikers het niet kunnen zien of aanraken. Dus is het onmogelijk om vast te stellen wat het eigenlijk doet, en onmogelijk om het te veranderen.
Bovendien leidt SaaSS automatisch tot gevolgen die even erg zijn als de malafide functies van bepaalde niet-vrije software.
Sommige niet-vrije programma's zijn bijvoorbeeld “spyware”: het programma verstuurt gegevens over de computeractiviteiten van de gebruiker. Microsoft Windows verstuurt informatie over de activiteiten van de gebruiker naar Microsoft. Windows Media Player rapporteert waar elke gebruiker naar kijkt of luistert. De Amazon Kindle meldt welke pagina's van welke boeken de gebruiker leest, en wanneer. Angry Birds verstuurt alle bezochte locaties van de gebruiker.
In tegenstelling tot niet-vrije software heeft SaaSS geen achterbakse code nodig om de gegevens van de gebruiker te krijgen. In plaats daarvan moeten gebruikers hun gegevens naar de server versturen om het te kunnen gebruiken. Dit heeft hetzelfde effect als spyware: de serverbeheerder krijgt de gegevens—zonder speciale moeite, dit is hoe SaaSS werkt. Amy Webb, iemand die nooit de bedoeling had om foto's van haar dochter te publiceren, maakte de fout SaaSS (Instagram) te gebruiken om haar foto's te bewerken. Uiteindelijk waren ze daar uitgelekt.
Theoretisch gezien zou homomorfische versleuteling op een dag zover gevorderd kunnen zijn, dat SaaSS-diensten zouden kunnen worden ontworpen om geen gegevens van de gebruiker te kunnen begrijpen. Zulke diensten zouden zo kunnen worden ingesteld dat ze gebruikers niet bespioneren; dat betekent echter niet dat ze dat ook niet zullen doen.
Sommige niet-vrije besturingssystemen hebben een universele achterdeur, waarmee iemand anders op afstand softwareveranderingen kan installeren. Windows heeft bijvoorbeeld een universele achterdeur waarmee Microsoft andere software op de machine kan forceren. Bijna alle mobiele telefoons hebben ook er ook ééntje. Sommige niet-vrije programma's hebben ook een universele achterdeur; het Steam-programma voor GNU/Linux stelt de ontwikkelaar in staat om op afstand gewijzigde versies te installeren.
Met SaaSS kan de serverbeheerder de gebruikte software op de server veranderen. Het is terecht dat hij dit moet kunnen doen; het is immers zijn computer. Het resultaat is echter hetzelfde als het gebruiken van een niet-vrij programma met een universele achterdeur: iemand heeft de macht om stilletjes te kunnen veranderen hoe de gebruiker zijn computeractiviteiten uitvoert.
SaaSS is dus gelijkwaardig aan het gebruiken van niet-vrije software met spyware en een universele achterdeur. Het geeft de serverbeheerder onrechtvaardige macht over de gebruiker, en die macht moeten we niet accepteren.
SaaSS en SaaS
In het begin noemden we deze problematische praktijk “SaaS”, wat staat voor “Software als een Service”. Die term wordt vaak gebruikt voor het opzetten van software op een server in plaats van het aanbieden van een kopie ervan aan gebruikers. We dachten dat het precies die zaken beschrijft waar dit probleem voorkomt.
Daarna kwamen we erachter dat de term SaaS soms wordt gebruikt voor communicatiediensten—activiteiten waarbij deze kwestie niet van toepassing is. De term “Software als een Service” legt daarnaast niet uit waarom deze praktijk slecht is. Dus introduceerden we de term “Service als Softwarevervanging”, die de slechte praktijk verduidelijkt en uitlegt wat er slecht aan is.
Het verschil tussen SaaSS en niet-vrije software
SaaSS en niet-vrije software leiden tot dezelfde schadelijke resultaten, maar het mechanisme erachter is anders. Met niet-vrije software is het mechanisme dat jij een kopie hebt die moeilijk en/of illegaal is om te veranderen. Met SaaSS is het mechanisme dat je de kopie die jouw computeractiviteiten doet, niet eens hebt.
Deze twee kwesties worden vaak verward, en niet alleen per ongeluk. Web-ontwikkelaars gebruiken de term “webapplicatie” als één noemer om de serversoftware samen te nemen met programma's die in je browser (op jouw machine) worden uitgevoerd. Sommige webpagina's installeren niet-triviale, soms zelfs grote JavaScript-programma's in jouw browser zonder je dit te vertellen of te vragen. Wanneer deze JavaScript-programma's niet-vrij zijn is dit net zo onrechtvaardig als andere niet-vrije software. Hier houden we ons echter bezig met de kwestie van het gebruik van de dienst zelf.
Veel aanhangers van vrije software menen dat het probleem van SaaSS kan worden opgelost door het ontwikkelen van vrije software voor servers. In het belang van de serverbeheerder kan hij maar beter vrije software gebruiken; anders hebben die ontwikkelaars/eigenaars macht over de server in plaats van de serverbeheerder zelf. En het helpt de gebruikers van de server al helemaal niet. Maar als de programma's op de server vrij zijn, beschermt dat de gebruikers van de server niet tegen de consequenties van SaaSS. Deze vrije programma's bevrijden de serverbeheerder, maar niet de gebruikers van de server.
Het publiceren van de broncode van serversoftware is gemeenschappelijk belang: hiermee kunnen gebruikers met de nodige kennis soortgelijke servers opzetten, misschien zelfs met gewijzigde software. Wij raden de GNU Affero GPL aan als licentie voor programma's die vaak op servers gebruikt worden.
Geen van deze servers zal jou echter zeggenschap geven over de computeractiviteiten die je ermee doet, behalve als het jouw server is (één waarvan de serversoftware onder jouw controle staat, ongeacht of de machine van jou is). Het is prima om de server van een vriend te gebruiken voor sommige taken, net zoals je vriend misschien de software op jouw computer onderhoudt. Buiten dat zijn al deze servers voor jou SaaSS. SaaSS onderwerpt je altijd aan de macht van de serverbeheerder, en de enige oplossing is: Gebruik geen SaaSS! Gebruik niet de server van iemand anders om jouw eigen computeractiviteiten uit te voeren met gegevens die jij verstrekt.
Deze kwestie toont het verschil aan tussen “open” en “vrij”. Broncode die open source (open bron) is, is bijna altijd vrij. Het idee van een “open software”-dienst, wat betekent dat de serversoftware open source en/of vrij is, slaagt er niet in om het SaaSS-probleem op te lossen.
Diensten zijn wezenlijk verschillend van programma's, en de ethische kwesties die zich aandienen bij diensten zijn fundamenteel anders dan de kwesties die programma's oproepen. Om verwarring te vermijden, beschrijven we een service niet als “vrij” of “niet-vrij.”
Het verschil tussen SaaSS en andere netwerkdiensten
Welke online diensten zijn SaaSS? Het duidelijkste voorbeeld is een vertaaldienst, die bijvoorbeeld Engelse tekst naar Nederlandse tekst vertaalt. Het vertalen van een tekst voor jezelf is een activiteit die helemaal van jou is. Je zou het kunnen doen door een programma te gebruiken op je eigen computer, mits je het juiste programma hebt (de ethische keuze daarbij is een vrij programma). De vertaaldienst vervangt dat programma, dus is het Service als Softwarevervanging, of SaaSS. Het ontzegt jou zeggenschap over je eigen computeractiviteiten, en doet jou dus onrecht aan.
Een ander duidelijk voorbeeld is het gebruik van een dienst als Flickr of Instagram om een foto te bewerken. Het bewerken van foto's is iets dat mensen al decennialang op hun eigen computer doen. Wanneer je dit doet met een server die jij niet beheert, in plaats van met je eigen computer, is dit SaaSS.
Het verwerpen van SaaSS betekent niet dat je weigert elke netwerkserver te gebruiken die iemand anders beheert. De meeste servers zijn geen SaaSS, omdat de taken die hierop worden uitgevoerd een vorm van communicatie zijn, en niet de eigen computeractiviteiten van de gebruiker.
Het oorspronkelijke idee van webservers was niet dat zij jouw activiteiten gingen doen; ze waren bedoeld om informatie te publiceren waar jij toegang tot hebt. Vandaag de dag is dit wat de meeste websites doen, en hier komt het SaaSS-probleem niet bij kijken: iemand anders' gepubliceerde informatie bekijken is niet hetzelfde als je eigen computeractiviteiten uitvoeren. Het gebruiken van een blogwebsite om je eigen werkstukken te publiceren is ook geen SaaSS, evenals het gebruiken van een microblogging-dienst zoals Twitter of StatusNet. (Deze diensten hebben misschien andere problemen, maar dat hangt af van details.) Hetzelfde geldt voor andere communicatie die niet privé is, zoals chatgroepen.
In essentie is het gebruik van een online sociaal netwerk een vorm van communicatie en publicatie, geen SaaSS. Een dienst die vooral bedoeld is voor sociale netwerken kan echter ook andere functies of uitbreidingen hebben die wel SaaSS zijn.
Als een dienst geen SaaSS is, is het niet per definitie prima. Bij diensten komen ook andere ethische kwesties kijken. Facebook verspreidt bijvoorbeeld video's in Flash, wat gebruikers onder druk zet om niet-vrije software te installeren; het vereist ook het uitvoeren van niet-vrije JavaScript-code; en het geeft gebruikers een misleidende indruk van wat privacy inhoudt, terwijl ze hun leven blootleggen aan Facebook. Dit zijn belangrijke dingen, die niks te maken hebben met SaaSS.
Diensten zoals zoekmachines verzamelen gegevens over het hele internet en laten jou het bestuderen. Het bekijken van hun verzameling van gegevens is niet jouw eigen computeractiviteit op de gebruikelijke manier—jij hebt die informatie niet gegeven—dus het gebruiken van een dienst om het internet te doorzoeken is geen SaaSS. Het gebruiken van de server van iemand anders om zoekfunctionaliteit te implementeren voor je eigen website is wel SaaSS.
Online kopen is geen SaaSS, omdat de computeractiviteit niet jouw eigen activiteit is; het wordt gezamenlijk gedaan door jou en de winkel. De echte kwestie bij online winkelen gaat erom of jij de andere partij vertrouwt met jouw geld en andere persoonlijke informatie (te beginnen met je naam).
Opslagplaatsen zoals Savannah en SourceForge zijn niet noodzakelijkerwijs SaaSS, omdat de taak van de opslagplaats is om gegevens te publiceren.
Servers van een gezamenlijk project gebruiken is geen SaaSS omdat de computeractiviteit die jij op die manier doet, niet jouw eigen activiteit is. Als je bijvoorbeeld pagina's op Wikipedia bewerkt, voer je niet je eigen computeractiviteit uit; je werkt samen met de activiteiten van Wikipedia. Wikipedia beheert zijn eigen servers, maar organisaties en individuen ervaren het SaaSS-probleem als zij hun eigen computeractiviteiten uitvoeren op de server van iemand anders.
Sommige websites bieden meerdere diensten aan, en als één geen SaaSS is, is een andere misschien wel SaaSS. De hoofddienst van Facebook is bijvoorbeeld het sociale netwerk, en dat is geen SaaSS; echter, het ondersteunt ook toepassingen van derde partijen, waarvan sommige SaaSS zijn. De hoofddienst van Flickr is het verspreiden van foto's, wat geen SaaSS is, maar het bevat ook functies voor het bewerken van foto's, wat SaaSS is. Op dezelfde manier is het publiceren van een foto op Instagram geen SaaSS, maar deze dienst gebruiken om een foto te veranderen is dat wel.
Google Docs laat ons zien hoe ingewikkeld de evaluatie van één enkele dienst kan worden. Het nodigt mensen uit om een document te bewerken door middel van het uitvoeren van een groot niet-vrij JavaScript-programma, overduidelijk verkeerd. Het biedt echter ook een API aan voor het uploaden en downloaden van documenten in standaardformaten. Een vrije-softwarebewerker kan dit doen met deze API. Dit gebruiksscenario is geen SaaSS, omdat het Google Docs gebruikt als opslagplaats. Als je al jouw gegevens aan een bedrijf laat zien is dit slecht, maar dat is een privacy-kwestie, geen SaaSS; afhankelijk zijn van een dienst om toegang te hebben tot je gegevens is slecht, maar dit is een kwestie van risico, geen SaaSS. Aan de andere kant, het gebruiken van de dienst om documentformaten om te zetten is wel SaaSS, omdat het iets is dat je had kunnen doen met een geschikt programma (uiteraard vrij) op je eigen computer.
Het gebruiken van Google Docs met een vrije tekstverwerker zal natuurlijk niet vaak voorkomen. Meestal gebruiken mensen het door middel van het niet-vrije JavaScript-programma, wat net zo slecht is als ieder ander niet-vrij programma. Dit scenario zou ook SaaSS in zich kunnen hebben; dat hangt af van welk deel van het bewerken door het JavaScript-programma wordt gedaan en welk gedeelte op de server. We weten dat niet, maar dat is ook niet belangrijk omdat SaaSS en niet-vrije software in dezelfde mate onrecht doen aan de gebruiker.
Het publiceren via iemand anders' opslagplaats werpt geen privacykwesties op, maar het publiceren via Google Docs heeft een speciaal probleem: het is onmogelijk om zelfs alleen maar de tekst te bekijken van een Google Docs-document in een browser zonder de niet-vrije JavaScript-code uit te voeren. Dus zou je Google Docs niet moeten gebruiken om iets te publiceren—maar de reden heeft niet te maken met SaaSS.
De IT-industrie ontmoedigt mensen om het onderscheid te maken. Daar is het modewoord “cloud computing” voor bedoeld. Die term is in nevelen gehuld en kan verwijzen naar bijna elk gebruik van het internet. Het omvat SaaSS en vele andere vormen van netwerkgebruik. In elke context heeft een auteur die schrijft over de “cloud” vaak een specifieke betekenis in gedachten, maar legt vaak niet uit dat deze term in andere artikelen een andere betekenis kan hebben. De term zorgt ervoor dat mensen dingen gaan generaliseren die eigenlijk individueel bekeken moeten worden.
Als “cloud computing” een betekenis heeft, is dat in ieder geval niet een manier om te computeren, maar een manier om te denken over computeren: een onverschillige benadering die zegt: “Stel geen vragen. Maak je geen zorgen over wie zeggenschap heeft over jouw computeractiviteiten of wie jouw gegevens bewaart. Controleer vooral niet of er een haak in onze dienst zit voordat je slikt. Vertrouw bedrijven zonder te twijfelen.” Anders gezegd: “Wees een onbenul.” Een nevelige gedachtegang is een obstakel voor logisch nadenken. Laten we de term “cloud” vermijden om duidelijk te kunnen nadenken over computeractiviteiten.
Het verschil tussen het huren van een server en SaaSS
Als je een server huurt (echt of virtueel), waar software op staat onder jouw controle, is dat geen SaaSS. Bij SaaSS beslist iemand anders welke software op de server uitgevoerd wordt en bepaalt daarom hoe je jouw computeractiviteiten uitvoert. In het geval waarbij jij de software op de server installeert, bepaal jij welke activiteiten het voor jou uitvoert. Dus de gehuurde server is feitelijk jouw computer. Voor deze kwestie telt het als de jouwe.
De gegevens op de gehuurde server op afstand zijn minder veilig dan een eigen server thuis, maar dat is een andere kwestie dan SaaSS.
Dit soort computerverhuur noemt men ook wel “IaaS” maar die term past in dezelfde conceptuele structuur die de kwesties die we belangrijk vinden, bagatelliseert.
Omgaan met het SaaSS-probleem
Slechts een klein gedeelte van alle websites doen aan SaaSS; de meeste hebben niks te maken met deze kwestie. Maar wat moeten we doen met websites die hier wel mee van doen hebben?
Voor het simpele geval waarbij je jouw eigen computeractiviteiten uitvoert met gegevens in eigen handen, is de oplossing eenvoudig: gebruik je eigen kopie van een vrij programma. Doe je tekstbewerkingsactiviteiten met jouw kopie van een vrije tekstbewerker zoals GNU Emacs of een vrije tekstverwerker. Doe je fotobewerkingen met jouw kopie van een vrij programma zoals GIMP. Wat als er geen vrij programma beschikbaar is? Een niet-vrij programma of SaaSS zou jouw vrijheid wegnemen, dus moet je die niet gebruiken. Je kan je tijd of geld besteden aan de ontwikkeling van een vrije vervanging.
Wat doen we als we als groep willen samenwerken met andere individuen? Het is misschien moeilijk om dit vandaag de dag te doen zonder gebruik te maken van een server, en jouw groep weet misschien niet hoe je je eigen server kunt gebruiken. Als je de server van iemand anders gebruikt, vertrouw dan op zijn minst niet de server van een bedrijf. Met een contract alleen heb je als consument geen bescherming, behalve als je een gat ontdekt en een aanklacht kan indienen, en het bedrijf schrijft zijn contracten waarschijnlijk op zo'n manier dat het veel soorten misbruik toestaat. De staat kan jouw gegevens opvragen van het bedrijf samen met de gegevens van wie dan ook, zoals Obama heeft gedaan met telefoonbedrijven, waarbij we er ook maar even vanuit gaan dat het bedrijf niet vrijwillig meewerkt, zoals de telefoonbedrijven in de VS die hun klanten illegaal aftapten voor Bush. Als je een server moet gebruiken, gebruik dan een server waarvan je de beheerders vertrouwt op andere dan commerciële gronden.
Op de wat langere termijn kunnen we echter alternatieven voor het gebruiken van servers opzetten. We kunnen bijvoorbeeld een peer-to-peer-programma maken waarmee mensen kunnen samenwerken door hun gegevens versleuteld te delen. De vrije-softwaregemeenschap zou gedecentraliseerde peer-to-peer-vervangingen voor belangrijke “webapplicaties” moeten ontwikkelen. Het zou slim kunnen zijn om die uit te geven onder de GNU Affero GPL, omdat iemand anders deze programma's waarschijnlijk gemakkelijk kan omzetten in server-gebaseerde programma's. Het GNU-project zoekt vrijwilligers om te werken aan zulke vervangingen. We nodigen andere vrije-softwareprojecten ook uit om deze kwestie mee te nemen in hun ontwerp.
In de tussentijd, als een bedrijf jou uitnodigt om zijn server te gebruiken voor jouw eigen computertaken, geef niet toe; gebruik geen SaaSS. Koop of installeer geen “thin clients”, wat simpelweg computers zijn die zo zwak zijn dat ze het echte werk op een server doen, behalve als je deze gaat doen met jouw server. Gebruik een echte computer en houd je gegevens daar. Doe je eigen computeractiviteiten met jouw eigen kopie van een vrij programma, in het belang van jouw vrijheid.
De eerste versie verscheen in de Boston Review.
Zie ook: De bug die niemand mag begrijpen.