EP27: Stackoverflow

Toen ik net begon met professioneel programmeren, we hebben het dan over de tweede helft van de jaren negentig, was het van het allergrootste belang de programmacode geheim te houden. Uitwerkingen van problemen, uitgedachte algoritmes, architecturen en datamodellen,… alles moest binnen de muren van het bedrijf blijven – vaak was die geheimhouding zelfs een clausule in de arbeidsovereenkomst.

Inmiddels zijn we twintig jaar verder en is de situatie radicaal veranderd. Natuurlijk, bedrijfskritische complexe algoritmen vallen nog steeds onder de geheimhoudingsplicht, maar voor al het andere werk is delen het sleutelwoord. Een site als stackoverflow.com is bijvoorbeeld een belangrijk platform waarop kennis wordt gedeeld: de hele wereld kan hier vragen met betrekking tot programmeren vragen, en de hele wereld kan hierop weer antwoord geven. Het delen gaat echter verder dan alleen maar vraag-en-antwoord. Hele frameworks als jQuery, bootstrap of Angularjs worden gratis beschikbaar gesteld (bijvoorbeeld onder de zogenaamde MIT license); niet alleen het gebruik, maar ook de broncode zelf, zodat iedereen die code naar zijn of haar wensen kan aanpassen of aanvullen – en die aangepaste versie eventueel weer terug kan geven aan de gemeenschap.

stackoverflowopen source-gedachte
Natuurlijk bestaat de open source-gedachte al langer (langer zelfs dan de computer of internet), maar er zijn twee fundamentele verschillen met de situatie nu en die van twee, drie decennia geleden. Allereerst zijn het heden ten dage juist niet de volledige projecten  die beschikbaar gesteld worden, maar de mogelijkheden en kennis die noodzakelijk zijn om projecten mogelijk te maken. Eerder ging het om volledige softwarepakketten of operating systems, nu gaat het om frameworks, IDE’s, algoritmen…

Een tweede belangrijk verschil is dat heden ten dage nagenoeg elke ontwikkelaar actief is op sites als stackoverflow of github of vergelijkbare sites. Het delen van kennis en ervaring is een dusdanig belangrijke competentie van programmeurs dat er tijdens examens informatica bijna altijd gevraagd wordt welk onderdeel van dit project teruggegeven gaat worden aan de community (en die vraag wordt meestal gesteld door de extern gecommitteerde). Vroeger was het maar een relatief kleine groep programmeurs die via (vaak nog gemodereerde) newsgroups met elkaar in contact bleef; nu is het de hele wereld die een zelf-modererende omgeving bevolkt.

what’s in it for them?
Waarom werkt dit zo? Wat is de toegevoegde waarde voor de gemiddelde programmeur hij zijn moeizaam opgedane kennis en jarenlange ervaring zomaar met de wereld deelt ? zonder daar geld voor terug te krijgen? Een mogelijk antwoord op deze vraag is: de credits. Wanneer een vragensteller jouw antwoord het beste vindt, krijg je hier credits voor; en credits kun je weer omzetten in medailles (badges). Deze kun je weliswaar niet omzetten in  geld, maar omdat het een wereldwijd en veel gebruikt systeem is, zeggen die medailles wel iets over je expertise en hulpvaardigheid. Iemand die 50.000 gouden medailles heeft omdat hij veel en vaak geaccepteerde antwoorden op vragen over C# geeft, weet echt wel iets van C#. Dit model is zo sterk dat ik denk dat het niet lang meer duurt voordat een dergelijke reputatie bij een sollicitatiegesprek belangrijker is dan een afgeronde HBO opleiding informatica: die opleiding wordt alleen maar geaccrediteerd door Hobéon of de NVAO, terwijl stackoverflow wordt geaccrediteerd door de hele wereld.

Maar er is meer. Deze manier van werken past ook bij een viertal aspecten van de moderne maatschappij die ik al in verschillende blogs heb belicht. Allereerst het externaliseren van kennis (zie deze blog). De hoeveelheid programmeertalen, -technieken en -methodes is momenteel zò groot en zò complex dat het een drama zou zijn om deze allemaal uit het hoofd te kennen. Om goed te zijn in bijvoorbeeld Java is het nog steeds noodzakelijk een flinke dosis basiskennis van de programmeertaal te hebben, maar bij verschillende projecten kun je te maken krijgen met JPA, EJB, Struts, Spring, …: het is gewoon te veel om allemaal te kennen en daarom wordt deze kennis gedelegeerd aan de gemeenschap.

Een tweede aspect dat hier duidelijk naar voren komt is de gedachte dat het in de moderne samenleving niet meer gaat om dingen hebben, maar om een dienst of een beleving te verkopen (zie de blog over de experience economy). Vroeger waren het de producten die het geld opleverden; tegenwoordig gaat het om diensten of juist om het creëren van een beleving. Omdat het niet meer om de producten gaat bij het verdienen van geld, is het taboe op het delen van kennis en algoritmen verdwenen. Het omgekeerde is zelfs het geval: het delen van kennis is juist de service of de beleving die gecreëerd wordt. Hoe meer ik mijn kennis deel, hoe beter ik mijzelf voel en hoe meer mijn expertise waard wordt.

Het verschijnsel van kennisdeling en het daarmee gepaard gaande vervagen van het onderscheid tussen consument en producent is al gepreludeerd door Walter Benjamin in zijn Kunstwerkopstel (ik beschrijft dat hier). Er is geen sprake meer van een klein groepje mensen dat de waarheid in pacht heeft en dat deelt met een grote groep consumenten: op stackoverflow is iedereen zowel producent als consument van kennis. Ik leer veel over objective-c of angularjs, en ik vertel veel over Java en jQuery. In die zin zijn we allemaal prosumers van kennis.

Tenslotte past het niet meer bij deze tijd om zelf heel veel van iets te weten en dat voor jezelf houden. Allessandro Baricco beschrijft dat de moderne mens (door hem aangeduid als barbaren – barbari) zich in volle snelheid voortbeweegt over de wereld en daarbij van beleving naar beleving (esperienze) gaat (zie deze blog). Programmeurs die aan dit stereotiep voldoen hebben geen tijd en geen behoefte om zich volledig te verdiepen in één enkele techniek of één enkele methode. Zij zijn geïnteresseerd in heel specifieke antwoorden op heel specifieke vragen zodat ze hun snelheid, die voor hen essentieel is, kunnen handhaven.

Dus…
Stackoverflow is meer dan alleen maar een site voor kennisdeling. Het is een voorbeeld van een aantal tendensen die de cultuur en samenleving van de toekomst kenmerken.

Comments (1)

  1. Pingback: EP33: Informatica, Genesis en Joshua | Over kunst, filosofie en techniek

Leave a comment

Your email address will not be published. Required fields are marked *