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!