|
Tags: Java | Open Source
| ||
| ||
Het Open Sourcen van JavaJames Gosling, door velen als de geestelijke vader van Java-technologie beschouwd, is hard bezig geweest om Sun Microsystems bij te staan in haar streven om de broncode van Java SE (JDK)- en Java ME-implementaties openbaar te maken. De broncode van de Java EE-implementatie is reeds meer dan een jaar openbaar dankzij het project Project GlassFish. Afgelopen maand kondigde Sun verdergaande stappen aan om java te open sourcen. In dit interview geeft hij zijn visie op de meest recente ontwikkelingen.Waarom maakt Sun de broncode van haar Java-platform openbaar? Gosling: "In zekere zin hebben we ons al geruime tijd heel dicht in de buurt van een open source-situatie bevonden. Het verschil tussen wat we nu doen en open source had in de meeste gevallen met de licentie te maken. Gelukkig behoren veel van de problemen waarmee we in het verleden werden geconfronteerd nu tot het verleden. Het landschap is een stuk overzichtelijker geworden, en we zijn erop gebrand om op een nog interactievere wijze met de open sourcegemeenschap te werken. Traditioneel hebben we al veel met de open source-gemeenschap samengewerkt, onder meer met java.net, tal van privé-bijdragen en eindeloze hoeveelheden discussies op forums". Wat weerhield Sun ervan om dit eerder te doen, of bijvoorbeeld pas over vijf jaar? Gosling: "Een van de grote problemen was - helaas - het juridisch proces waarin we waren verwikkeld, zoals de rechtzaak met Microsoft, maar die ligt nu voldoende in het verleden. De zaken die ons problemen opleverden, zijn verdwenen. Vreemd genoeg was een van de grootste struikelblokken onze visie op het beheer van broncode. Vanuit een pragmatisch, technisch oogpunt gezien zijn open-source-tools zoals CVS (Concurrent Versioning System) niet bijster geschikt voor grootschalige projecten. Intern maakten we gebruik van een tool genaamd Teamware, maar om uiteenlopende redenen leek het geen logische stap om die tool op de markt te brengen. Daarom was een van de belangrijkste veranderingen in het afgelopen jaar de introductie van een nieuwe tool voor broncodebeheer genaamd Mercurial, een feit waar alle engineers erg blij mee zijn geweest." "We willen een betere dialoog met de ontwikkelaarsgemeenschap... We willen betere relaties met een groot aantal Linux-distributies". James Gosling Vice-president en Sun Fellow van Sun Microsystems Wat hoopt Sun te bereiken met het openbaar maken van de broncode van de JDK? Gosling: "We willen een betere dialoog met de ontwikkelaarsgemeenschap, een relatie die meer op samenwerking is gericht. We willen betere een betere relatie met een groot aantal Linuxdistributies, en veel van de Linux-distributies zijn zeer gevoelig met betrekking tot de licentie die je gebruikt. We willen betere relaties met de open sourcegemeenschap, hetgeen tot een betere distributie zal leiden en het makkelijk voor mensen maakt om met ons samen te werken aan de verdere ontwikkeling van het platform en het toe te passen op nog interessantere manieren en op nog interessantere terreinen". Wanneer een bedrijf overweegt om
haar broncode openbaar te maken, zijn
er twee reacties mogelijk. Het ene kamp
zal zeggen: "Als Sun de broncode van
Java openbaar maakt, zal dat het beste
zijn dat het bedrijf is overkomen".
Aan de andere kant bestaat er de onvermijdelijke
zorg dat andere partijen
het intellectueel eigendom eruit zullen
vissen en gaan verkopen. Hoe zit het
met de compatibiliteit? Zal als gevolg
van deze stap in de richting van open
sourcing het Java-platform niet simpelweg
gefragmenteerd raken? "De broncode wordt openbaar gemaakt, maar het definiëren van de specificatie is nog steeds het domein van het Java Community Process". "Waar het nu op neerkomt, is dat Sun de broncode van al haar Java-platformimplementaties openbaar maakt op basis van dezelfde licentie die wordt gebruikt door het besturingssysteem GNU/Linux: de GNU General Public License (GPL) versie 2". Meer concreet kondigden we het
volgende aan: Voor de open-source-onderdelen van JDK hebben we gekozen voor GNU General Public License (GPL) versie 2 voor vrijwel de gehele virtuele machine, en GPL v2 met de Classpath exception voor de class libraries en die onderdelen van de virtuele machine die openbare API?s prijsgeven. In het geval van Java ME besloten we om uitsluitend GPL v2 te gebruiken. Wat was de achterliggende reden voor deze keuze? En wat is de Classpath exception precies? Gosling: ?Het leuke van de GPL is dat een zeer gemeenschapsvriendelijke en symmetrische licentie is. Bovendien geniet de licentie een zeer grote populariteit binnen de open sourcegemeenschap. De Classpath exception werd ontwikkeld door de Free Software Foundation op basis van het GNU/Classpath Project. Waar het op neerkomt, is dat het je in staat stelt om een toepassing te koppelen die op basis van een willekeurige licentie beschikbaar is voor een bibliotheek die onderdeel uitmaakt van software die gelicenseerd is op basis van GPL v2, zonder dat deze toepassing op basis van de GPL zelf openbaar moet worden gemaakt. Dit is een licentieparadigma dat vaak wordt gebruikt in gratis software-gemeenschappen zoals GNU/Classpath en Kaffe voor onderdelen van een implementatie van Java-technologie die de virtuele machine en class library bevat. We hebben er bewust voor gekozen om dezelfde licentiemethode te hanteren, zodat men niet in de verleiding komt om vraagtekens bij onze bedoelingen te stellen met betrekking tot het beschikbaar stellen van de Java SE-implementatie van Sun op basis van een werkelijk gratis en open licentie.? We hebben de afgelopen weken heel wat gehoord over de OpenJDK Community. Wat is de OpenJDK Community nu eigenlijk precies? Gosling: ?We hebben de OpenJDK Community opgericht met het oog op de voortdurende ontwikkeling van Suns open source-implementatie van Java SE. Waar het op neer komt, is dat de OpenJDK Community de plek is waar ontwikkelaars zullen samenkomen om met elkaar te werken aan de open-source codebasis van JDK en verwante projecten. Het OpenJDK-project waarin de open-source codebasis zal "wonen", maakt deel van deze gemeenschap uit. Hier zullen ontwikkelaars in staat zijn om direct invloed uit te oefenen op de JDKimplementatie, met hun collega's deelnemen aan een open gemeenschap en te helpen om het gebruik van Java-technologie naar nieuwe terreinen te verleggen. Sun ontwikkelt de bestaande JDK Community waar ontwikkelaars de afgelopen twee jaar aan de broncode hebben gewerkt, tot een website waar ontwikkelaars binnen en buiten Sun aan de implementatie kunnen samenwerken. De OpenJDK Community vindt je op http://community.java.net/openjdk. Welk beheermodel wordt er voor de OpenJDK-projecten gehanteerd? ?We zijn momenteel bezig het met onderzoeken van bestaande beheermodellen binnen de open sourcegemeenschap, maar we willen de nodige tijd uittrekken om een grondige analyse uit te voeren en meer feedback en advies in te winnen voordat we een besluit nemen. Ons plan is om het beheermodel te ontwikkelen tot een model waarbij de open source-gemeenschap is betrokken, met een doelstelling van inclusieve, transparante en op verdienste gebaseerd beheer.?
Wat kan een ontwikkelaar direct met onderdelen van het open-source Java SE platform doen? ?Waarschijnlijk het meest nuttige dat je ermee kunt doen, is ernaar kijken en ervan leren. Het lijkt misschien nogal traditioneel, maar ik zeg altijd dat de bron[code] qua documentatie de laatste toevlucht is. We hebben heel hard geprobeerd om over echte documentatie te beschikken. Natuurlijk is iedereen al geruime tijd in staat geweest om de code te raadplegen via het JDK 6-project. Er zullen zeker mensen zijn die louter voor hun eigen doeleinden lokaal onderdelen aan het tweaken zijn. In het verleden heeft een groot aantal academische onderzoekers de code gebruikt voor hun onderzoeksprojecten. Mensen die bijdragen leveren, zullen in staat zijn om hun bijdrage te bouwen en ervoor te zorgen dat alle bijdragen in elkaar passen.? Hoe denkt u dat deze stap van invloed zal zijn op andere open-source-implementaties van de programmeertaal Java, zoals bijvoorbeeld Apache Harmony of GNU Classpath? ?Dat is moeilijk te voorspellen. In ieder geval zal men in staat zijn om de broncode te doorlopen op elementen die ze in hun projecten kunnen opnemen. Zeg eens eerlijk: is er iets aan het feit dat Sun nu de broncode van Java openbaar maakt waarover u ?s nachts wakker ligt? Gosling: ?Weet je, de meeste grote vragen waarvan mensen denken dat ik wakker lig, daar lig ik helemaal niet wakker van. Ik ben behoorlijk tevreden met de manier waarop OpenJDK zich ontwikkelt. Ik ben uiterst tevreden met de manier waarop we omgaan met zaken als kwaliteitscontrole enzovoort. Ik denk wel dat veel mensen een beetje zenuwachtig kunnen zijn dat het Java-platform hierdoor misschien minder betrouwbaar wordt, maar ik denk simpelweg niet dat dit het geval zal zijn, en ik hou er geen slapeloze nachten aan over. Als er iets is waar ik over wakker lig, is het wel het mechanisme van de infrastructuur: het hosten, het vinden van bugs, de dagelijkse beslommeringen, zaken waar alle open source-projecten mee te maken krijgen. Maar ik weet zeker dat alles op zijn pootjes terecht zal komen.? Op welke manier denkt Sun geld te verdienen met Java-technologieën nu de broncode daarvan eenmaal openbaar is gemaakt? Gosling: ?Vandaag de dag wordt het meeste geld hoger in de keten verdiend. Geld verdien je met de dienstverlening, met de ondersteuning. We halen een fors deel van onze omzet uit deze gebieden en uit verschillende onderdelen van de technologieën, en dat zal zo blijven. Vanuit financieel oogpunt is het Javaplatform voor al deze bedrijven vanaf het begin gratis geweest. En vanuit dat oogpunt zal het openbaar maken van de code van weinig invloed zijn op onze financiële situatie. Waarom zou een ontwikkelaar van Java-technologie die aan een open source-project meewerkt willen bijdragen aan Java-broncode? ?Er zijn verschillende soorten van bijdragen. Zo bevatten alle programma?s bugs. En als er een probleem is dat je na aan het hart ligt, kun je het herstellen en de oplossing bijdragen. Dat is een gebied waar in de loop van de jaren tienduizenden bijdragen zijn geleverd. Maar dat brengt ook problemen met zich mee, omdat je door het herstellen van een bug soms tegelijkertijd drie nieuwe bugs in het leven roept. Daarom zullen we uiteindelijk over een mechanisme beschikken waarmee we kunnen garanderen dat de code die mensen inchecken, uitgebreid wordt getest. De andere categorie is het toevoegen van nieuwe functies. Als er een methode ontbreekt in het string-pakket dat je onder geen beding wilt missen, kun je die toevoegen en aan het project bijdragen, zo lang het de beoordelingen van de gemeenschap doorstaat. Er bestaat een traject waarmee het je een dergelijke bijdrage door het gemeenschapsproces heen kunt krijgen. En daarnaast zijn er volledig nieuwe pakketten, vergelijkbaar met wat er met de JCP-expertgroepen gebeurt. Dat zijn allemaal verschillende dingen die je kunt doen.? Welke kansen denkt u dat dit zal opleveren voor het Java-platform zelf? ?We zullen in staat zijn om ons sneller verder te ontwikkelen, hoewel we momenteel al een verdraaid snelle ontwikkeling doormaken. Weet je, we zijn altijd geïnteresseerd in mensen die Java-technologie op verschillende manieren en in verschillende omgevingen gebruiken. Een van de grootste gebieden waar we zonder meer positief over zijn gestemd, zijn de verschillende Linux-distributies. Omdat we open source zijn, hebben we veel meer kansen om met samen met hen te worden gedistribueerd.? | ||
| Lees meer over Sun Microsystems | ||
| Ga terug naar We Love IT uitgave #2 - 2007 | ||
|




