# OpenSolaris

OpenSolaris ist ein auf Unix basierendes Betriebssystem für die Plattformen PC (IBM-PC-kompatible-x86-Architektur), SPARC und andere. Am 18. August 2010 wurde OpenSolaris von Oracle eingestellt. Seitdem wird die quelloffene Entwicklung in den unabhängigen Community-Projekten illumos und OpenIndiana weitergeführt.
Der Name OpenSolaris bezeichnet die quelloffene Variante des Betriebssystems Solaris der Firma Sun Microsystems. Bis zum Jahre 2010 bestand OpenSolaris im Wesentlichen aus dem Quelltext der jeweils aktuellen Entwicklerversionen von Solaris, aus dem es entstand.
OpenSolaris ist das einzige Open-Source-Betriebssystem, das direkt von UNIX System V abgeleitet ist. Seine Codebasis ist Unix System V Release 4 (SVR4)-kompatibel und vereinigt Code aus SVR4 und SunOS-4.x. Seine grafische Standardoberfläche unter dem Namen Nimbus wird über Gnome dargestellt, eine Integration von KDE ist jedoch möglich.

## Geschichte
### Vorgeschichte

Im Jahre 1994 erwarb die Firma Sun Microsystems die Rechte an einer lizenzkostenfreien Unterlizenzierung der Codebasis von Unix System V Release 4 und unterzog diese erheblichen Veränderungen und Verbesserungen. Das Ergebnis floss in Suns Betriebssystem für Suns eigene Rechnersysteme, Solaris, ein.

### Open-Source-Phase

Idee und Planung von OpenSolaris begannen Anfang 2004. Multidisziplinäre Teams u. a. zu den Themen Lizenzierungsfragen, Geschäftsmodelle, Co-Entwicklungs-Prozeduren, Quellcode-Analyse, Quellcode-Management, Tools, Marketing, Webseiten- und Community-Entwicklung wurden gegründet. Ein Pilotprogramm zur Etablierung der Open-Source-Entwicklung wurde am 14. September 2004 ins Leben gerufen. Die Zahl der nicht bei Sun angestellten Mitglieder der Entwickler-Community (Community) belief sich anfangs auf 18. Neun Monate später zählte das Pilotprogramm 145 Sun-externe Teilnehmer.
Die Öffnung des Solaris-Quellcodes war ein inkrementeller Prozess. Der erste veröffentlichte Quellcode-Teil war Solaris' Dynamic Tracing Facility (DTrace), ein Softwarewerkzeug für Administratoren und Entwickler zur Optimierung eines laufenden Systems. DTrace wurde am 25. Januar 2005 veröffentlicht. Zu diesem Zeitpunkt gab Sun die erste Phase der Projekt-Website opensolaris.org frei. Außerdem wurde angekündigt, dass die Codebasis unter der „Common Development and Distribution License“ (CDDL) freigegeben werde.
Nachdem Jörg Schilling am 5. Dezember 2004 die Einrichtung einer OpenSolaris-Verfassung und eines Steuerungsboards gefordert hatte, wurde ein „Community Advisory Board“ (CAB) bestehend aus fünf Mitgliedern gegründet. Die fünf CAB-Mitglieder wurden am 4. April 2005 verkündet. Die Mitglieder des 2005/2006 OpenSolaris Community Advisory Board waren Roy Fielding, Al Hopper, Rich Teer, Casper Dik und Simon Phipps.
Die erste von Sun freigegebene Quelltextversion von OpenSolaris war Build 17 einer Entwicklerversion, deren Erstellung nach der Veröffentlichung von Solaris 10 im Januar 2005 begann. Der offizielle Veröffentlichungstag, an dem der größte Teil des Solaris-Quellcodes freigegeben wurde, war der 14. Juni 2005. Drei Tage später veröffentlichten Jörg Schilling und andere Entwickler SchilliX als erste OpenSolaris-Distribution überhaupt.
Am 10. Februar 2006 unterzeichnete Sun die „OpenSolaris Charter“. Dadurch wurde die OpenSolaris-Community in die unabhängige Aufsicht des „OpenSolaris Governing Board“ (OGB) übergeben. Das CAB wurde so zum ersten OGB.
Im Jahr 2007 entwickelte Sun unter dem Codenamen Project Indiana eine OpenSolaris-Distribution, die vor allem Linux-Benutzer als Zielgruppe hatte. Leiter des Projekts war der Debian-Begründer Ian Murdock.

### Offizielles Ende

In den Jahren 2009 bis 2010 übernahm Oracle Corp. die bisherige Firma Sun und gliederte sich deren wesentliche Bestandteile ein. Im Rahmen dieses Prozesses wurden die unter der Kontrolle von Sun stehenden Ressourcen schrittweise politisch neu ausgerichtet.
Am Freitag, dem 13. August 2010 verbreitete sich ein internes Oracle-Dokument langsam im Internet und verkündete das, was viele bereits vermutet hatten: Oracles OpenSolaris-Unterstützung wird mit sofortiger Wirkung eingestellt. Die Open-Source-Entwickler des Betriebssystems bekommen keinen freien Zugriff mehr auf aktuelle Entwicklerversionen. Updates für die Solaris-Teile unter CDDL soll es aber dennoch, mit zeitlichem Versatz, weiter geben. Der Zugriff auf den in der Entwicklung befindlichen Solaris-Code ist nun nur noch für Technologiepartner über die Teilnahme an einem „Oracle Technology Partner Program“ möglich. Wer zu diesem Programm zugelassen wird, entscheidet Oracle von Fall zu Fall.
In Folge verkündet das OpenSolaris Governing Board am Montag, dem 23. August 2010 seine Auflösung; nachdem sich Oracle vom offenen Entwicklungsmodell abgekehrt hatte, habe das Board keinen Sinn mehr.

### Unabhängige Weiterführung der Entwicklung

Die massiven Änderungen der Produktpolitik durch Oracle zulasten der Quelloffenheit von Solaris und der Aktualität der quelloffen verfügbaren Systembestandteile wurden in der unabhängigen Entwickler-Community, von der wesentliche Teile der Entwicklung von Solaris geleistet wurden, als Ende des Systems gewertet.
Bisherige Versionen von OpenSolaris sind nach aktuellem Informationsstand weiterhin verfügbar. Die Ergebnisse der weiteren Entwicklung seitens Oracle sind jedoch zukünftig nicht mehr auf dem jeweils aktuellen Stand quelloffen verfügbar. Dies bedeutet eine radikale Abkehr von der bisherigen Praxis, bei der die Open-Source-Komponenten Snapshots der aktuellen Solaris Entwicklerversion waren.
Mittlerweile haben mehrere Entwicklerteams angekündigt, die quelloffene Entwicklung des Systems weiter zu führen, einmal unter dem Namen illumos und weiter auch als OpenIndiana.

## Lizenz
### Bestimmungen

OpenSolaris unterliegt der „Common Development and Distribution License“ (CDDL). Einige Teile des Systems liegen aufgrund von Lizenzrechten nur in binärer Form vor.
Sun hat insgesamt große Teile des Solaris-Quellcodes unter die CDDL gestellt. Die Lizenz ist ein Abkömmling der MPL (Version 1.1), seit Mitte Januar 2005 von der OSI anerkannt, und erlaubt ausdrücklich die Verwendung des Quelltextes für proprietäre Lösungen. Dateien, die unter der CDDL stehen, können mit andersartigen, frei oder proprietär lizenzierten Dateien kombiniert werden.

### Lizenzierungsgeschichte

Während Suns Ankündigung, dass Java unter die „GNU General Public License“ (GPL) gestellt werden soll, gaben Jonathan Schwartz und Rich Green Hinweise auf eine Veröffentlichung von Solaris unter der GNU-Lizenz. Im Januar 2007 meldete eWeek, dass eine anonyme Quelle berichtet habe, Sun stelle OpenSolaris unter eine Duale Lizenz (CDDL und GPL). In seinem Sun-Blog antwortete Green, die Meldung sei falsch, Sun denke nur über eine duale Lizenz nach. Allerdings müsse dazu eine Übereinkunft mit der OpenSolaris-Community erzielt werden.

### GPL-Kompatibilität

Sun hat für OpenSolaris eine Lizenz gewählt, die nicht vollständig mit der am häufigsten verwendeten freien Software-Lizenz (GPL) vereinbar ist. Suns CDDL ist eine von der Open Source Initiative bestätigte freie Software-Lizenz. Allerdings kann aufgrund des starken Copyleft in beiden Lizenzmodellen ein Werk nicht unter einer der Lizenzen veröffentlicht werden, wenn es Teile enthält, die unter der jeweils anderen Lizenz stehen. Im Kontext eines Sammelwerkes (im Sinne des US-amerikanischen Copyright) ist die Benutzung von Komponenten unter inkompatiblen Lizenzen zulässig, allerdings ist die genaue Grenze zwischen einem Sammelwerk und einem abgeleiteten Werk juristisch nicht abschließend geklärt.
→ Weitere Details im Hauptartikel: Common Development and Distribution License

## Portierungen und Ableitungen
### Polaris (PowerPC)

Anfang 2006 wurde von den Blastwave-Entwicklern eine Portierung auf die Pegasos-basierte PowerPC-/CHRP-Workstation ODW von IBM/Freescale/Genesi mit 1 GHz MPC7447 bekanntgegeben.

### illumos

Da Sun das Versprechen, die OpenSolaris-Entwicklung für die Community zu öffnen, nicht eingehalten hat und da Oracle nach der Übernahme von Sun zunehmend Teilprojekte einstellte, haben Mitglieder der OpenSolaris-Entwickler-Community am 3. August 2010 die Gründung des Projektes illumos zur Entwicklung eines wirklich freien Open-Source-Solaris bekanntgegeben. In diesem Projekt sollen die Entwickler aus der Community die lange erwartete Mitgestaltungsmöglichkeit haben und es gibt das Ziel, schnellstmöglich auch die Closed-Source-Anteile von OpenSolaris durch offene Implementierungen zu ersetzen und dabei eine vollständige Kompatibilität zu Solaris-OS/Net (auch als ON bekannt) zu erhalten.
illumos ist ein Abkömmling von Solaris-OS/Net, bei dem es sich um einen Solaris/OpenSolaris-Kernel mit dem Großteil der Treiber, den Dateisystemen, den Kernel-Bibliotheken und grundlegenden Kommandos handelt. illumos will zukünftige Änderungen aus OS/Net übernehmen und dabei gleichzeitig versuchen, die eigenen Änderungen am Code zu erhalten, die möglicherweise für den Eigentümer des OpenSolaris-Codes als nicht akzeptabel gelten. illumos hat als Ziel, eine 100-prozentige Kompatibilität mit der Binärschnittstelle (Application Binary Interface) von Solaris-ON zu erreichen (mit Konzentration auf die Kernfunktionen). Es handelt sich aber nicht um eine Distribution (und auch nicht um einen Fork, denn illumos existiert nicht mit dem Ziel anders als die Oracle-Version zu sein, sondern reagiert infolge der Notwendigkeit Closed Source durch Open Source zu ersetzen).
Der Name illumos ist eine Anspielung auf Solaris, aus dem lateinischen „illuminare“ = erleuchten (lumen = Licht) + OS für Betriebssystem (englisch Operating System).
Derzeit ist illumos unter der Leitung von Garrett D’Amore, der ebenfalls für Nexenta arbeitet.

#### Aktuelle Ziele

Die Anstrengungen konzentrieren sich im Moment darauf, Closed-Source-Anteile zu ersetzen, wie:
* libc_i18n (der dazugehörige Code ist bereits in Mercurial integriert und kann getestet werden)
* iconv (an der Integration einer gemeinsamen Implementierung mit FreeBSD wird gearbeitet)
* Programme wie tr, tail, more, sed, pax
* NFS-Lock-Manager für NFSv1 bis NFSv3
* Krypto-Module
* zahlreiche Gerätetreiber, die bislang von Sun als Closed Source von den Herstellern (z. B. Adaptec) bezogen wurden
Das Ziel ist, ein OpenSolaris ohne Closed-Source-Komponenten zu erhalten, das eine Kompilation von Solaris-OS/Net ermöglicht (self hosting).

#### Notwendigkeit

Nachdem am 13. August 2010 aus mehreren Quellen die Information über die geplante Einstellung von OpenSolaris durch Oracle in die Öffentlichkeit drang, wurde die Notwendigkeit, der Community OpenSolaris zu erhalten, offensichtlich.

#### illumos-Distributionen

Die folgende Aufzählung von illumos-Distributionen enthält eine Auswahl an Software-Distributionen auf Basis von illumos. Bei diesen Distributionen wird illumos als Basissystem verwendet, bestehend aus Kernel, elementaren Treibern, wesentlichen Systembibliotheken und Werkzeugen zur Systemadministration. * Dyson: kombiniert das Userland von Debian mit illumos und möchte ein offizieller Debian-Port werden;
* NexentaStor
* OmniOS: auf die Servernutzung spezialisierte Distribution;
* OpenIndiana: Desktop- und Server-Betriebssystem mit dem Anspruch, das Ubuntu unter den illumos-Distributionen zu sein; mit MATE als Desktop-Umgebung; x86, x86-64, SPARC;
* OpenSXCE
* SmartOS: Hypervisor-System für den massenhaften Einsatz von Containern und virtuellen Maschinen; kombiniert OpenSolaris-Technologie mit Linux-KVM-Virtualisierung beispielsweise für den Aufbau von Clouds;
* XStreamOS

## Community

Sun versprach den Aufbau einer Entwickler-Community zur Weiterentwicklung von OpenSolaris. Ein „Community Advisory Board“ (CAB) genannter Beirat wurde zur Initiierung einer demokratisch basierten OpenSolaris-Gemeinde gegründet. Dieser wurde teilweise von Sun bestimmt.
Die Mitglieder des CAB, welches zwischen 2005 und 2007 amtierte, waren:
* Rich Teer (Autor von Solaris Systems Programming, von der OpenSolaris-Pilot-Community gewählt)
* Al Hopper (von Logical Approach, von der OpenSolaris-Pilot-Community gewählt)
* Casper Dik (Senior Staff Engineer bei Sun, von Sun eingesetzt)
* Simon Phipps (Damals Chief Technology Evangelist bei Sun, von Sun eingesetzt)
* Roy Fielding (Mitgründer der Apache Software Foundation, von Sun eingesetzt). Roy Fielding hat seine Mitarbeit am OpenSolaris-Projekt am 14. Februar 2008 gekündigt, weil Sun das Versprechen, die OpenSolaris-Quellen zu öffnen, nicht eingehalten hat.
Zwischenzeitlich gab es eine OpenSolaris-Verfassung und ein jeweils auf ein Jahr durch die Core-Contributoren gewähltes OpenSolaris Government Board (OGB). Da Oracle das aktuelle OGB bislang ignoriert, hat das OGB am 12. Juli 2010 Oracle aufgefordert, bis zum 16. August einen Ansprechpartner zu benennen und Gespräche aufzunehmen und für den Fall der Nichterfüllung den kollektiven Rücktritt angekündigt. Das OGB hat sich Ende August 2010 auch mit einstimmigem Beschluss aufgelöst.