Door Toje Fos: Je kan de beste kluis hebben die er voor geld te koop is maar als je 'm open laat staan... Kortom, geef het besturingssysteem niet de schuld als het door knoeiers wordt gebruikt om goedkoop iets op de markt te zetten. Die lui nemen soms niet eens de moeite om standaard services uit te schakelen of default passwords te wijzigen.
Ik kan niet zeggen dat ik het allemaal fanatiek gevolgd heb, maar ik ben wel in de loop van inmiddels decennia de nodige berichten tegengekomen die steeds suggereren dat er binnen Microsoft in wezen twee kampen zijn: de technische en de commerciële mensen. Iets dat ik overigens bij elk commercieel tech-bedrijf zou verwachten.
Het ligt voor de hand dat de technische mensen een OS en andere software goed in elkaar willen zetten. Die willen een modulair ontwerp, met goede scheiding van functies, goed gedefinieerde interfaces ertussen, en een nette implementatie ervan. De commerciële kant van het bedrijf wil markten veroveren en klanten binden. Die hebben er juist baat bij als dingen door elkaar lopen en vol zitten met afhankelijkheden van het soort dat je bij goed technisch ontwerp juist zou mijden als de pest. Want het zijn precies dat soort afhankelijkheden en functievermenging die maken dat als een klant het ene product in huis heeft gehaald die het eigenlijk pas goed tot zijn recht kan laten komen als ook andere producten aanschaft worden. En nette, goed gedefinieerde interfaces openbaar maken zou tot gevolg hebben dat dat net zo goed een product van een concurrent kan zijn. Daar zijn dus tegengestelde krachten aan het werk.
Er zijn meer dingen die door commerciële belangen in de hand worden gewerkt. Het snel ontwikkelen van nieuwe features bijvoorbeeld, om de concurrentie voor te zijn, staat op gespannen voet met de rust en terughoudendheid die je nodig hebt om dingen grondig en degelijk te doen. En nieuwe features kunnen er om die reden door worden gedrukt terwijl ze conflicteren met het basisontwerp van de software (iets wat ik bij menige andere commerciële softwareleverancier heb gezien). Met wat minder commerciële druk was hetzelfde doel misschien later bereikt op een manier die niet conflicteert met het basisontwerp, trager maar uiteindelijk wel degelijker dus.
Open source heeft die commerciële druk (vaak) niet, maar dat wil niet zeggen dat daar alles perfect gaat. Er zijn voorbeelden van belangrijke projecten waar dingen door gebrek aan middelen niet goed gingen, bijvoorbeeld, of uiterst traag tot stand kwamen (ik geloof dat ik bij Gimp meer dan 10 jaar op ondersteuning van meer dan 8 bit per kleurkanaal heb gewacht voor het eindelijk beschikbaar was, en dat is wel degelijk essentiëel voor dat soort software). En onnodige vernieuwingsdrang hoeft niet alleen een commerciële achtergrond te hebben, ontwikkelaars willen vaak fancy dingen doen omdat dat ze boeit (ik ben er zelf een en heb dat bij mezelf en bij veel collega's gezien; juist de briljantere ontwikkelaars kunnen daar veel last van hebben), en ook dat kan verandering om de verandering opleveren die echt niet per se goed uitpakt.
Volgens mij pakt geen enkel model perfect uit. Mensen zijn nou eenmaal niet perfect.
Het ligt voor de hand dat Microsoft, door die twee krachten die tegen elkaar in werken, een legacy heeft opgebouwd van zowel dingen die in de basis degelijk in elkaar zitten als, vanuit technisch oogpunt gezien, miskleunen zijn die nu om compatibiliteitsredenen gehandhaafd worden. Dat kan betekenen dat het zowel waar is dat je spaghetticode ziet, of iets dat daar qua werking kenmerken van heeft, als dat er een degelijke, goed modulair ontworpen basis onder zit.
Het is inmiddels een flinke tijd geleden dat ik in dergelijke omgevingen werkte, maar negatieve meningen over Microsoft en de kwaliteit van hun software waren er toen ook al volop. Ik heb toen datacentra met Windows-servers meegemaakt die niet aan dat beeld voldeden maar die juist indrukwekkend stabiel waren, en netwerken met Windows-werkstations die dat ook waren (die constatering doe ik terwijl ik zelf een IBM-mainframe-achtergrond heb, een architectuur die qua stabiliteit een indrukwekkende reputatie heeft). Daar zaten keien van Windows-IT-architecten en -beheerders achter, zeer kundige mensen die ik daarom hoog had zitten, maar volgens mij krijgen ook toppers dat niet voor elkaar als de basis werkelijk de gammele spaghetticode is die jij meent te zien (het vergt mogelijk wel toppers om dingen die niet goed zitten te omzeilen zodat die degelijke basis ook werkelijk tot zijn recht kan komen). Dat zie ik als indicatie dat het beeld dat ik ervan heb wel eens beter kan kloppen met de werkelijkheid dan het jouwe.