Die Kathedrale und der Basar und wie Fragmentierung einem Projekt mehr schadet als nützt

Eric S. Raymond verfasste und veröffentlichte 1996 einen der grundlegenden Essays zum Thema Opensource: „Die Kathedrale und der Basar.“ In diesem beleuchtet er genauer die unterschiedlichen Vorgehensweisen zwischen kommerzieller Softwareentwicklung und Opensource.

Herkömmliche Softwareentwicklung ist dabei für ihn die Kathedrale: es gibt einen Chefarchitekten, der genau bestimmt, in welche Richtung hin sich die Entwicklung bewegen wird, und dieser leitet das Projekt unangefochten.

Im Gegenzug meint er, dass Opensourcesoftware nach einem anderen Modell entwickelt wird, das er den Basar nennt: da jeder zu einem Projekt beitragen kann, gibt es wenn die Entwicklerbasis für ein Projekt groß genug ist, verschiedene alternative Ansätze zur Lösung desselben Problems, aus denen sich der Projektleiter das seiner Meinung nach am Besten geeignete rauspicken kann – oder man baut einfach beide gleichzeitig ein. Nach Raymonds Meinung ist der Basar wegen seiner Vielfalt der Kathedrale deutlich überlegen. Als erfolgreiche Bestätigung für dieses Modell sieht er den Linux-Kernel an.

Damit mag er Recht haben. Auch Opensimulator selber ist im Grunde so ein Basar: jeder, der zu diversen Problem beitragen will, der kann das natürlich gerne tun, und so ist es oft geschehen und geschieht es auch weiterhin. Auch ist zweifelsohne Opensimulator ein recht erfolgreiches Softwareprojekt: es gibt eine große Nutzerbasis, eine stabile Community um das Projekt und viele kennen es.

Dennoch hat Opensimulator in meinen Augen ein Problem, nämlich seine BSD-Lizenz. Das ist eine der zwei großen Opensource-Lizenzen, die es gibt.

Die bekanntere Lizenz ist von der amerikanischen Free Software Foundation die GPL. Die GPL selber wird auch gerne als virale Lizenz bezeichnet, denn sie besagt folgendes: hier hast du den Sourcecode, mach damit was du willst, solange du die Lizenz beachtest. Solltest du Änderungen an dem Projekt vornehmen und vertreiben, dann hast du auch diese Änderungen dem Projekt unentgeltlich zugänglich zu machen.

Oder anders gesagt: einmal Opensource, immer Opensource. Ein Beispiel dafür, was das genau bedeutet, ist das Android-Projekt. Die haben den Linuxkernel geforkt, jeder Smartphonehersteller nutzt dabei seine eigene Version inkl. Treibern und wegen der GPL sind sie dann dazu verpflichtet, diese Quellcodes der Allgemeinheit zugänglich zu machen. Das tun sie dann auch nach dem erscheinen einer Androidversion mehr oder weniger flott, und deshalb gibt es auch eine große Community an Custom ROMs und dergleichen mehr.

Die BSD-Lizenz selber ist liberaler, sie sagt nämlich nur folgendes: hier ist der Code, mach damit was du willst. Das einzige, was wir erwarten, ist dass du unseren Namen irgendwo nennst und fertig. Wenn du auf Basis dieses Codes kommerzielle Software entwickelst und verkaufen willst, dann kannst du das tun, den von dir auf unserem Projekt aufbauenden Quellcode aber musst du nicht veröffentlichen, wenn du nicht willst. Das ist genau der Gegensatz zur GPL, denn unter der GPL darf man das auch tun, aber muss eben den Quellcode mit den eigenen Änderungen veröffentlichen. Mehr Analysen zum Thema GPL und dessen Sinn liefert in gewohnt guter Qualität Kristian Köhntopp. Lesen!

Nun ist es so, dass Opensimulator die Basis vieler, kommerzieller Grids ist. Diesen kommerziellen Grids ist aber möglicherweise das Plain Vanilla Opensim nicht mächtig genug, weil ihnen da einfach gewisse Features fehlen oder sie ihnen nicht weit genug fortgeschritten sind. Das kommt ja vor, und warum auch nicht, das ist keine schlechte Sache, im Gegenteil es treibt zuerst einmal das Projekt voran und sorgt mitunter für die Entwicklung besserer Komponenten.

Das tut es nun auch tatsächlich, so manches kommerzielle Opensimgrid hat einen oder mehrere Entwickler, die beispielsweise eine bessere Scripting-Engine basteln, die Physik massiv aufbohren oder vieles andere mehr. Diese gridspezifischen Eigenheiten sind dann die Merkmale, mit denen die Grids unter anderem gegeneinander in Konkurrenz treten.

Nichts gegen Konkurrenz, und unter der BSD-Lizenz ist das auch alles erlaubt, aber das Ding ist dann dies: wegen der BSD-Lizenz besteht absolut kein Zwang, die Verbesserungen , Änderungen und Erweiterungen am Opensim-Code mit dem Projekt zu teilen. Was hier also faktisch passiert ist, dass es einen Haufen geschlossener Forks von Opensim gibt, die alle in house entwickelt und gepflegt werden, von denen aber je nach Politik des Entwicklers ggf. nur wieder sehr wenig zurück an die Community fließt.

Beispielsweise war das untergegangene Meta 7 Grid stolz auf seine eigens entwickelte Scripting Engine – und dann gingen sie pleite, die Engine verschwand mit ihnen. Wäre Opensim unter der GPL lizenziert, dann hätten sie diese veröffentlichen müssen und es ans Projekt zurückgeben müssen.

Nun sind Forks normalerweise kein Problem, solange gewährleistet ist, dass man noch innerhalb derselben Codebasis Quellcode tauschen kann. Das ist aber bei Opensim und seinen Abkömmlingen nicht überall unbedingt mehr gegeben.

Man stelle sich nur einmal vor, wie weit Opensim schon sein könnte, wenn es unter der GPL gestanden wäre und all diese netten Inhouse-Entwicklungen Bestandteil der Kerndistribution wären. Da es das aber leider nicht ist, ist das ein frommer Wunschtraum.

So aber bleibt es eben so, wie es ist: es gibt eine einigermaßen stabile Kerndistribution und viele, viele kommerzielle Grids mit ihren Eigenheiten. Sollte aber solch ein Grid untergehen, dann verschwindet mit dem auch dessen Inhalte und die auf deren Eigenheiten basierenden Dinge ziemlich sicher auf Nimmerwiedersehen. Das ist mit Meta 7 damals so geschehen, und keiner kann garantieren, dass nicht irgendwann noch andere Grids pleite gehen werden und dann das Spiel von vorne beginnt.

Schade, aber das ist eben so. Wer wirklich einigermaßen sicher in Sachen Opensimulator agieren will, der sollte daher besser nur die frei verfügbaren Komponenten einsetzen und sich nicht von irgendeiner Firma abhängig machen, die er kaum kennt, weil er gerade erst meinetwegen die Schnauze von Linden Lab voll hat.

Denn wieso sollte man sich von der einen, heftigen Umklammerung freiwillig direkt in die nächste begeben wollen? Wenn schon Freiheit, dann aber auch eben richtig!

Einige Gedanken zu Opensim

Fleep Tuque hat ja in ihrem neuesten Blogpost Opensim massiv gepusht. Ihr Gedankengang dazu ist ungefähr der folgende: als die Zeit des großen Second Life Hypes gewesen ist, da dachten damals, alles sei möglich. Man glaubte ernsthaft, man würde eine bessere Welt erbauen, diese am Entstehen sehen und daher war es eine offene, freundliche Atmosphäre und Community an Leuten, die etwas bewegen wollten.

Mit dabei von der Partie war der damalige CEO Philip Rosedale, der ja von sich selber sagte, er baue kein Spiel sondern einen neuen Kontinent.

Dieser Pioniergeist ist aus Second Life schon lange, lange entwichen. Linden Lab interessiert sich nicht mehr für Bildungseinrichtungen, diese haben ohnehin lieber selber die Kontrolle über ihre Sims und sind meist nach Opensimulator abgewandert.

Auch gäbe es eine Vielzahl an Managemententscheidungen von Seiten Linden Labs, die zeigen würden, dass sich Linden Lab von dem Ziel, das Metaversum (mit) errichten zu wollen, schon lange verabschiedet habe. Rod Humble würde mehr darauf setzen, es mit Spielelementen anzureichern und ein großes Signal dafür sei ja, dass Second Life nun bald über Valves Verkaufplattform Steam zur Verfügung stehen würde.

Kurz und gut, so ist ja Fleeps Credo: das Metaversum sei nach wie vor möglich, aber man müsse etwas dafür tun, damit es Realität würde und eines wisse sie mit Sicherheit, nämlich dass es nicht von Seiten Linden Labs kommen würde. Second Life hätte es werden können, bei all der Abschottung und aktuellen Entwicklungen aber wird es niemals mehr das werden können.

Und genau daher empfiehlt sie ja, dass man sich aus der Umklammerung von Second Life befreien solle, indem man in einem offenen Opensimgrid neu anfängt. Auch wenn Opensim vielleicht nicht all die Inhalte bieten würde, die man gewohnt sei, so ist Opensim das Projekt, bei dem noch am wahrscheinlichsten ist, dass es zum Metaversum werden könnte. Damit mag sie recht haben, wenn nicht Opensim was dann? Sehr viel anderes gibt es da nicht gerade auf dem Radar an weiteren Entwicklungen.

Der Pioniergeist, der einst durch Second Life wehte, ist in offenen OS-Grids allortens spürbar. Ob es aber gelingen wird, mit OS das Metaversum erbauen zu können, ist eine andere Sache.

Wenn, dann ist das genau die Aufgabe eben für Pioniere. Ein Problem aber, das Opensim schlicht und einfach hat ist, dass es nach wie vor ein Nischenprodukt ist. Opensim wird hauptsächlich von einer Schar an SL-Unzufriedenen genutzt, die sich oft dann damit zufrieden sind, irgendwo in einem Grid ihre Sim als Wohnzimmer zu haben und von Einrichtungen, die es für ihre Zwecke nutzen aber gerne alles selber unter Kontrolle haben, wie eben Universitäten. Da glänzt es.

Es hat auch mit dem Hypergrid-Protokoll eine wesentliche Voraussetzung zur Schaffung eines Metaversums mit eingebaut. Eigentlich ist genau dies das Pfund, mit dem Opensim wuchern könnte. Mit Hypergrid braucht man keine zentralistische Struktur mehr wie Second Life, jedem seine eigene kleine Sim irgendwo mit Assetserver, alles schön verteilt und dezentral, wie beispielsweise auch das World Wide Web aufgebaut ist. Das dann eben mit all seinen Vor- und Nachteilen. Aber genau das ist es, was das Metaversum ausmachen würde: diese Offenheit und Freiheit.

Klingt wie eine schöne Idee und erstrebenswert, das ist es auch. In der Praxis dürfte es dann aber bei manchen Leuten an Fragestellungen scheitern, an die wir wohl kaum denken. Beispielsweise kann es im Rahmen einer Schulung dazu kommen, dass jemand gerne Powerpoint on a Prim auf seiner Sim zeigen würde, ja könnte gehen aber man darf suchen, bis es funktioniert – oder nutzt statt dessen HTML on a prim.

Was mir persönlich ein wenig bei Opensimulator einfach fehlt, damit es endlich den notwendigen Durchbruch schafft, ist die Erarbeitung eines richtig eigenen Profils. OS wird immer irgendwie als billige Kopie von Second Life angesehen, wo alle nur so fleißig rumkopieren und das war es auch.

Es steckt viel mehr in der Software drin, aber solange man sich nicht auf die eigenen Stärken besinnt und vielleicht auch einmal endlich einige harte, aber auch notwendige Schnitte vornimmt, wird es bei OS so bleiben, wie es ist, nämlich als ein Projekt mit viel Potential, das es aber nicht schafft, dies vollends auszuschöpfen und viele zu begeistern.

Es ist nun einmal so, dass bei Linden Lab sicherlich ein gut finanzierter Programmiererstab mit einer zweistelligen Anzahl an Leuten alleine an der Serverseite schraubt; damit kann Opensim nicht mithalten. Also müsste man, wenn schon die Prioritäten anders setzen.

Linden Lab, Havok, TPVs und Opensim

Linden Lab hat ja mit der Havok-Unterlizensierung angefangen, nichts neues. Diese Viewer dürfen dann nicht mehr nach Opensim verbinden dürfen, weil ganz einfach die Havok-Lizenz Linden Labs selbst nur das Verbinden zum Second Life Grid erlaubt und nicht mehr. Wieso sollte auch Linden Lab dafür Geld ausgeben wollen, dass man damit zur Konkuzrrenz Verbindung aufbauen kann – wenn man es denn überhaupt Konkurrenz nennen kann?

 In einem dazu schon was älteren Artikel von Hypergrid Business ist mir dabei folgender Satz aufgefallen, der doch ein beachtliches und übergroßes Selbstbewußtsein der Autorin offenbart:

To some observers, Linden Lab’s failure to embrace OpenSim and the hypergrid is a sign that the company has lost its original passion and focus.

By isolating itself from OpenSim, the company may be trying to preserve its business model, but at the expense of having a role in the future development of the metaverse.

Auf Deutsch:

Für einige Beobachter ist Linden Labs Versagen, Opensim und das Hypergrid zu umarmen ein Zeichen dafür, dass die Firma ihre ursprüngliche Passion und die ursprünglichen Ziele verloren hat.

Indem man sich selbst derart von Opensim isoliert, mag die Firma so ihr Geschäftsmodell retten, aber das geht nur auf Kosten der Rolle, welche man in der zukünfigen Entwicklung der Metaversen spielt.

Also ich habe schon wirklich lange nicht mehr solchen Mist wie diesen da gelesen. Wenn man das wirklich glauben sollte, was da geschrieben steht dann glaubt man auch tatsächlich daran, dass der Schwanz mit dem Hund wedelt.

Ja, Second Life funktioniert als walled garden, das stimmt. Aber nach wie vor setzt Second Life die entscheidenden technischen Impulse in der technischen Entwicklung und nicht Opensimulator, die es bis auf das Hypergrid nicht geschafft haben, wirkliche eigene Impulse zu setzen.

Und wenn ich mir dann anschaue, in welcher Schlagzahl Linden Lab gerade Neuerungen wie Path Finding und die grafische Mapping unters Volk bringt, dann bin ich mir ziemlich sicher, das wird sich auch in mittlerer bis längerer Zukunft nicht wesentlich verändern.

Linden Lab unterbindet die Nutzung ihrer eigenen Viewer mit Opensim

Linden Lab hat letzte Woche in ihren eigenen Beta- und Entwicklungsviewern den Kommandozeilenparameter „-loginURI“ ersatzlos gestrichen, mit dem es bisher möglich gewesen ist mit Linden Labs eigenen Viewern per Hand andere Grids anzusteuern.

Dazu gibt es folgenden Chatlog mit Oz Linden, in dem er es Nebadon Izumi erklärt:

[10:07] <nebadon> OzLinden : ping
[10:09] <OzLinden> pong
[10:10] <nebadon> are you guys really removing -loginURI support from the viewer?
[10:10] <nebadon> or is that just a mistake?
[10:10] <nebadon> cause latest Dev and Beta viewers get an error if you try to use it
[10:11] <OzLinden> that was deliberate, but there is a related bug that I’m working on now
[10:12] <nebadon> ok so it will eventually be back?
[10:12] <OzLinden> no, I don’t believe so
[10:12] <nebadon> why is it being removed?
[10:13] <OzLinden> part of cleaning up grid handling – it really doesn’t serve much useful purpose
[10:13] <nebadon> sure it does
[10:13] <nebadon> it lets us connect to opensim
[10:14] <nebadon> this essentially kills all support for OpenSim
[10:14] <OzLinden> which our Havok license does not allow

Kurz und gut: der Parameter wurde aufgrund von internen Bereinigungen am Gridhandling entfernt, da er zudem nicht wirklichen Sinn gemacht hätte. Nebadon warf ein, der Parameter hätte sehr wohl Sinn gemacht, da man so mit Linden Labs Viewern zu Opensim hätte verbinden können, worauf Oz Linden einwarf, dass die Havok Lizenz, welche Linden Lab erworben hat, genau das verbietet. Zur Erinnerung: wegen der Einführung des Pathfindings hat Linden Lab dem Viewer selber Teile von Havok beilegen müssen.

Was bedeutet das nun für die Zukunft? Die Mehrheit der Opensimbewohner hat ohnehin nicht Linden Labs eigenem Viewer benutzt, man bevorzugt Hippo, Imprudence und Singularity, sie wird es wohl kaum vermissen.

Für Viewerentwickler wiederum wird es nur dann interessant, wenn auch sie Pathfinding aktiv haben wollen, denn dann darf auch deren Viewer nur zu Second Life verbinden können. Firestorm hat das Problem so gelöst, indem es nun einen Firestorm für SL gibt und einen eigenen für Opensim geben soll.

Dass so etwas kommen wird, war klar. Die Auswirkungen sind aber wesentlich weniger drastisch, als mancher meinen könnte. Bei Hypergrid Business jedenfalls haben sie ein Fass aufgemacht und dabei alles zu Wort kommen lassen, was im Bereich Opensim Rang und Namen hat. Natürlich steht es jedem Entwickler von alternativen Viewern nach wie vor frei, diese Funktionalität wie auch immer geartet im eigenen Produkt zu bieten, sei es als Kommandozeilenparameter oder Gridmanager. Linden Lab jedenfalls wird das nicht mehr tun.

Kokua Viewer Beta Downloads

Es ist ja schon seit längerem still geworden um den Imprudence-Viewer bzw. dessen offiziellen Nachfolger Kokua. Jacek Antonelli hörte bereits vor Monaten auf, an den Viewern zu entwickeln und Nicky Perian übernahm das Ruder.

Nur weil es aber im Blog von den Machern still geworden ist, so heißt das noch lange nicht, dass sie nicht weiter am Viewer arbeiten würden. Weit gefehlt, am Kokua Viewer wird gerade munter geschraubt und gehämmert, und es gab einige Ankündigungen von Nicky Perian in der Opensim-Users-Mailingliste, das neue Betas zum Download bereit stünden.

Interessant ist das auch und vor allem für Benutzer von 64bit-Linux, da es Kokua in einer nativen Version für diese Plattform gibt.

Also – wer Kokua in der aktuellen Beta mal testen will, der wird hier fündig: https://bitbucket.org/NickyP/kokua-dev/downloads. Es gibt dort Downloads für Linux und Windows, der Stand ist Mitte Juni. Have fun!