Oracle, de eigenaar van Java, heeft recentelijk enkele wijzigingen doorgevoerd in het beleid rond publieke updates. De angst bestaat dat de taal daarmee minder vrij te gebruiken wordt. Maar eigenlijk is er niet zo veel aan de hand.
Het stelt nou niet direct gerust als een groepje Java-goeroes zich genoodzaakt ziet een artikel te schrijven met de titel ‘Java is still free’. Het klinkt eerder als ‘The wings are not on fire’ uit de befaamde sketch van Monty Python, waarin twee verveelde piloten besluiten hun passagiers te jennen met berichten dat er absoluut niks aan de hand is en dat de vleugels zeker niet in de fik staan.
En dat terwijl Java een van de meest gebruikte programmeertalen ter wereld is. Is er twijfel over of Java nog gratis te gebruiken is? Dat zou een grote impact hebben. Erger nog: een wijziging in de vrijheid waarmee de taal is in te zetten, de andere interpretatie van ‘free’, kan zelfs nog grotere gevolgen hebben.
De ophef is ontstaan door een reeks aankondigingen van Oracle, de eigenaar van Java, over de toekomst van de taal. Een van de maatregelen is dat er na zes maanden betaald moet gaan worden voor updates. Ook worden de releaseschema’s flink omgegooid en maakt Oracle voortaan een groter punt van opensourcegebruik.
Staan de vleugels dus in de fik?
Van Sun naar Oracle
Java werd in de jaren negentig ontwikkeld door technologiebedrijf Sun op een moment dat er niet zo heel veel te kiezen viel wat betreft moderne programmeertalen. Het gratis te gebruiken Java beloofde het smeermiddel te worden voor het nieuwe en gloeiend hete world wide web. Het werd direct een hit.
Maar Java bleef wel bedrijfseigen technologie van Sun; opensource en open ontwikkelgemeenschappen waren in die tijd nog niet heel gebruikelijk. Sun stond er echter welwillend tegenover het platform opener te maken. Wel werd de ontwikkeling op een goed moment overgeheveld naar het Java Community Process, waar naast de geestelijk vader ook andere betrokkenen hun zegje konden doen. Sun zelf kondigde vanaf 2006 opensource versies aan van de compiler, virtuele machine en standaard bibliotheek, wat uitmondde in de Opensdk-variant van het platform.
Toch is de relatie tussen Java en opensource nooit echt frictieloos geweest. Sun kon sowieso niet alle onderdelen opensourcen omdat het niet overal zelf de rechten op had. De Opensdk miste daarom het een en ander, terwijl andere delen werden opgevuld met Classpath, een alternatieve implementatie waar het Gnu-project ondertussen aan was begonnen.

De situatie veranderde bovendien dramatisch in 2010, toen Sun werd overgenomen door Oracle. De twee bedrijven verschilden als dag en nacht in hun kijk op de wereld. Sun was een bedrijf dat technologie heel gaaf vond. Ceo Jonathan Schwartz viel vooral op door zijn paardenstaart. Oracle is juist een bedrijf dat vooral geld heel gaaf vindt. Ceo Larry Ellison staat vooral bekend om zijn peperdure zeiljacht.
Al snel werd duidelijk hoe Oracle erin staat. Het bedrijf sleepte niemand minder dan Google voor de rechter met een miljardenclaim omdat het Java op allerlei punten onrechtmatig zou gebruiken in Android. Hoewel veel van de claims al snel door de mand vielen, loopt er nog steeds een hardnekkige zaak die Google weleens miljarden kan gaan kosten, over een heel essentieel onderdeel: het gebruik van de api’s in Java’s standaardbibliotheek.
Nu is Google wellicht ook wel wat te makkelijk omgesprongen met de licentievoorwaarden van Java, maar Sun maakte daar nooit een punt van. Bij de introductie van Android kon de zoekmachinegigant zelfs op de felicitaties van Schwartz rekenen, hoewel het daarmee voor zijn bedrijf een stuk lastiger werd zelf nog iets substantieels te gaan doen met Java voor telefoons.
Oracle heeft na de overname van Sun zijn beheerdersrol serieus opgepakt. Voor ‘normale’ bedrijven en programmeurs was er tot nog toe dus niet zo veel aan de hand. Maar de boodschap van Oracle is duidelijk: we doen het niet voor de goegemeente, de technologie moet geld in het laatje gaan brengen. De laatste maatregelen zijn daar verder bewijs van.
Oracle is niet de baas
Toch is het niet zo dat Java nu aan banden wordt gelegd. De ophef is grotendeels het gevolg van een verandering in het ontwikkelritme: voortaan wordt elke zes maanden een nieuwe versie van Java uitgebracht, die de oude versie vervangt. Daarmee vervallen de gratis updates – voor die oude versie. Wie niet wil upgraden, moet dus voortaan een betaald onderhoudscontract afsluiten.
Tenminste, wie de Java-versie van Oracle gebruikt. Want het beheer van de technologie ligt allang niet meer exclusief bij de softwaregigant, maar bij het Java Community Process. De referentie-implementatie is ook niet de Oracle JDK, maar de Openjdk – de opensource implementatie.
Er zijn dan ook heel wat verschillende leveranciers van Java (in de een of andere vorm). Onder meer IBM en Red Hat brengen een eigen Openjdk-variant uit, en er zijn allerlei leveranciers van nicheversies (en natuurlijk is er ook Android, hoewel dat officieel geen Java is omdat het niet compatibel is met de referentie-implementatie). Oracle zelf brengt voortaan ook een Openjdk-versie uit. Die is in principe hetzelfde als zijn eigen ontwikkelkit, zij het met een andere licentie.
Echt een fijn idee is het niet dat de officiële eigenaar van Java zich steeds bezitteriger opstelt. Maar zolang je goed kijkt naar welke smaak je gebruikt, blijft Java als technologie gewoon gratis, open en opensource.