OSS und Vielfalt
Zebuntu heißt nun zeVenOS, aus irgendwelchen rechtlichen Gründen. Bernd Korz (der Mensch hinter Zeta) ist auch nicht mehr dabei, und irgendwie ist das Ding eh etwas seltsam: “yet another Ubuntu distro”, mit “BeOS touch”.. Hmm..
Naja, scheint, als ob der Hauptentwickler von dem System einfach eine nette Zusammenstellung neuer Defaults und Tools in ein ISO-Image presst. Zu Open Source-Entwicklung hat er jedenfalls folgendes zu erzählen:
Als Schlusswort, Vielfalt, ist je wie man es sieht ein Vorteil oder Nachteil von freier und offener Software. Ich sehe Vielfalt eher als einen Vorteil, solange man sich an Standards hält. Sprich man entwickelt sich z.B. nicht seinen eigenen Kernel oder Treiber.
Dies wurde nämlich bereits einmal gemacht. Damals hieß das System Unix. Dies war der Untergang des Systems. Es setzte sich gerade auf dem Desktop überhaupt nicht durch. Die Inkompatibilitäten unterseits führen auch gerade jetzt dazu, dass immer mehr Firmen weg von Unix Servern hinzu Linux Servern wechseln.
Meiner Meinung nach sollte es nicht daraufhin herauslaufen, dass man nur einen Linux Desktop und damit eine Distribution anbietet, denn dann hat man eine ähnliche Situation wie mit Microsoft Windows heutzutage. Aus der Lizenz zu schließen, wird es auch nie zu so etwas kommen können.
Von der historischen Verzerrung (die Unix-Systeme unterschieden sich nicht primär duch einen “eigenen Kernel oder Treiber”, sondern in aller Regel durch unterschiedliche Architekturen, auf denen sie liefen, und -schmerzhafter - inkompatiblen APIs für Anwendungsentwickler) mal abgesehen frage ich mich, was dieser Seitenhieb gegen nicht-Linuxsysteme (etwa Haiku, Syllable, …) denn soll. Und dabei lasse ich mal außen vor, dass Linux selbst nur ein “me too”-Projekt ist (BSD in seiner Gesamtheit ist älter).
Unixoide Kernel sind trivialer Kleinkram (der dann beliebig aufwändig optimiert und verbessert werden kann), der zu Dutzenden in irgendwelchen Uni-Kursen von Studenten zusammengefrickelt wird. Treiber sind (dank Linux, FreeBSD und OpenBSD) auch kein Problem mehr - man kann sie bei Bedarf relativ schnell portieren (außer Grafikkartentreibern, da besteht Vendor-Lockin - im OSS-Bereich).
Es ist ein überschaubares Problem, einen Kernel mit einer handvoll Treibern zusammenzustellen, mal ein Beweis ;-) durch Aufzählung: Syllable, Haiku, SkyOS, Linux - und die hunderte von “Spielzeugkernels”, denen “lediglich” der Überbau fehlt - also Userspace, lasse ich mal weg.
Einen wirklich guten Desktop gibts irgendwie noch nicht.
Wenn ich mir die Freedesktop.org-Spezifikationen so ansehe, wird ein guter Desktop “kompatibel” auch kaum möglich sein (nun, alles abhängig davon, was “gut” nun eigentlich bedeutet).
Diese Spezifikationen bauen einen immer größeren Stack auf, um Probleme relativ weit “oben” zu bearbeiten, die “unten” eventuell besser gelöst wären: Message Passing? Klar, Userspace Daemon (“D-BUS”). BeOS macht sowas mit per-Thread Message Queues (Kernel-Support). Aber das wäre ja nicht “Unix” (was auch immer das dann heißt).
Man muss also, um “kompatibel” zu sein (ein Erfolgskriterium, nach obigem Quote) 150MB Bloat im RAM rumschleppen, und hunderte von APIs implementieren und nutzen, um so grundlegende Geschichten wie Interprozesskommunikation abzuwickeln. Oder einem Window Manager Support für die ca. 700 Hints mitgeben, mit denen man X11 soweit aufbohrt, dass es doch wieder halbwegs state of the art ist. Oder einen Composition Manager implementieren, damit die modernen Grafikeffekte umgesetzt werden können (der kann - realistisch gesehen - eh nur lokal laufen, aber wo man ja schon so einen tollen Kommunikationskanal, eben das X11-Protokoll, hat, muss man den ja auch nutzen - also: noch mehr Komplexität, um diese Gigabytes an Bitmaps irgendwie durch ein Netzwerkprotokoll zu schieben).
Man kann sich das Problem aussuchen: Kompatibel sein, was bedeutet, dass man jede Menge Zeugs übernimmt oder neu implementiert, das man vielleicht gar nicht haben wollte, wodurch man am Ende auch nicht wirklich vom Rest zu unterscheiden ist (und wenn man eh nur “noch eins” macht, warum dann eigentlich - außer zu Lehrzwecken?).
Oder etwas neues schaffen - mit allen Problemen, die sich dadurch auftun: neue Schnittstellen, wenig Software, Fragmentierung des “Marktes” - eben den Problemen, mit denen sich die UNIX Systeme rumgeschlagen haben. Linux “löste” diese Probleme durch - Monokultur (womit wir bei Windows wären, was im Quote ja auch schon besprochen wurde).
Gemäß meiner Theorie, dass Kompatibilität gute Entwicklungen zu sehr einschränkt: Wird zeVenOS nun kompatibel, oder wird es gut?