Sun een open-sourcebedrijf?
Onlangs maakte Sun Microsystems bekend dat zijn Unix operating system Solaris vanaf versie 10 open source zou worden. Solaris 10 is inmiddels uitgebracht en kan gratis worden gedownload van de website van Sun. Het vrijgeven van de broncode laat nog even op zich wachten, maar de verwachting is dat in het tweede kwartaal van dit jaar het grootste deel van het besturingssysteem open source zal zijn. In een persbijeenkomst, waar ook Tweakers.net aanwezig was, informeerde Sun Microsystems de Nederlandse media over de achtergronden van zijn open-sourcebeleid.
Velen vragen zich af wat de motivatie van Sun is om de broncode van Solaris vrij te geven. Simon Phipps, Chief Technology Evangelist van Sun, wat inhoud dat hij als dagelijkse taak heeft om de open-sourcestrategie binnen en buiten het bedrijf te 'verkopen', stelt dat deze stap een gevolg is van veranderingen in de maatschappij. Doordat iedereen veel meer mogelijkheden heeft gekregen om met elkaar te communiceren en gehele dagen met elkaar in verbinding staat via internet en dergelijke, werkt het niet meer om als programmeur in een afgesloten omgeving software te ontwikkelen. Het is mogelijk dat 'smart people' in dienst zijn bij een ander bedrijf, maar dat deze wel een nuttige bijdrage aan een softwareproduct kunnen leveren. Dat is de reden dat Sun heeft besloten om zo veel mogelijk programma's open-source te maken.
De eerste resultaten van deze relatief 'nieuwe' strategie binnen het bedrijf zijn reeds zichtbaar. Zo is inmiddels blogs.sun.com in het leven geroepen waar een groot aantal Sun-medewerkers een weblog bijhouden. Daarnaast heeft Sun het gekochte Star Office geruime tijd geleden al open-source gemaakt en zal dus binnenkort Solaris en het Java Enterprise System open-source worden. Volgens Phipps was Sun Microsystems in het begin van zijn bestaan 'the open source company'. Met de nieuwe maatregelen hoopt het bedrijf deze status wederom te bemachtigen.
Uiteraard heeft het gratis maken van de software gevolgen voor de manier waarop geld moet worden verdiend. Zoals de meeste andere open-sourcebedrijven heeft Sun dan ook het streven om geld te verdienen aan de support en andere diensten. Volgens Sun is open-source vergelijkbaar met het ambachtsgilde zoals men vroeger kende. Men vraagt dus in principe geld voor de geleverde arbeid en niet voor het resulterende product. Het is net als bij een bouwvakker die weliswaar de bakstenen levert, maar dat is niet zijn primaire inkomstenbron. Hij rekent namelijk geld voor de arbeid die hij levert, zo luidt de filosofie van Sun.
Common Development and Distribution License
Sun Solaris wordt uitgebracht onder de Common Development and Distribution License. Dit is een nieuwe licentie die Sun heeft gebaseerd op de Mozilla Public License (MPL). De reden dat Sun niet gewoon de MPL heeft gebruikt ligt aan het feit dat in de MPL bepaalde zaken 'hard' waren vastgelegd, zoals de eigenaar van de broncode (Netscape). Sun heeft naar eigen zeggen zijn best gedaan om ervoor te zorgen dat de CDDL zo 'herbruikbaar' mogelijk is. De licentie is inmiddels goedgekeurd door het Open Source Initiative (OSI). Hoewel er tot dusver één project bekend is buiten Sun dat gebruik maakt van CDDL, hoopt Sun dat de licentie ook veel gebruikt zal gaan worden door derden. Phipps stelde zelfs dat als een project ervoor kiest om een 'Mozilla-like license' te gebruiken, maar hiervoor een eigen aanpassing maakt, men gelijk moet vragen waarom de CDDL niet wordt gebruikt.
Een van de belangrijke pijlers van de CDDL volgens Sun is dat alle patenten die noodzakelijk zijn voor het project, en die in het bezit van de ontwikkelaars zijn van die software, vrij gebruikt mogen worden in open-sourceprojecten. Het gevolg van deze bepaling is dat alle patenten die in het bezit zijn van Sun en betrekking hebben op Solaris, zullen worden vrijgegeven door het bedrijf. Dit zou erop neerkomen dat Sun volgens experts naar schatting 1600 patenten vrij geeft aan de open-sourcewereld. Sun ziet dit als de oplossing voor het probleem wat er bestaat met softwarepatenten en open-sourcesoftware. Door het vrijgegeven van bepaalde patenten die betrekking hebben op open-source softwareprojecten zou er volgens Sun een 'veilige zone' ontstaan waarbinnen open-sourceontwikkelaars kunnen werken zonder het risico te lopen te worden aangeklaagd.

Overigens is Sun van mening dat IBM ten onrechte wordt gezien als een open-sourcebedrijf. Hoewel IBM bijdraagt aan de ontwikkeling van Linux en ook het Eclipse-project open source heeft gemaakt, stelt Sun dat IBM in sommige opzichten open-sourcesoftware schaadt. Als voorbeeld noemt het de recente vrijgave van vijfhonderd patenten door het bedrijf. Volgens Sun schiet de open-sourcegemeenschap daar weinig mee op, omdat de huidige beschrijving van patenten het niet mogelijk maakt om op basis daarvan software te ontwikkelen. De beschrijving van een patent wordt namelijk opgesteld door een jurist en is zo algemeen en juridisch opgesteld dat een ontwikkelaar die zelf het patent heeft 'bedacht' niet eens uit de beschrijving kan opmaken wat ermee wordt bedoeld. Open-sourceontwikkelaars zouden er meer mee opschieten als bedrijven patenten vrijgeven die betrekking hebben op een specifiek product, zoals Sun nu heeft gedaan met Solaris, zo stelt het bedrijf. Ook zijn IBM's intenties met Linux niet zo goed als het soms lijkt, aangezien het bedrijf patenten probeert te verkrijgen op zaken die betrekking hebben op Linux. Overigens heeft IBM hierover zelf beweerd dat het dit doet om Linux te beschermen en er niet zelf beter van te worden.
OpenSolaris
Het nieuwe open-sourceproject van Sun is het vrijgeven van (delen van) Solaris. Deze open-sourceversie van dit besturingssysteem heeft de naam OpenSolaris gekregen. Het gebruikte ontwikkelingsmodel zal vergelijkbaar worden met dat van OpenOffice.org. Sun streeft ernaar om een community te creëren rond de ontwikkeling van het besturingssysteem waar ook ontwikkelaars buiten Sun in participeren. Een van de reeds genomen stappen om dit te bereiken is het instellen van een OpenSolaris Community Advisory Board wat niet alleen zal bestaan uit medewerkers van Sun, maar waarin ook externe ontwikkelaars een positie hebben gekregen.
Begin deze maand is de samenstelling van het OpenSolaris Community Advisory Board bekendgemaakt. Het Advisory Board bestaat uit voorzitter Roy Felding, die oprichter en directeur is van de Apache Foundation, Rich Teer en Al Hooper, die beiden zijn aangewezen door de leden van de OpenSolaris community, en twee medewerkers van Sun. Deze laatste twee zijn Simon Phipps, open-sourcepromotor binnen Sun (officieel Chief Technology Evangelist) en Solaris-kernelontwikkelaar Casper Dik.
Sun heeft aangekondigd dat gedurende het tweede kwartaal van dit jaar het grootste gedeelte van Solaris zal worden vrijgegeven. Inmiddels is er reeds een pilotproject gaande, waarbij geselecteerde personen toegang hebben tot gedeelten van de Solaris broncode. Voor het grote publiek is er ook reeds een bescheiden hoeveelheid broncode beschikbaar, namelijk het programma Dtrace. Deze applicatie is een van de punten waarop Solaris zich weet te onderscheiden van andere besturingssystemen zoals Linux.
Een van de problemen waar Sun mee had te kampen bij de vrijgave van de Sun broncode was het feit dat er geen open-source compiler beschikbaar was waarmee het geheel kan worden gecompileerd. Dat is dan ook een van de redenen dat de vrijgave van de broncode niet van het een op het andere moment heeft plaatsgevonden. Om ervoor te zorgen dat OpenSolaris kan worden gecompileerd met gratis beschikbare compilers worden er waarschijnlijk delen van Sun Studio vrij gegeven, in het bijzonder de compilers van dit pakket. Daarnaast is ervoor gezorgd dat Solaris ook gecompileerd kan worden met de open-source compilers van GCC.
Solaris 10 features (1)
Uiteraard is in dit geheel de vraag interessant wat Solaris nu voor voordelen biedt boven andere besturingssystemen. Met name de vergelijking met open-source besturingssystemen zoals Linux is natuurlijk relevant in dit geheel. Om te beginnen heeft Sun Microsystems in deze context een commercieel verhaal beschikbaar dat managers van bedrijven moet overhalen om voor (open)Solaris te kiezen boven bijvoorbeeld Linux. Zoals Sun al reeds eerder heeft laten doorschemeren ziet het Red Hat als de belangrijkste distributie voor Linux. Sun vergelijkt dus Solaris graag met Red Hat Enterprise Linux.
Martin te Dorsthorst, Country Manager van Sun Nederland, stelt dat Solaris een alternatief is voor Linux. Wat Linux volgens hem echter niet biedt en Solaris wel, is de mogelijkheid om te beginnen met de gratis versie en zodra men behoefte krijgt aan ondersteuning door een commerciële organisatie men dit kan 'bestellen' bij Sun en niet een nieuw besturingssysteem hoeft te installeren. Red Hat kan dit niet bieden stelt hij, aangezien voor de gratis versie men gebruik moet maken van het Fedora Core-project, maar zodra men support wil moet worden overgestapt op Red Hat Enterprise Linux, dat in essentie een ander besturingssysteem is.
Daarnaast biedt Sun gebruikers van Solaris bescherming tegen eventuele patentenclaims van andere partijen (idemnification), zodat gebruikers niet het gevaar lopen dat ze bijvoorbeeld door SCO worden aangeklaagd wegens het misbruik van intellectueel eigendom van het bedrijf. Overigens zal SCO dit als het goed is niet doen, aangezien het bedrijf onlangs heeft laten weten dat het zijn goedkeuring geeft aan het open source maken van Solaris. Dit is opmerkelijk, omdat het bedrijf de laatste jaren in opspraak is wegens het aanklagen van IBM wegens het meewerken aan de ontwikkeling van Linux waarbij stukken code van SCO-producten in Linux zouden zijn beland. Solaris is een Unix-versie die dus zeer waarschijnlijk ook stukken code van SCO zal bevatten.
Ook op technisch gebied heeft Solaris enkele features waardoor het zich onderscheid van de concurrerende besturingssystemen. De nieuwe versie, Solaris 10 heeft om te beginnen binaire compatibiliteit met Solaris 9. Daarnaast zal het binnenkort de mogelijkheid bieden om Linux-applicaties te laten werken, zonder dat deze opnieuw gecompileerd hoeven te worden. Hierbij dient wel te worden opgemerkt dat dit alleen opgaat voor binary's die zijn gecompileerd voor Red Hat Enterprise Linux (RHEL) 3 of RHEL 4 of Suse Linux. Deze Linux-applicaties werken dankzij een implementatie van de Linux-systemcalls op Solaris. Deze feature is overigens nu nog niet in Solaris opgenomen, aangezien hier nu nog aan ontwikkeld wordt. Het is niet uitgesloten dat in de nabije toekomst ook BSD-applicaties worden ondersteund, maar daarover wilde Sun geen concrete uitspraken doen.
Solaris 10 features (2)
Nieuwe features in Solaris 10 zijn onder andere een firewall die vergelijkbare mogelijkheden biedt als de firewall onder Windows XP en dus niet te vergelijken is met bijvoorbeeld IPTables zoals in Linux is geïntegreerd. Verder biedt Solaris vanaf versie 10 de mogelijkheid om via een netwerk te installeren, waarbij SSL-beveiliging wordt gebruikt zodat dit dus ook via internet veilig kan plaatsvinden. Een van de belangrijkste verbeteringen is de rewrite van de TCP/IP-stack waardoor deze naar schatting 30 tot 40 procent sneller is geworden. Dit was volgens gebruikers een van de zwakke punten van Solaris.
Een vernieuwing die nu nog niet in Solaris 10 zit, maar na de zomer wel beschikbaar komt voor het besturingssysteem is het Zettabyte Filesystem (ZFS). Dit filesystem biedt de mogelijkheid om dynamisch in grootte te groeien en werkt met storage pools. De voornaamste eigenschap van dit filesystem is dat het beheer van grote hoeveelheden opslagcapaciteit wordt vereenvoudigd. Ook is er ondersteuning van NFS versie 4.
Ook op het gebied van stabiliteit en veiligheid zijn er een aantal verbeteringen doorgevoerd in Solaris 10. Zo is er een nieuwe API voor security gerelateerde library's zoals Kerberos en MD5. Verder is er een nieuw systeem genaamd Basic Audit Reporting Tool (BART) wat een systeem is waarmee veranderingen van systeembestanden kunnen worden gedetecteerd. Om bij problemen ervoor te zorgen dat het getroffen systeem weer zo snel mogelijk gerepareerd kan worden is er het Fault Management Architecture (FMA), dat eventuele hardware fouten in het systeem detecteert. Deze tool genereert foutmeldingen die vervolgens verwijzen naar een website waarop de eventuele oplossing gedetailleerd wordt beschreven zodat deze eenvoudig door een gebruiker kunnen worden opgelost.
Tot slot zijn er nog de virtualisatiemogelijkheden die Solaris 10 biedt. Virtualisatie - het draaien van meerdere (instanties van) besturingssystemen op één computersysteem - wint de laatste tijd steeds meer aan populariteit. Linux heeft al geruime tijd Usermode Linux (UML) en recentelijk is er ook Xen voor Linux en ook VMWare en Microsofts Virtual PC zijn al een tijd beschkbaar. Sun heeft een andere aanpak gekozen dan deze laatste twee, onder de naam Containers. Containers bestaan uit Zones, die vergelijkbaar zijn met FreeBSD jails. De virtualisatie onder Solaris wordt mogelijk gemaakt doordat het besturingssysteem het concept van Resource Pools kent, waardoor het mogelijk is om een bepaalde hoeveelheid geheugen en rekencapaciteit aan een Zone kunnen worden toegekend.

Uiteraard zijn er nog een aantal andere nieuwe features aan Solaris 10, die hier echter niet diepgaand worden beschreven. Onder andere Dynamic Tracing (DTrace), Management Running Service, ondersteuning voor x86-64 processors, enz.
Conclusie
Uiteraard blijft het afwachten hoe Solaris zich zal ontwikkelen als open-sourceproduct. Gezien het succes van OpenOffice.org is het echter aannemelijk dat het een rol van betekenis gaat spelen in de open-sourcegemeenschap. De technische specificaties van Solaris zijn veelbelovend wanneer het wordt vergeleken met andere (desktop)besturingssystemen zoals Linux of Windows. Uiteraard is de vrijgave van de broncode interessant voor bedrijven die reeds gebruikmaken van het besturingssysteem.
Helaas heeft Sun er, al dan niet genoodzaakt, voor gekozen om Solaris niet onder de GPL uit te brengen. Hierdoor zal het niet mogelijk zijn om stukken broncode van Solaris in andere GPL-projecten te gebruiken, zoals Linux. Aan de andere kant biedt de gekozen licentie wel een (theoretische) bescherming tegen patentenclaims. Met name voor bedrijven zal dit een niet te verwaarlozen voordeel zijn van Solaris boven Linux.
Voor de toekomst zal het interessant zijn wat Sun op open-sourcegebied verder allemaal van plan is. Naast Solaris zal Sun ook Java Enterprise System open source maken. Helaas zijn er tot dus ver nog geen concrete plannen om de JRE open source te maken, laat staan de J2SDK van Sun. Gelukkig zijn hier andere initiatieven die hierop in zijn gesprongen, waaruit producten als gcj zijn voort gekomen.
Mensen die de broncode van OpenSolaris willen gaan inspecteren zullen, zoals reeds eerder gezegd, nog even geduld moeten hebben. De verwachting is dat Sun het tweede kwartaal van dit jaar de broncode vrij zal geven. Solaris 10 is echter al wel een tijdje beschikbaar, en kan gratis worden gedownload van de site van Sun. Ook is er Software Express voor Solaris, waarmee Solaris-gebruikers de laatste ontwikkelingen voor het besturingssysteem kunnen verkrijgen. In feite is dit gewoon de ontwikkelversie van het besturingssysteem.