Bedeutung von Open Source in 2015

Bei einem Bier Gespräch mit Norbert Eder, kam das Thema auf meine aktuelle Meinung zu Open Source. In der Community ist ein Blog Eintrag vor ca zweieinhalb Jahren durchaus heftig diskutiert worden. Fazit daraus, die Verfügbarkeit von Quellcode unter OS Lizenz hat keine Bedeutung für mein Business. In  der Zwischenzeit ist viel passiert, einiges was meine damalige Meinung stützt und anderes was meine Sicht auf die Dinge verändert hat.

Open Source basierte Software ist nicht besser oder sicherer als Closed Source. Dieses Thema hatte ich anlässlich des Sicherheits Problems Heartbleed aufgegriffen. Es fehlt schlicht jeder Beweis für die häufig vertretene These, das hunderte Entwickler den Code prüfen und damit Sicherheitsprobleme sofort auffallen und gelöst werden.

Aus der Sicht als Microsoft Kunde, hat die Veröffentlichung des Quellcodes in der Vergangenheit praktisch meist das Ende des Produktes bedeutet. In jedem Fall wurden Developer Ressourcen abgezogen und die Qualität leidet.

Mein Bedürfnis Quellcode einer Bibliothek zu lesen und vielleicht sogar einen Bug zu fixen hält sich erheblich in Grenzen. Gleiches gilt für Consumer und sicher auf in weiten Teilen für den Enterprise Kunden. Norbert führte ins Feld, das er die Möglichkeit nutzt und auch schon mal Code zurück geleifert hat, neudeutsch contributed. Für mich habe ich dies in den Anfängen von .NET mit ildasm ab und angenutzt um IL Code zurück zu Compilieren und auch mal eine Klasse mit diesem Fragmenten neu zu schreiben. Mit steigender Funktion und Stabilität von .net hat sich dies erübrigt.

Nur ein sehr kleiner Teil der Community ist fähig und willig Code zu contributen. Aus einer konkreten Problemstellung in Angular, kann man auf github nachvollziehen, das es mit der Innovation und den kurzen Zyklen nicht immer so weit her ist. Konkret fehlt eine häufig gewünschte Funktion seit fast drei Jahren.  Angular ist ohnehin ein Spezialfall, weil Google getrieben und bezahlt. Trotzdem wird nur  Support von ca 18 Monaten angekündigt. Im Vergleich dazu bei Microsoft Silverlight zehn Jahre. Wie die Erfahrung zeigt, kann das Ende in jedem Fall schnell und überraschen kommen- in dieser Hinsicht steht es 1:1.

Dabei gibt es durchaus eine Reihe von Leuten die außerhalb des Angular Projektes den Aufwand getrieben haben und dieses fehlende Feature entwickelt haben. Dazu gehöre auch ich. Allerdings findet sich meine Lösung als Blog Beitrag, schlicht weil ich den Aufwand mit Github nicht treiben möchte und auch Zweifel habe ob meine Lösung wirklich optimal ist. Was ich definitiv nicht brauche ist emotionale Diskussion bis hin zum Shitstorm meiner Arbeit, Norbert Eder fordert in diesem Kontext mehr Mut und verspricht sich davon die persönliche weiter Entwicklung.

Welche Auswüchse die Selbstorganisation von Open Source Projekten annehmen kann, sieht man an Node.js oder Angular 2. Erst passiert längere Zeit nichts, dann gibt es eine Abspaltung, Fork genannt und keiner weis so recht, wie es weiter geht. Durchaus häufig Bloggen Core Entwickler Ihren Unmut und die Beweggründe für Ihren Ausstieg, was dem Projekt nicht zuträglich ist. Natürlich kann das bei Unternehmen auch passieren, allerdings sind diese für Ihre Produkte haftbar. Das kann richtig ins Geld gehen. Open Source Projekte sind da fein raus, da haftet niemand. Mitarbeiter sind überdies Vertraglich zur Verschwiegenheit verpflichtet.

OS Bibliotheken werden in der Regel völlig Enthusiastisch von der Community aufgenommen  und über Nacht zum defacto Standard deklariert. Wer Zweifel äußert, hat nicht verstanden oder sich noch nicht hoch genug in die spirituellen Welten begeben.

Wenn Monate später Design oder Performance Ziele nicht erreicht wurden, wird still und heimlich eine neue JavaScript Sau durchs Dorf getrieben. Da bleibt keine Zeit für Manöver Kritik und Analyse des Scheiterns. Hintergründe sind bestenfalls einer Handvoll Insidern bekannt.

In einem User Group Vortrag von Mike Bild zum Thema Microservices, fiel nebenbei die Bemerkung “mit dem alten Zeugs, bekommst schlicht keine Entwickler mehr”.  Das geht sogar soweit, das jeder Service mit einer eigenen Technologie gebaut werden kann. Ein Gedanke der sich mit der generellen Veränderung des Weltbildes der heutigen Berufseinsteiger gut deckt. Mann will selbstbestimmt leben. Ein Pflichtenheft degradiert dabei zum Code Monkey. Das bedeutet das es Technologie Entscheidungen gibt, die die Anzahl der Bewerber erheblich steigern können. Richtig- die ganze Java Script Welt scheint  aus diesen Nektar zu sprießen. Die agilen Methoden liefern genau dafür Management freie Umgebungen. Jeder tut was er kann und will. Der Kontrollverlust ist Horrorvorstellung für fast jeden Entscheider.

Microsoft setzt seit einigen Jahren auf Open Source, weit über das Ajax Control Toolkit hinaus. Man fragt sich warum. Wo wird dadurch Geld verdient? Speziell da sich der Redmonder Hersteller diesen Projekten regelrecht anbiedert und dabei die gestandenen Microsoft Kunden gefühlt im Regen stehen lässt. Seit Windows 8, also schon vier Jahre, werden JavaScript und co propagiert. Der einzige Zweck kann nur sein, Teile der nicht Microsoft Welt abzuholen. Gefühlt ohne große Resultate, dafür aber plötzlich mit einem Migrationspfad, der weg von Microsoft führt. In der Tat sind einige MVP’s in der Zwischenzeit stolze Mac User mit veränderten Entwicklungsfocus.

Gern zitiertes Argument pro Shared und damit Quell Offener Software ist der letztendlich verlorene Kampf der Microsoft Encarta vs Wikipedia. In erster waren viele Entwickler und Autoren beschäftigt und bezahlt. Wikipedia arbeitet kostenfrei und sogar (fast) ohne Werbung.

image

Auch Wikipedia kennt die Community üblichen Grabenkämpfe zwischen der für Reinheit kämpfenden Elite und anderen Autoren. Auch Wikipedia braucht Geld. Das allerschlimmste aber, es ist nur Platz für ein einziges Wikipedia. Es kann keine Konkurrenz und damit auch keine Innovation mehr gegeben. Die Zukunft wird eine Welt der Monopole bringen.

Die Microsoft Openess gipfelt in der Veröffentlichung von Kern Teilen des .NET Frameworks, Ich könnte meinen ASP.NET 5 Code nun teilweise auf einem iOS hosten. Warum sollte ich das? Ich würde mir mehr wünschen, das Silverlight auf iOS oder Android läuft. Aber das ist eine andere Geschichte.

Die neue selbstbestimmte Generation findet also sich und den Shared Gedanken in Open Source wieder. Diese Mitarbeiter sind damit intrinsisch motiviert und schaffen auf Vertrauensbasis. Soweit das Ideal. Allerdings wechselt Motivation und unterliegt der Tagesverfassung. Man hat Sorgen, Krankheit  oder einen blöden Chef der das alles nicht versteht. Produkte müssen trotzdem fertig werden. Den durchaus nicht neuen agilen Gedanken findet man als Vorgehensmodell in SCRUM definiert. Den größten Vorwurf den ich z.B. Scrum mache ist, das von einer idealen Welt ausgegangen wird. Der krank feiernde Kollege existiert darin nicht.

Auch Open Source enthält Übles und wir haben keine Mechanismen damit umzugehen. Paket Manager werfen gnadenlos zehntausende Zeilen Code in das Projekt. Selbst wenn man alles validieren würde, erlauben es die extrem kurzen Zyklen nicht, den Code Fehlerfrei zu halten. Enterprise Kunden stiegen dann aus npm und nuget aus und pflegen ihren veralteten Open Source Code selber weiter. Persönlich erwarte ich den ein oder anderen Sicherheitsgau auf uns zukommen.

Allerdings hat Open Source wesentliche Impulse geliefert um in diesem Umfeld überhaupt Software produzieren zu können. Das öffnen einer Issue List für jedermann, die kurzen Zyklen und das ggf. direkte Eingreifen in den Code findet man in Wasserfall basierenden Modellen nirgends. Diese dafür entwickelten Konzepte erlauben es nun viel schneller Produkte in den Markt zu bringen. Der vorläufige Höhepunkt aus der Open Source Community ist DevOps mit Vermischung von Administration und Programmierung. Die Release Zyklen gehen dabei bis in den Minutenbereich und erlauben dann kaum noch automatisierte Tests.  Codieren sozusagen am offenen Herzen. Nichts desto trotz sind die Vorgehensweisen essentiell beim Fixen on Hot Bugs in stark genutzten Web Anwendungen. Einen mehrstündige Down kann sich eine Azure Cloud nicht leisten.

Open Source wird weiter das Business aufrollen. Getrieben vom Trend der Shareconomy. Persönlich sehe ich das nur als schmalen Aspekt einer tiefgreifenden gesellschaftlichen und wirtschaftlichen Veränderung. Welche Risiken und Veränderungen sich daraus ergeben, lässt sich nicht einmal im Ansatz abschätzen. Bei weiten Teilen der Community spielt Risiko Betrachtung aktuell gar keine Rolle mehr. Letztendlich bleibt auch die Frage offen wie unsere Geschäftsmodelle der Zukunft aussehen werden, wenn plötzliche keine Software Lizenzen  mehr verkauft werden.

Kommentare sind geschlossen