‘Open source is geen communistische beweging’, sprak het enfant terrible van de it, Oracles oprichter en ceo Larry Ellison op 2 maart in Tokio. Nee, maar wat is het wel? Soms lijkt het op een tweekoppig monster: aan de ene kant een beweging van mensen die een waardevolle en creatieve bijdrage levert aan de ontwikkeling van de wereld rond programmeertalen, aan de andere kant de speelbal van de commercie.
Eigenlijk is open source of open broncode gewoon software waaraan iedereen mag meewerken. Vaak is deze software ook gratis. Voor veel computertalen is open source van levensbelang. Het kan in omvang en betekenis enorm verschillen. Bekende voorbeelden zijn het besturingssysteem Linux, de database (dbms) Mysql en de webserver Apache. Soms zijn het alleen kleine stukjes code, maar het kunnen ook grote raamwerken zijn die de programmeur veel werk uit handen nemen. Ten slotte zijn er ook open source applicatieservers waarop de – meestal in Java – geschreven applicaties beschikbaar worden gesteld aan gebruikers. JBoss is de belangrijkste vertegenwoordiger van deze categorie.
Voor sommige talen is open source niet alleen heel belangrijk, ze zijn zelf open source en hebben een platform dat vrijwel uitsluitend uit open source is opgebouwd. PHP, Eiffel, Lua, Smalltalk, Python en de op dit moment waarschijnlijk interessantste Ruby, zijn slechts enkele voorbeelden.
Vaticaan
De populariteit van open source bij Microsoft daarentegen is goed vergelijkbaar met die van de pil binnen het Vaticaan. In de Java-gemeenschap is men weer bijna religieus vóór open source. Java zelf is echter geen open source, ook al zouden veel mensen graag zien dat Sun Java aan de open-sourcegemeenschap zou doneren. Sun denkt daarover na, maar is tot nu toe van mening dat de belangen van de taal er niet mee gediend zijn. De specificatie van Java wordt streng bewaakt door de JCP, een groepje met een wisselende samenstelling waarin allerlei bedrijven en instituten (en vaak SUN, licentie-eigenaar van Java) zitting hebben en die – soms wel heel erg lang – vergaderen over nieuwe aanvullingen, zogenaamde JSR’s (Java Specification Requests).
Voor veel jongere ontwikkelaars en sommige bedrijven duurt zoiets te lang en zij ontwikkelen op eigen houtje een open source oplossing. Het Java-platform kent daardoor een grote stroom van vernieuwingen. In de praktijk betekent dit dat Java geen open source is, maar wel veel van de voordelen (en de nadelen) ervan kent.
Eclipse
De belangrijkste ontwikkeltool (IDE) voor Java, Eclipse, is ook open source. Eclipse is ontwikkeld door IBM, naar eigen zeggen omdat het vond dat Java een behoefte had aan iets als Visual Studio. IBM vond dat zo’n tool alleen populair kon worden als het gesteund werd door een levendige gemeenschap en besloot Eclipse in 2001 open source te maken. De naamgeving Eclipse suggereert dat het ook bedoeld was als wapen tegen een andere concurrent. Sun beleefde in die tijd – op het hoogtepunt van de internethype – namelijk zijn ‘finest hour’, maar het ondersteunde het open source Netbeans-platform dat ook al een soort Visual Studio moest worden (Sun lijfde het zelfs in onder de naam Forté, maar gaf het een half jaar later weer terug aan de open-sourcegemeenschap. Daardoor werd Netbeans Suns eerste gesponsorde open- sourceproject.) In diezelfde periode besloot IBM een miljard dollar in Linux te investeren, ook al een initiatief waarmee het zowel Microsoft als Sun dwarsboomde.
Het oorspronkelijke idee was dat IBM zorg zou dragen voor de marketing en de open- sourcegemeenschap voor de verdere ontwikkeling. Eclipse werd echter pas een succes nadat IBM er wat meer afstand van deed; de mond-tot-mondreclame binnen de open- sourcegemeenschap was uiteindelijk veel effectiever dan de marketing door IBM.
Prijserosie
IBM is slechts ten dele in zijn – vermoedelijke – opzet geslaagd. Eclipse is niet de beste Java-IDE geworden, maar wel de meest populaire. Dankzij de plug-inopbouw is er inderdaad een levendige gemeenschap ontstaan van mensen die bijdragen leverden aan Eclipse. Aan de andere kant heeft de prijserosie door Eclipse tot gevolg gehad dat de ontwikkeling van andere ontwikkeltools afgeremd is, denk aan Borland’s JBuilder. Bovendien is Eclipse er niet in geslaagd een positie op te bouwen vergelijkbaar met die van Visual Studio en bestaat het Netbeans-platform nog steeds; het neemt zelfs weer iets in populariteit toe.
Raamwerken
De belangrijkste voorbeelden van open source binnen de Java-gemeenschap zijn de grote raamwerken of frameworks. Het zijn deze frameworks die het voor grote groepen mogelijk gemaakt hebben om snel applicaties te ontwikkelen. Onder meer Spring en Hibernate hebben Java veel productiviteit gegeven. De laatste tijd worden regelmatig open-sourcebedrijven opgekocht. Achter open-sourceprojecten zitten vaak kleine bedrijven die hun inkomsten verwerven door het verkopen van ondersteuning voor hun open-sourceproducten. Deze bedrijven zijn veel kleiner dan de verspreiding van de software zou doen vermoeden – en ze zijn daarmee ook een gemakkelijke prooi voor grote bedrijven en durfkapitalisten. Misschien vinden sommige een constructie om zich tegen dit soort overnamen te beschermen. Aan de andere kant zullen er ongetwijfeld heel wat jonge open-sourcebedrijven zijn die niets liever willen dan opgekocht worden.
Tag soup
Larry Ellison had natuurlijk gelijk: de open-sourcebeweging bestaat vooral omdat grote bedrijven met geld of ontwikkelaars open-sourceprojecten ondersteunen. Uiteraard handelden die bedrijven niet uit altruïstische motieven. De afgelopen jaren hebben we kunnen zien dat vooral de Java-wereld heeft geprofiteerd van de open-sourcebijdragen. Er dreigen ook gevaren: door de wildgroei van de vele verschillende initiatieven en de snelle opvolging van nieuwe raamwerken, dreigt legacy (verouderde software) te ontstaan die opgebouwd is uit een ‘XML tag soup’. Ook zijn niet altijd alle eigendomsrechten van de software even helder. De grootste bedreiging bestaat waarschijnlijk echter uit de Machiavellistische motieven van de grote softwarebedrijven. Open source is inderdaad geen communistische beweging, maar menig ceo zou maar wat graag de nieuwe Stalin willen zijn.
Dré de Man