Door Anoniem: Door EersteEnigeEchte M.J. - EEEMJ: [...] maar mensen die blind een bug creëren, veelal omdat ze geen tijd hebben of menen te hebben om door henzelf ontworpen en gebouwde software (codes, algoritmes, programmatuur) beter te checken voordat ze die de wereld inslingeren. Je zou het daarom eigenlijk niet een "latente" bug moeten noemen, maar een "door programmeurs gemaakte en in het wild losgelaten" bug. Zo'n bug is geen natuurfenomeen, maar iets dat door mensen wordt gemaakt, en waarvoor mensen verantwoordelijkheid zouden moeten nemen - niet alleen achteraf als het kalf al verdronken is, maar juist al bij het ontwerpen en bouwen van software en applicaties (apps).
Het schijnt dat de software die destijds voor de space shuttle is gemaakt nagenoeg foutloos was. Dat hebben ze bereikt met een manier van werken en tegen kosten die zo hoog waren dat dat voor de meeste dingen bij benadering niet gaat lukken. Als iedereen zo zou werken zouden we fantastisch robuuste software hebben, maar zoveel beperkter qua mogelijkheden dan we nu hebben dat het maar de vraag is of we nu via het internet commentaren op websites hadden kunnen plaatsen.
Het zou uitstekend zijn geweest, en voor verreweg de meeste mensen ook prettiger, als de ontwikkelingen m.b.t. internet wat langzamer waren gegaan, zodat mensen en maatschappelijke instellingen wat meer tijd zouden hebben gekregen om daar op een wat verstandigere manier mee te leren omgaan. Met andere woorden: meer focus op en commitment aan ambachtelijke kwaliteit van software in plaats van op snel financieel gewin, zou de samenleving een hoop ellende bespaard hebben (en nog meer ellende die we als gevolg van de overhaaste start en alle daaruit resulterende maatschappelijke onbalans in de toekomst gaan meemaken).
Ik heb de tijd vóór internet nog meegemaakt, en weet dat het prima mogelijk is om zonder internet goed te leven. Dus als de ontwikkelingen tien of twintig jaar meer hadden gevergd, dan was mijn leven hoogstwaarschijnlijk alleen maar prettiger geweest. Bovendien hadden oligarchen dan minder kansen gekregen om ons van onze grondrechten te beroven, omdat er meer tijd was geweest voor het organiseren van maatschappelijke weerbaarheid.
Digitalisering en computerisering is vooral ook een manier geweest om bepaalde wenselijke sociale ontwikkelingen, die wezen in de richting van toenemende maatschappelijke gelijkheid, af te remmen en te laten ontsporen. Ik verwijs hierbij naar Joseph Weizenbaum, van wie je beslist niet kunt zeggen dat hij de complexiteit van ICT onderschatte. Hij was een wereldberoemde hoogleraar op dat gebied. Wikipedia zegt over hem:
His belief was that the computer, at its most base level, is a fundamentally conservative force and that despite being a technological innovation, it would end up hindering social progress. Weizenbaum used his experience working with Bank of America as justification for his reasoning, saying that the computer allowed banks to deal with an ever-expanding number of checks in play that otherwise would have forced drastic changes to banking organization such as decentralization. As such, although the computer allowed the industry to become more efficient, it prevented a fundamental re-haul of the system.
Bron:
https://en.wikipedia.org/wiki/Joseph_WeizenbaumWat Weizenbaum hier in de kern zegt, is dat de computer (en in het verlengde daarvan: internet) functioneert als een extra machtsinstrument voor een gevestigde elite, die haar macht daarmee bestendigt, en daarmee ook maatschappelijke ongelijkheid en uitbuiting bestendigt.
Het idee dat informatietechnologie en versnelling van technologische ontwikkeling alleen maar heil brengt, is echt uit de lucht gegrepen. Tot nu toe heeft technologische versnelling ons ook veel schade toegebracht en ons bovendien in een soort vicieuze cirkel gebracht waarin "we" (d.w.z. toonaaangevende machthebbers) de schade die technologische ontwikkeling heeft veroorzaakt, in naam proberen te neutraliseren met nog meer "techno-fixes". Lees bijvoorbeeld
Goliath's Curse (Luke Kemp, 2025).
Je gooit het echt veel te gemakzuchtig op gemakzucht van degenen die software maken en een brokkenpilotenmentaliteit. Die komt echt wel voor, maar veel beter dan dat is er ook echt wel. En ik denk dat je heel zwaar onderschat hoe complex software is.
Waar baseer je jouw gedachte op, dat ik de complexiteit van software onderschat? Het is juist vanwege mijn besef van die complexiteit, dat er in mijn ogen een meer respectvolle, realistische omgang met, en meer bescheidenheid ten aanzien van de mogelijkheden en risico's nodig was en is.
ze nemen er wel degelijk verantwoordelijkheid voor — alleen al door het op te lossen.
MJ: Dat is mij te makkelijk gedacht. Hier wordt een misdadige nonchalance (van zowel beleidsmakers die klakkeloos alles willen "digitaliseren" als van de techneuten die klakkeloos doen alsof ze dat zonder ernstige risico's of nadelige gevolgen kunnen uitvoeren) genormaliseerd.
Alleen is die misdadige nonchalance en wat je verder zegt een
aanname die je doet over hoe het wel zal gaan. Ik ken Cloudflare ook niet van binnen, voor de duidelijkheid, maar ik denk dat ik genoeg van het vakgebied snap om veilig te kunnen stellen dat als het er toeging zoals jij typeert dit soort storingen schering een inslag waren bij ze, zo frequent dat geen hond hun diensten zou gebruiken. Ik heb niet de indruk dat ze zo krakkemikkig zijn.
In het land der blinden is eenoog koning. Jij vind dat goed genoeg. Ik zie hier op Security.nl elke week één of meer ernstige datalekken, hacks en systeemfouten in het nieuws komen, met grote aantallen slachtoffers. Ik vind dat niet goed genoeg.
MJ: Dat klopt, en dat is een reden waarom men bewust na moet gaan denken over de mate van complexiteit die men wil ontwerpen, bouwen en met elkaar verbinden, juist ook als het gaat om software.
Op zich heb ik ook regelmatig dat soort gedachten, maar dit incident triggerde dat nou juist niet bij me.
Dat heeft misschien te maken met de lagere eisen die jij zou willen stellen aan software.
MJ: Een kennis van mij was scheepsbouwingenieur. In grote schepen ontstaan enorme trek- en andere krachten. Die moesten heel precies berekend worden, anders gebeurden er op zee, in de haven (bij het laden en lossen) of zelfs al op de werf fatale rampen. Die mentaliteit dat het goed moet zijn, die ontbreekt bij 99+% van de huidige software-ontwerpers. Het is alsof ze niet beseffen hoeveel schade hun producten kunnen aanrichten.
Ik vermoed dat men zich bij dingen als scheepsbouw op inmiddels eeuwen aan ervaring baseert, en dat men in die eeuwen heel wat blunders heeft begaan om van te leren.
Dit ging om moderne, heel grote, metalen vracht- en andere schepen, in de tijd rond de Tweede Wereldoorlog. Met andere woorden, in een tijd dat de scheepsbouwtechniek een snelle ontwikkeling doormaakte.
ICT is een stuk nieuwer en zit, zelfs nu nog, nog veel meer in een pioniersfase waarin dat soort ervaring wordt opgebouwd. Verder is een wezenlijk verschil dat de romp van een schip niet ergens een stalen balk heeft die maar in een van de 100 of een van de 1000 reizen ergens mee belast wordt.
Nu denk ik dat jij de complexiteit van de door mij genoemde scheepsbouw onderschat. Een ongeluk kon uit een extreem klein hoekje komen.
De belasting is, zoals je aangeeft, weliswaar heel dynamisch, maar het is wel de dynamische belasting van een statische structuur. Software is een dynamische structuur, een algoritme beschrijft een proces, dat is het hele punt ervan. Zo'n dynamische structuur is vergeven van de "balken" die maar heel incidenteel belast worden, en zelfs een hoop waar jaren overheen kunnen gaan voor er eens een belasting optreedt. Dat is een wezenlijk andere situatie dan zo'n schip.
Als je denkt dat scheepsbouw per definitie minder complex is dan software, dan kan ik je alleen maar een goede nachtrust toewensen. Software kan heel simpel zijn (veel simpeler dan scheepsbouw) maar kan ook steeds complexer worden gemaakt, in principe oneindig complex. Mijn punt is nu juist dat er bewust gekozen moet worden om geen al te complexe software te maken als dit er naar alle waarschijnlijkheid toe leidt dat serieuze risico's over het hoofd worden gezien. De reële situatie is nu dat verreweg de meeste softwaremakers zich niet al te druk maken om die risico's, omdat er een cultuur is ontstaan van snel winst maken waarbij "collateral damage" normaal wordt gevonden. Het is een cultuur van ambitie èn onverschilligheid, met als devies: "Waar gehakt wordt, vallen spaanders". En: "opdrachtgever (bijv. politicus) vraagt en betaalt, dus wij draaien." En zoals dat gaat met dergelijke culturen, zijn het de meest kwetsbare mensen (en de natuur) die daar het eerst en het meest ernstig slachtoffer van worden.
MJ: Als ik na jaren ontdek dat er in een tekst die ik ooit geschreven heb, onvolkomenheden zitten, dan ben ik hypocriet en leugenachtig als ik bij het opstellen van die tekst gemakzuchtig en slordig ben geweest en dan achteraf pretendeer dat dat onvermijdelijk was. Bij het opstellen van juridische teksten let ik bij het schrijven op dat ik onschuldige mensen daarmee geen schade berokken. Als dat toch zou gebeuren, dan mag je mij daarop aanspreken en dan zal ik mijn fout erkennen - als fout, dus niet als iets onvermijdelijks wat ik alleen even achteraf hoef "op te lossen" voor zover nog mogelijk.
Waarom neem je aan dat wat je nu bij Cloudflare ziet iets anders is? Waar haal je vandaan dat Cloudflare dit als onvermijdelijk heeft gepresenteerd? Zit dat in je interpretatie van het woord "latent"? Op die interpretatie valt wel wat af te dingen, zoals ik al aangaf.
Als je een software systeem maakt dat je wereldwijd uitrolt, zoals Cloudflare, dan hoort daar een navenant verantwoordelijkheidsgevoel bij. Inclusief het inbouwen van mechanismen waardoor het systeem niet overal tegelijk uitvalt. Als Hans Hobbyist in zijn garage een softwaresysteem ontwerpt dat hij alleen zelf gebruikt en dat drie keer per dag crasht, dan zul je mij niet horen klagen over gemakzuchtigheid of slordigheid. Dan zeg ik: laat die man lekker knutselen, die doet geen vlieg kwaad!
Trouwens, elke fout op zichzelf hoeft niet op te treden, maar het lukt niemand om fouten volledig te vermijden.
Niemand zegt dat het mogelijk is om fouten volledig te vermijden. Dit is van jouw kant een
strawman-argument, en daarmee een afleidingsmanoeuvre.
Over juridische teksten gesproken: als ik in wetten rondneus bekruipt me regelmatig het gevoel dat juristen heel wat van computerprogrammeurs zouden kunnen leren op het gebied van structuur aanbrengen en aanpassingen aanbrengen zonder dat de zaak daar onoverzichtelijk van wordt.
Ik denk dat de gemiddelde jurist ongeveer even slordig en gemakzuchtig is in zijn/haar denken en "schrijven" als de gemiddelde computerprogrammeur, maar ik kan dat niet met cijfers onderbouwen. Jij wel?
Het is inderdaad best droevig wat er soms in wetsteksten kan worden aangetroffen. Vaak is er sprake van vaagtaal die mede het gevolg is van politieke en andere compromissen. Ook rechterlijke uitspraken zijn soms om te huilen, er lijken soms een soort standaardformules te worden toegepast om "kosmetisch" toe te redeneren naar bepaalde uitkomsten.
Maar wat heeft dat te maken met het onderwerp waar we het nu over hebben? We hebben het toch over Cloudflare? Tenzij het van jouw kant een poging is om mij in een bepaalde hoek te drukken (subtiel indirect op de man te spelen) omdat ik me met juridische ondewerpen bezig houd... Ik heb nooit beweerd dat de kwaliteit van juridische teksten hoger zou zijn dan de kwaliteit van computerprogramma's, of vice versa.
M.J.