Developers zijn goed in klagen. Bijvoorbeeld over Java en de kwaliteit van de vernieuwde JSR’s. Ook Martijn Verburg, CEO van jClarity, actief betrokken bij de London Java Community (LJC) en lid van de Java Community Process (JCP) Executive Committee (EC), klaagde daar ook over. Hij klaagde als hij een biertje dronk met collega’s, maar ook in zijn weblogs en lezingen uitte hij graag zijn ongenoegen.
Inmiddels klaagt Verburg minder, maar is hij overgaan tot actie. Eén van de gevolgen daarvan is het project Adopt a JSR. ‘In dat project vragen we in feite aan developers om met de nieuwe JSR’s te werken, ze te testen en feedback te geven. Wie wil kan ook zelf een JSR ‘adopteren’ om die te verbeteren.’
Martijn Verburg is in Nederland geboren en opgegroeid in Nieuw-Zeeland. Tegenwoordig woont hij in Londen, waar hij werkt bij jClarity, een Java/JVM/Cloud performence tooling start-up. Daar is hij onlangs CEO geworden. ‘Dit zou daarom één van mijn laatste lezingen kunnen zijn’, grapte hij maandagavond 14 oktober, toen hij in Stadion Galgenwaard, tijdens een door JPoint georganiseerde meeting, twee sessies verzorgde voor zo’n 70 Java-developers. ‘Ik programmeer nu niet meer, maar ben een nette zakenman met een jasje en een stropdas.’ Die lezing hield hij nadat hij een dag met medewerkers van JPoint had gewerkt om OpenJDK te builden.
Verburg is niet alleen actief binnen jClarity, maar is ook mede-aanvoerder van de Londense Java gebruikersgroep LJC, die tegenwoordig lid is van Java Community Process (JCP) Executive Committee (EC). Daaruit kwam ook Adopt a JSR voort.
Klagen
Om te begrijpen waarom het Adopt a JSR-project is ontstaan, moeten we zo’n vijf jaar terug in de tijd. ‘In die klaagde ik met mijn collega’s regelmatig over de Java EE’, vertelt Verburg. Al die grote bedrijven en academici leken niet te begrijpen waar de ‘gewone developer’ tegenaan liep. We klaagden in de pub, maar ook op weblogs en tijdens lezingen. De Executive Commitee (EC), een commissie die de ontwikkeling van Java binnen de Java Community Process (JPC) stuurt, kwam toen bij ons en vroegen ons waarom we niet mee deden. Wat hun betreft was iedereen welkom om mee te denken. ‘In feite zeiden ze: stop met klagen, doe er wat aan!’
De London Java Community (LJC) besloot daarom mee te doen aan de verkiezingen voor de JPC EC, waar tot dan toe alleen grote partijen als Oracle en Google bij betrokken waren. ‘Eigenlijk was het min of meer voor de grap. Opeens werden we echt gekozen.’ En dus doet de LJC mee in JPC EC. ‘We zijn er vooral voor de technische input.’
Participeren
Eén van de resultaten van die input is de start van Adopt a JSR, met als doel de ‘gewone’ developer een stem te geven en mee te laten werken. ‘We vragen developers te werken met JSR’s, ze te testen en feedback erop te geven.’ Meedoen aan Adopt a JSR kan dan ook op verschillende niveaus. Je kunt meehelpen om JSR’s en eventuele veranderingen te testen, zelf testen met code om te bewijzen dat de JSR’s echt werken zoals ze moeten werken of de uitdaging aangaan om zelf code te schrijven en daadwerkelijk mee te werken aan de ontwikkeling.
Het is bij Adopt a JSR mogelijk om te participeren in projecten die al lopen. Je kunt echter ook problemen waar je zelf tegenaan loopt proberen op te lossen, samen met anderen.
Navraag bij Nederlandse Java developers leert dat het Adopt a JSR-project bij lang niet iedereen bekend is. Wie het al kent, is overtuigt dat dat alleen iets is voor grote bedrijven om in te participeren. ‘De Java Community Process, alias de ‘Java Standards body’ is inderdaad een organisatie waarin grote bedrijven altijd meedoen om betrokken te worden bij de JSR’s’, geeft Verburg toe. ‘Maar dankzij een verandering in de regels kunnen individuen of kleine teams nu ook heel gemakkelijk meedoen. Dat is juist het idee van Adopt a JSR.’
Profiteren
Waarom zouden developers tijd willen steken in Adopt a JSR? Waarom zou je het de ‘grote jongens’ niet laten oplossen? Verburg noemt verschillende redenen. De belangrijkste reden is dat het leuk is. ‘Veel developers verliezen hun plezier in hun werk. Tijdens je studietijd heb je nog plezier in programmeren. Je speelt met spelletjes en robots en programmeert met studievrienden allerlei leuke dingen. Daarna ga je aan het werk. Veel developers ontwikkelen in hun werk geen opwindende technologie. Daardoor missen ze de uitdaging en raken ze verveeld. Dat is niet goed voor de prestaties. Met Adopt a JSR werk je met gelijkgestemden aan iets groot, iets wat er echt toe doet. Je weet dat de hele Javacommunity over de hele wereld de JSR’s daadwerkelijk gaat gebruiken. Dat geeft een kick, dat kan de passie voor het programmeren weer terugbrengen. En door die passie sta je ook meer open voor nieuwe inzichten. Zo verbeter je jezelf, wat ook goed is voor je werkgever en je eigen carrière.’
Dat is direct ook een tweede reden om met Adopt a JSR mee te doen. ‘Het is heel goed voor je CV en daarmee voor je carrière, dat blijkt ook bij leden van de London Java Community. Hoewel dat geen hoofdreden is voor de meeste betrokkenen, is het zeker wel een voordeel.’ Want als je participeert in Adopt a JSR laat dat zien dat je technisch competent bent, dat je kunt samenwerken en in staat bent om breed te kijken en grote problemen aan te pakken. ‘Je laat zien dat je meer kunt dan alleen programmeren. Sociaal zijn en kunnen samenwerken wordt steeds belangrijker, ook voor developers’. Ook voor bedrijven kan het gunstig zijn om medewerkers mee te laten doen in Adopt a JSR, omdat het ook hun status verbetert.
Kritisch
Zoals bij elk initiatief, zijn er ook bij Adopt a JSR kritische vragen te stellen. Critici zijn bang dat een dergelijke open houding ook misbruik kan opleveren. Net als bij andere open source programma’s is er een risico dat er mensen komen met slechte ideeën. Dat zorgt voor veel tijdverspilling bij anderen, die die slechte ideeën moeten lezen. Daarom zijn er expertgroepen bij iedere JSR die bepalen wie mee mag doen en op welk niveau. ‘Ook dat is Adopt a JSR. Iedereen kan op zijn eigen niveau meedoen, en gedurende het traject veel bijleren en in niveau stijgen.’
Succesverhalen
Adopt a JSR loopt al een paar jaar. De eerste projecten zijn al afgerond, bijvoorbeeld de nieuwe API voor datum en tijd, die in het volgend jaar verschijnende JAVA 8 verwerkt is. ‘Dit was de eerste specificatie waar Adopt a JSR aan heeft gewerkt. Er waren veel problemen met deze JSR, omdat het heel moeilijk is om altijd rekening te houden met timezones, zomertijd etc. Een handjevol vrijwilligers heeft de expertgroep geholpen om deze problemen op te lossen.’ Inmiddels is dat probleem dus daadwerkelijk opgelost.
Een ander project dat al klaar is, is project Lambda. Zij helpen problemen oplossen bij een ‘functional programming style’, wat belangrijk is geworden door het ontstaan van moderne hardware.
Adopt OpenJDK vs Adopt a JSR
Een ander open source project waarin Verburg betrokken is, is Adopt OpenJDK. Ook voor dit project kun je als developer meewerken aan het ontwikkelen of verbeteren van een onderdeel in het Java-ecosysteem. Het lijkt dus erg op Adopt a JSR. Toch zijn het twee strikt gescheiden projecten, benadrukt Verburg. ‘Adopt a JSR is een programma voor alle standaards in het Java ecosysteem, terwijl het Adopt OpenJDK programma puur focust op de Javataal en de virtuele machine met verschillende tools, utilities en sociale infrastructuur die daarbij hoort. Je zou Adopt OpenJDK bijna kunnen zien als een onderdeel van Adopt a JSr, maar er zijn aspecten aan OpenJDK die niets met JSR’s te maken hebben.’
Denk simpel
Verburg is actief bij Adopt a JSR en Adopt OpenJDK en draagt zo zijn steentje bij aan het verbeteren van het Java-ecosysteem. Maar dat is niet de enige manier waarop hij dat doet. Hij is ook regelmatig als spreker te gast bij meetings waar Javadevelopers bij elkaar komen. Op een vlotte manier, doorspekt met humor, weet hij zijn publiek te boeien met zijn kennis. Zo stond hij tijdens de meeting van JPoint voor het publiek met een grote J op zijn muts en een t-shirt met de tekst ‘Hack is not a four-letter-word’. Daar sprak hij in twee sessies over ‘Java and the machine’ en ‘Modern Software Development Anti-Patterns’. Een andere bekende lezing van hem is de ‘Diabolic Developer’. Met dergelijke sessies probeert hij developers kritisch te laten nadenken over hun eigen manier van werken en hen te wijzen op veel voorkomende ‘diabolic practices’. ‘Veel developers maken het ingewikkelder dan het is.’
Verburg neemt nog steeds de vrijheid om te klagen. Want nog altijd zijn er veel ontwikkelingen die voor developers onlogisch zijn. ‘Wil je er echt wat aan doen, dan moet je niet klagen maar meedoen met een open source project, bijvoorbeeld Adopt a JSR of Adopt OpenJDK.’
Meer informatie over Adopt a JSR
Informatie over adopt OpenJDK
Volg Verburg op martijnverburg.blogspot.nl en op Twitter