Softwareentwicklung

Open Source. Warum Sie quelloffenen Technologien vertrauen können

: Es gibt viele gute Gründe, um für die Entwicklung intelligenter Software Open Source zu verwenden. Welche das sind, erfahren Sie in diesem Blogbeitrag.

Open Source

Open Source Software ist Software, deren Quellcode kostenlos verfügbar ist und der kostenfrei genutzt, verändert und weiterverbreitet werden darf, auch in veränderter Form. Open Source Software wird in der Regel von mehreren Leuten entwickelt und wird unter einer Lizenz veröffentlicht die der Open Source Definition entspricht.

Als Anbieter maßgeschneiderter IT-Lösungen verwenden wir bei Micromata oft und gerne Frameworks, Sprachen und Bibliotheken aus der Open-Source-Familie Im Gegensatz zu proprietären Technologien bieten sie uns ein weitaus höheres Maß an Innovationskraft, Zukunftssicherheit und Gestaltungsfreiraum, um für unsere Kunden passgenaue und nachhaltige Webanwendungen zu entwickeln.

Open Source als Fortschrittsmotor

Die Open Source Community geht davon aus, dass der allgemeine technische Fortschritt nicht allein durch proprietäre Software erzielt werden kann, sondern im Gegenteil durch einen offenen und freien Know-how-Transfer begünstigt wird. Um das zu erreichen, wird der Quellcode einer Software offengelegt, damit er unabhängig von kommerziellen Interessen weiterentwickelt werden kann. Diese egalitäre Auffassung bildete lange einen Gegensatz zu den Interessen kommerzieller Softwarehersteller und ging in der Tat mit einem generellen Zweifel an der Patentierbarkeit von Software einher, die letztlich, so die OS Community, nur die praktische Anwendung allgemein gültiger mathematischer Regeln sei.

Aus den 60er Jahren stammend, hat dieser Denkansatz in den 80ern erheblich an Relevanz gewonnen, namentlich durch die Entwicklung von Linux und die zunehmende Nutzung des Internets. Galionsfiguren der Open-Source-Bewegung jener Zeit waren Richard M. Stallmann, Initiator des GNU-Projekts und Gründer der Free Software Foundation, und Linus Torvald, Erfinder von Linux. Nachdem die Begriffe „Free“ und „Open Source“ zunächst nur als Anreiz für Unternehmen dienen sollten, quelloffene Software einzusetzen, und dabei bewusst mit der Doppeldeutigkeit von „free“ aka „frei“ aka „kostenlos“ spielten, rückte das Ideal des partizipativen Fortschritts immer stärker in den Vordergrund.

Aus gutem Grund, denn OS-Software weist durch die permanente Weiterentwicklung eine sehr hohe Innovationskraft auf. Hier ein paar Vorteile, die sie gegenüber Closed-Source-Software insbesondere auch für Unternehmen mitbringt:

Vorteile gegenüber proprietärer Software:

Kosten: OS-Software ist kostenlos nutzbar
Transparenz: Da der Quelltext von OS-Software offenliegt, kann die Qualität des Codes viel besser bewertet werden
Sicherheit: Das Mehr-Augen-Prinzip bei der Entwicklung von OS-Software erhöht deren Sicherheit im Vergleich zu proprietären Lösungen essenziell
Freiheit: Die Nutzer sind nicht an einen Anbieter gebunden, sondern können einen gemischten und flexiblen Technologie-Stack verwenden – es gibt also kein Vendor lock-in
Kompatibilität: Durch dokumentierte Datenformate ist OS-Sofware wesentlich kompatibler mit anderen Technologien, da diese viel besser an jene angepasst werden können
Zukunftssicherheit: Die große Nutzer- und Entwicklergemeinde in der Open Source Community stellt die nachhaltige Weiterentwicklung von OS-software sicher. Selbst wenn die Arbeiten an einer Technologie eingestellt werden, können sie jederzeit wieder aufgenommen werden – von den Initiatoren selbst genauso wie von den Nutzern

Demgegenüber gilt für proprietäre Software: Die Bearbeitung oder Verbreitung von Code ist untersagt, der Quelltext ist verschlüsselt und nicht einsehbar, die Software kann vom Nutzer nicht überprüft oder verändert werden.

Vorteile gegenüber inhouse-geschriebener Sofware:

Verlässlichkeit: OS-Lösungen sind in der Regel »battle proven«, sie haben eine hohe Testabdeckung und sind in einer Vielzahl von Systemlandschaften und Situationen nutzbar
Kosten: Fertige Lösungen können kostenlos genutzt werden
Dokumentation: Die Dokumentation bei OS-Software besteht bereits, bei neugeschriebener Software muss sie erst erstellt werden
Problemlösungen: Nach der Devise „Hilfe zur Selbsthilfe“ wird auf Q&A-Plattformen wie Stack Overflow ein effizienter und niederschwelliger Support für die Arbeit mit OS-Technologien angeboten.
Time to market: Auf bereits Erprobtes zurückzugreifen verbessert die Time-to-market-Bilanz erheblich
Maintenance: Dadurch, dass OS-Software von mehreren Leuten maintaint wird, erzielt sie auch hier eine sehr hohe Qualität
Risikosicherheit: Dadurch, dass das Know-how bei Open Source auf viele Köpfe verteilt ist, sinkt das Projektrisiko, das sonst durch Ausfälle, Latenzen oder Inselwissen entstehen kann

Open Source bei Micromata

Auch Micromata verwendet Open Source Software. Je nach Art der verwendeten Software bestehen dabei unterschiedliche Rechte und Pflichten und es gibt eine Vielzahl von Lizenzen. Für ein erstes Verständnis ist es wichtig zu wissen, dass es Copyleft-Lizenzen und Non-Copyleft-Lizenzen gibt.

Copyleft-Lizenzen verpflichten den Nutzer, die Fortentwicklung von OS-Software und davon abgeleitete Werke den Bestimmungen der Copyleft-Lizenz zu unterstellen. Damit soll sichergestellt werden, dass alle, die von Open Source Software profitieren, die Open Source Community an der Weiterentwicklung teilhaben lassen, immerhin lebt diese ja von einem freien Know-how-Transfer.

Non-Copyleft-Lizenzen bieten Lizenznehmern hingegen alle Freiheiten einer Open-Source-Lizenz, ohne ihnen Bedingungen hinsichtlich des Lizenztyps des veränderten Codes aufzuerlegen. Daher kann veränderter Code unter abweichenden Lizenzbedingungen weiterverbreitet und sogar auch in proprietärer Software verwendet werden.

„Bei Micromata gibt es klare Richtlinien für die Verwendung von Open Source Software und es liegt ein sehr hohes Bewusstsein gegenüber den lizenrechtlichen Anforderungen an die Verwendung von Open Source Software vor“, so Sandra Strube, Justiziarin bei Micromata.

In den Fällen, wo Non-Copyleft-Lizenzen zum Einsatz kommen, stellt dies für die Open Source Community im übrigen keinen ernsthaften Verlust dar, zumal es andere Wege gibt, ihr etwas zurückzugeben. Neben unserer eigenen Open-Source-Plattform Micromata Labs sind das vor allem Initiativen zum Know-how-Transfer wie die Java User Group Hessen, das IT-Security Meetup Kassel, oder der Webmontag Kassel. Erwähnung finden sollte in diesem Kontext auch die ehrenamtliche Mitentwicklung von Open-Source-Technologien wie JUnit 5 durch unseren Softwareentwickler Christian Stein oder Yeoman durch unseren Frontendentwickler Michael Kühnel.

Open Source Friday

Ferner nehmen die Entwickler bei Micromata an regelmäßig wiederkehrenden Open-Source-Ereignissen teil, namentlich am Hacktoberfest oder jetzt erstmalig beim internationalen Open Source Friday.

Der Open Source Friday bei Micromata

Der Open Source Friday ist eine Initiative von GitHub und vermittelt die Idee, sich Freitags an der Software, die man nutzt und mag, zu beteiligen. Das Ansinnen dahinter: Wir nutzen jeden Tag Open-Source-Software und profitieren tagtäglich von der Arbeit der Community. Darum nehmen wir uns jetzt die Zeit, selbst etwas beizutragen und nutzen dafür die GitHub-Plattform.

Teilnehmen können nicht nur Entwickler, sondern jeder, der der Open-Source-Welt etwas zurückgeben möchte. Das können neben Code auch Texte oder Grafiken sein.
Im Gegensatz zum Hacktoberfest gibt es dabei für die Teilnehmer kein festes Ziel.

Warum wir mitmachen

Neben dem Wunsch, der Open Source Community etwas zurückzugeben und ihr auf diese Weise Wertschätzung zukommen zu lassen, gibt es weitere handfeste Gründe und Ziele, sich am Open Source Friday zu beteiligen :

  • Bestehende Fähigkeiten ausbauen und festigen
  • Die eigene berufliche Qualifikation fördern
  • Den fachlichen und technischen Horizont erweitern
  • Durch Feedback Denkanstöße bekommen
  • Menschen mit den gleichen Interessen kennenlernen
  • Mentoren oder Freunde finden
  • Von den Besten lernen

Stimmen zum Open Source Friday bei Micromata

„Der erste Open Source Friday war ein voller Erfolg. Die Teilnehmer waren alle sehr enthusiastisch dabei und wir haben in verschiedensten Projekten erfolgreiche Pull Request landen können – das freut mich als Initiator ganz besonders. Ich selbst habe bei dieser Gelegenheit an dem Command Line Tool ntl gearbeitet sowie ein größeres neues Feature für das Command Line Interface von Yeoman evaluiert. Kommandozeilenwerkzeuge wie diese verschaffen uns durch Automatisierung eine große Zeitersparnis bei der täglichen Arbeit.“ Michael Kühnel, Frontendentwickler

„Ich habe beim Open Source Friday an einen Node.js Eventstore mitgearbeitet. Bisher konnte der Eventstore mit den Datenbanken PostgresSQL und MongoDB verwendet werden, ich habe ihn nun um eine In-Memory-Variante erweitert, die es ermöglicht, die Daten im Arbeitsspeicher zu halten.“ René Viering, Frontendentwickler

„Ich habe den Open Source Friday genutzt, um die Darstellung des Scanvorgangs beim OWASP Zed Attack Proxy zu verbessern, dem populärsten quelloffenen Security-Tool.“ Matthias Altmann, Softwareentwickler

„Mein Beitrag beim Open Source Friday war die Mitarbeit an einem Tester für reguläre Ausdrücke beim OWASP Zed Attack Proxy.“ Dennis Kniep, Softwareentwickler

„Mein Beitrag beim Open Source Friday war die Mitarbeit an Parcel, einem neuen konfigurationsfreien Module Bundler für das Frontend. Außerdem habe ich mein erstes eigenes Open Source Package namens array-smoosh veröffentlicht.“ Nicolai Süper, Softwareentwickler

„Ich habe die Gelegenheit genutzt, an meinem Android Filemanager weiterzuarbeiten und bin ein gutes Stück vorangekommen.“ Lukas Fülling, Softwareentwickler

Fazit

Open Source Software ist ein Erfolgsfaktor. Lange vorbei sind die Tage, wo sie den Vetretern des proprietären Lagers noch als Risikofaktor galt. Heute hat sie lange bewiesen, dass sie nicht nur eine hohe Innovationsdynamik aufweist, sondern auch sehr zukunftssicher ist.

(mk, jw)

Michael Kühnel

Frontendentwickler. Folge Michael bei twitter.