Problemet med webapplikationer och fri mjukvara (igen)

Det här låter som ett gammalt rant, men jag ska försöka hålla mig borta från att upprepa mig mer än nödvändigt. Mycket av min gamla kritik mot webapplikationer är ändå underminerad: när man började bygga dem så var det förvisso som att skriva program i worddokument, men i och med HTML5 och CSS3 har webstandarderna rört sig långt bort från dokumentstandarden och snarare blivit någon sorts gränssnittsstandard.

Detta har förstås både bra och dåliga konsekvenser, men alldeles oavsett så kan jag inte längre driva argumentet att webapplikationer är något i grunden tekniskt efterblivet längre. Åtminstone om man inte räknar med argumentet att det är dumt att återinföra tunna klienter (vilket förstås fortfarande håller). Många webapplikationer håller dock på att lösa även detta problem med avancerade funktioner för mellanlagring och synkronisering av data mot servrarna.

Dessutom finns det en juridisk-teknisk lösning för ofriheten i applikationerna i form av framför allt AGPL, som effektivt täpper till nätverkshålet. Om vi bortser från att ingen av de mer välanvända webapplikationerna följer AGPL så får vi ändå anse att problemet är hyfsat löst i teorin, om än inte i praktiken.

Men det kvarstår ett problem som är långt mycket viktigare. Syftet med fri programvara är ju att ge dataanvändaren kontroll över sitt datande, dels för att förhindra asociala situationer (typ att man har en hög kod som man inte får dela med sig av), dels för att ge användaren en ärlig chans att förbättra sitt datande.

I och med AGPL-lösningen hamnar kontrollfrågan och framför allt den sociala aspekten på skam. För är det verkligen koden vi vill ha? Är det verkligen i Googles kod som dess värde ligger? Svaret är att nej, det är det inte. Vi använder inte Gmail för att det är så jävla bra (eller ok, webklienten är ju typ den bästa web-epostklienten någonsin), utan för att det finns. Koden för Gmail skulle vara i princip värdelös för oss som användare! Det är nätverkseffekterna, olika synergieffekter och skalfördelarna vi är ute efter, snarare än just den tekniska lösningen.

För att exemplifiera problematiken med övergången till »molnet« kan vi tänka oss ett företag som gjort en klon av Diaspora och nu kör den under namnet Z-ION. Låt oss säga att vi har alla våra vänner och foton på Z-ION, samt att våra föreningar är organiserade där. Låt oss anta att en dag kundgör Z-ION att de ska införa någon vansinnig policy, typ att de avsätter en liten del av sidan specifikt för muslimer, där de bara under sträng övervakning får kommunicera med icke-muslimer. Dessutom raderas eller låses muslimernas konton slumpmässigt med jämna mellanrum, samt även konton tillhörande personer som kommunicerar med dem.

Z-ION besvarar kritiken mot denna helt vansinniga policy med att det är de som kör servrarna och de får göra vad de vill med dem. Dessutom påpekar de att om någon inte gillar hur de kör sin server så är de fria att köra en egen.

Sagt och gjort: en utbrytarfraktion bildar en ny server. Ett första problem dyker upp: AGPL (såvitt jag vet) ger inte användarna rätten att hämta ut sin data. Men ok, låt oss anta att detta har implementerats som ett tillägg. Nästa problem: AGPL kräver inte heller att det ens formellt ska finnas möjligheter att nätverka med servern från andra servrar.

Denna fråga är mycket snårigare än frågan om rätten till datan. Tjänsten tillhandahåller ju på sätt och vis alltid datan på ett människoläsbart sätt, så ett krav på att den även ska finnas på ett datorläsbart sätt är inte på något sätt orimligt. Att däremot kräva att serveradministratörerna inte bara ska implementera funktionen att nätverka med andra (konkurrerande) servrar, utan också faktiskt tillåta nätverkande med dessa är ett mycket tveksammare krav som bryter med allt vad liberalt rättighetstänkande är. Och utan server-till-server-kommunikation är vår Z-ION-klon mer eller mindre värdelös, eftersom värdet i ett socialt nätverk främst ligger i just nätverket.

Här kan vi dock tänka oss en lösning som går ut på att dessa krav om nätverksmöjligheter ställs från någon sorts samhällig myndighet på alla tjänster som överstiger en viss nätverksnivå och som börjat bli rena samhällsinstitutioner. Denna myndighet skulle kunna ha till uppgift att kontinuerligt granska hur nätföretag hanterar sina nätverkseffekter och förhindra monopolbildning.

Men även om vi både får möjligheten att nätverka och möjligheten att fly med vår data så finns det ett viktigt problem av närmast ontologisk karaktär. Kort uttryckt: är vår kopia av Z-ION verkligen samma eller ens likadan som originalet, eller ingår det något i detta dator-data-människa-assemblage som inte är kod, och som i värsta fall inte heller är kopierbart?

För att omformulera åter igen: förhåller sig verkligen användaren till en webapplikation på samma sätt som till en offlineapplikation? I vissa fall skulle jag säga att det är så, men i långt ifrån alla och verkligen inte med sociala nätverk.

Värdet i ett enskilt offlineprogram är för användaren att han eller hon kan använda det. Värdet i ett nätverk eller en webapplikation är dels att den allitd är tillgängligt, d.v.s. att någon betalar server- och nätverksavgifter samt har ett helt team av ingenjörer som kontinuerligt löser drift- och säkerhetsproblem, dels att det redan finns andra människor där att nätverka med, något jag bittert erfar varje gång jag kommunicerar med min enda vän på Diaspora.

Sociala nätverk är (som de är konstruerade nu) med nödvändighet stora. Facebook och Google har inte blivit gigantiska kolosser av en slump eller för att de är så bra, utan av en teknisk nödvändighet: när snöbollen väl börjat rulla kan man inte stoppa den, och att stara en ny går helt enkelt inte.

Notera att min determinism i det ovanstående påståendet inte är hård, utan mjuk. Den nuvarande tekniska utvecklingen har lett fram till denna situation. Det innebär inte att den inte kan leda bort från den, även om det nu finns starka krafter för att behålla ordningen, av dem inte minst latheten och slentrianen.

Min gissning är att DNS-systemet och WWWs tekniska utformning till stor del är ansvariga för att det har blivit som det blivit. För att snabbt hitta en dator på internet behöver man i princip ha ett domännamn. För att ha ett domännamn behöver man i princip ha en fast server stående i ett serverrum, speciellt som ändringar i DNS propagerar sig över nätet skrämmande långsamt.

Från detta kommer behovet av- och möjligheten till- en fast punkt i nätet, och ett nav materialiserar sig spontant som ett svar på detta behov – Google. Det är detta faktum som molnfetischismen döljer – min data är inte i ett abstrakt moln av olika nätverkade datorer, de är på Googles servrar. Min data är inte mer i ett »moln« än mina värdepapper på banken är det.

Så med andra ord: det enda sättet att göra slut på nätfascismen är att göra slut på klient-servertänkandet och därmed hela webben och DNS som de ser ut idag. Naturligtvis är det inte en övergång som kan ske direkt, och med största sannolikhet kommer den aldrig att avslutas.

Men även i och med det mer jämlika decentraliserade internätet kommer vi att förlora en viktig del av vår frihet, helt enkelt därför att vårt datande nu görs mycket mer socialt än tidigare. Kanske måste vi tänka om hela konceptet med fri mjukvara, och då helst på ett sätt som lutar sig mindre mot ett socialliberalt rättighetstänkande.

För vi måste komma ihåg att koden har alltid varit ett medel, inte ett mål. Det är framför allt här jag tror att Fri programvarurörelsen och Open Source-rörelsen skiljer sig, i det att den senare fokuserat just de tekniska aspekterna över de sociala och ideologiska. Tyvärr har den senares frammarsch på den förras bekostnad lett till att diskussionen om målet förs alltför sällan. Och följdaktligen har vi heller ingen lösning på webapplikationsproblemet.