Tags: | Categories: Deutsch Posted by AlexanderZeitler on 7/23/2012 4:49 PM | Comments (4)

Hannes hat letzte Woche die Veröffentlichung des Entity Frameworks von Microsoft als Open Source Software zum Anlass genommen, seinem Unmut über die zunehmende Verbreitung von Open Source Software und offene Standards  freien Lauf zu lassen (bitte erst den Artikel von Hannes inkl. der Kommentare lesen, bevor es hier weitergeht).

Ich habe Hannes bisher eigentlich als Jemanden kennengelernt, der beim KnowHow rund um das .NET Framework auf der Höhe der Zeit ist – nicht zuletzt bedingt durch seine Blog-Posts zur Windows 8 Entwicklung. 

Seine folgende Äußerung ist deshalb für mich sicher ein Stück weit Übertreibung:

Ich muss jetzt mal eine Lebensbeichte ablegen, ich versteh das alles nicht mehr. Ich werde nie in den Source Code reinschauen und schon gar nicht kompilieren. Mich regt das ganze SDK und Toolkit Source Gedöns ohne Ende auf. Vielleicht gibt es ja auch berufenere wie mich. Jemand der in zwanzig Bibliotheken, jede Zeile kennt. Jemand der in Mikrosekunden zwischen Sprachen umschalten kann und jedwelche Syntax Variante Fehlerfrei mit 250 Anschlägen pro  Minute runtertippt. Jemand der sämtliche .NET Framework Varianten und API Unterschiede, ohne Luft zu holen, runterbeten kann.

Der Kern der Aussage bleibt aber sicher bestehen und lautet wie folgt: Wir brauchen Open Source Software nicht.

Dem trete ich entschieden entgegen und zwar aus folgenden Gründen:

  • Open Source ermöglicht mir, den Quellcode der verwendeten Software oder Komponente zu lesen und zu bearbeiten, was für mich folgende Vorteile mit sich bringt:

    • Ich habe die Sicherheit, dass, falls der ursprüngliche Entwickler die Software oder Komponente nicht mehr selbst weiterentwickelt, ich oder andere trotzdem notwendige Veränderungen vornehmen. Genau dies ist tatsächlich passiert, als ich vor ein paar Tagen für den von Peter Bucher entwickelten und von mir in 99% der Projekte eingesetzten IoC-Container LightCore die Integration für ASP.NET Web API implementiert habe. Peter betreut das Projekt seit einiger Zeit nicht mehr selbst. Dies ist aber kein Problem, da Golo Roden und Jürgen Gutsch diese Aufgabe übernommen haben und das Projekt auf GitHub gehostet ist.
    • Ich habe die Gewissheit, dass keine Features wie “Nach Hause telefonieren” in Software oder Komponenten implentiert sind.
    • Ich habe die Möglichkeit, anhand des Open Source Projektes zu lernen. Zum Einen kann dies der Quellcode selbst sein, der mir neues Wissen vermittelt. Zum anderen kann dies aber auch das “Drumherum” sein, also Projektmanagement, Quellcodeverwaltung (ja, es gibt ein Leben nach TFS!), Continuous Integration, Continuous Delivery, TDD, BDD usw.

  • Für die Allgemeinheit bringt es – ob vom einzelnen gewollt oder nicht – folgende Vorteile:
    • Mehr Innovation auch in Closed Source, denn durch Open Source werden etablierte Closed Source Projekte unter (Qualitäts-) Druck gesetzt. Bekanntestes Beispiel: Linux <-> Windows
    • Höhere Qualität, da der Code öffentlich einsehbar und im Bedarfsfall auch durch Dritte verbessert werden kann (Vier-Augen-Prinzip erweitert auf n-Augen) und Bugs in der Regel sehr schnell gefixt werden.
    • Kürzere Entwicklungs- und Innovationszyklen, da weltweit fähige Leute gezielt ein Projekt voranbringen können. Bei Closed Source arbeitet in der Regel ein Team aus Leuten zusammen, die eben zu der Firma gehören und jetzt “den Job” erledigen müssen. Der Spass beim Entwickeln und somit letztlich die Qualität und Innovation bleibt dabei leider häufig auf der Strecke. Im Gegenteil führt es sogar häufiger zu Frust, weil die Leute in den Firmen dank teilweise sinnfreien Prinzipien und strikten Vorgaben gute Ideen nicht umsetzen können.

Ich für mich persönlich könnte mir schon seit Jahren nicht mehr vorstellen, ohne Open Source Software, Frameworks oder Komponenten Lösungen für Kunden zu entwickeln.

Hier ein kleiner Auszug der von mir täglich verwendeten Open Source Projekte (teilweise konnte ich auch selbst etwas dazu beitragen):

Die Liste liese sich noch beliebig erweitern… und sie zeigt vor allem, wo die Innovationen der letzten Jahre in der Software-Entwicklung stattgefunden haben.

Dass der Einsatz von Open Source in der sogenannten “professionellen” oder “Enterprise” Software-Entwicklung mit .NET (beides IMHO ziemlich geschwollene Begriffe) inzwischen durchaus relevant ist, zeigen übrigens GROSSWEBER, die unter anderem Trainings  zu Open Source Projekten – inkl. Praxis-Erfahrung aus dem Einsatz von Open Source in eigenen Projekten - anbieten.

Comments

Comments are closed