Was ist Open Source?

Open Source bezeichnet Software, deren Quellcode öffentlich zugänglich ist und von allen eingesehen, genutzt, verändert und weitergegeben werden darf. Die Idee dahinter ist, dass ein offener Entwicklungsprozess Innovation fördert, Abhängigkeiten von einzelnen Herstellern reduziert und die Qualität durch viele Mitwirkende steigt. Die genaue Definition, welche Bedingungen Software erfüllen muss, um als Open Source zu gelten, wird von der Open Source Initiative (OSI) festgelegt; sie beschreibt Rahmenbedingungen für Lizenzierung, Weitergabe und Nutzung.

Open-Source-Definition nach OSI

Die Open Source Initiative formuliert mehrere Kriterien, die eine Open-Source-Lizenz erfüllen muss. Zentrale Punkte sind die freie Weitergabe von Softwarekopien und die Verfügbarkeit des Quellcodes, sodass Anpassungen und Fehlerkorrekturen möglich sind. Änderungen am Programm dürfen weitergegeben werden, wobei die ursprünglichen Autoren das Recht auf Namensnennung behalten. Lizenzen dürfen weder bestimmte Personen oder Gruppen diskriminieren noch einzelne Einsatzzwecke verbieten. Darüber hinaus muss die Lizenz ohne zusätzliche Vereinbarungen für alle Nutzenden gleichermaßen gelten, darf nicht an ein bestimmtes Produkt gebunden sein und keine Einschränkungen für andere Software auferlegen, die gemeinsam mit der Open-Source-Software verteilt wird.

Wichtige Open-Source-Lizenzen

Open-Source-Lizenzen lassen sich grob in permissive und Copyleft-Lizenzen einteilen. Permissive Lizenzen geben viel Freiheit und erlauben auch die Integration in proprietäre Produkte, während Copyleft-Lizenzen stärkere Anforderungen an die Weitergabe von Änderungen stellen.

Zu den permissiven Lizenzen gehören unter anderem:

  • MIT-Lizenz, die sehr kurz und einfach gehalten ist und nur wenige Einschränkungen macht
  • Apache-2.0-Lizenz, die zusätzlich Patentregelungen und klare Vorgaben zur Namensnennung enthält
  • BSD-Lizenzen, die ähnlich wie MIT funktionieren und in verschiedenen Varianten existieren

Bei Copyleft-Lizenzen wie der GPL v3 müssen abgeleitete Werke unter denselben Lizenzbedingungen veröffentlicht werden, was die Offenheit des gesamten Ökosystems sicherstellen soll. Varianten wie LGPL richten sich insbesondere an Bibliotheken und sind weniger streng, während AGPL auch die Nutzung über das Netzwerk in die Copyleft-Pflicht einbezieht. Die MPL 2.0 verfolgt einen dateibasierten Ansatz, bei dem nur geänderte Dateien den Copyleft-Bestimmungen unterliegen.

Open Source im Web-Umfeld

Im Web-Umfeld hat sich Open Source als Standard etabliert. Content Management Systeme wie TYPO3, WordPress und Drupal werden unter offenen Lizenzen bereitgestellt und bilden die Grundlage vieler Websites und Portale. Auch im Bereich der Webentwicklung sind Frameworks wie Symfony und Laravel im PHP-Umfeld sowie React und Vue.js in der JavaScript-Welt weit verbreitet und werden von großen Communities getragen. Datenbanken wie PostgreSQL, MySQL beziehungsweise MariaDB oder MongoDB sind typische Bausteine moderner Plattformen und werden häufig in Open-Source-Projekten eingesetzt.

Im DevOps-Bereich dominieren Open-Source-Werkzeuge viele Infrastruktur- und Automatisierungsprozesse. Containerisierung mit Docker, Orchestrierung mit Kubernetes oder Konfigurationsmanagement mit Ansible sind Beispiele dafür, wie Open Source zentrale Rollen in modernen IT-Landschaften übernimmt. Dadurch entsteht ein Ökosystem, in dem Komponenten frei kombiniert, integriert und bei Bedarf angepasst werden können.

Vorteile von Open Source

Open Source bietet sowohl für einzelne Nutzende als auch für Organisationen vielfältige Vorteile.

Für Nutzende sind besonders relevant:

  • Wegfall klassischer Lizenzkosten und damit ein niedriger Einstieg
  • Unabhängigkeit von einzelnen Herstellern und proprietären Roadmaps
  • Transparenz des Quellcodes, was Vertrauen und Sicherheit fördern kann
  • Hohe Anpassbarkeit an eigene Bedürfnisse
  • Große Communities, die Wissen teilen, Fehler melden und Erweiterungen entwickeln

Unternehmen profitieren unter anderem von geringeren Lizenzkosten, mehr technologischer Freiheit und der Möglichkeit, Vendor-Lock-in zu vermeiden. Sie erhalten Zugang zu einem globalen Innovationspool, in dem neue Funktionen und Verbesserungen schnell entstehen. Gleichzeitig ist Open Source oft ein Pluspunkt im Recruiting, weil viele Entwickler gerne mit offenen Technologien arbeiten und sich an solchen Projekten beteiligen.

Open-Source-Geschäftsmodelle

Rund um Open Source haben sich verschiedene Geschäftsmodelle etabliert, die wirtschaftlichen Betrieb ermöglichen, ohne die Offenheit des Kerns aufzugeben. Ein häufiges Modell ist der Verkauf von Support, Beratung und Schulungen, bei dem die Software selbst frei bleibt, aber Dienstleistungen kostenpflichtig sind. Beim Open-Core-Ansatz wird eine Basisversion offen bereitgestellt, während zusätzliche Premium-Funktionen oder Enterprise-Module kommerziell lizenziert werden. SaaS-Modelle bieten eine gehostete Version der Open-Source-Software an, bei der Betrieb, Updates und Skalierung durch den Anbieter übernommen werden. Daneben existieren Dual-Licensing-Modelle oder Sponsoring- und Spendenkonzepte, bei denen Unternehmen oder Community Mitglieder Projekte finanziell unterstützen.

Contributing zu Open Source

Wer zu Open-Source-Projekten beitragen möchte, hat viele Möglichkeiten, die über die reine Codeentwicklung hinausgehen. Beiträge können in Form von Bugfixes, neuen Features oder Refactorings erfolgen, aber auch in der Verbesserung von Dokumentation, dem Testen von Releases, dem Melden von Fehlern oder dem Erstellen von Übersetzungen. Design und UX-Optimierungen, das Beantworten von Fragen in Foren oder die Mitarbeit an Community-Aktivitäten sind ebenfalls wertvolle Beiträge.

Typischerweise folgen Beiträge einem etablierten Workflow:

  • Ein Repository wird geforkt, um eine eigene Arbeitskopie anzulegen.
  • Auf einem separaten Branch werden Änderungen vorgenommen.
  • Anschließend wird ein Pull Request erstellt, in dem Änderungsvorschlag und Motivation erläutert werden.
  • Nach Code Review und eventuellen Anpassungen wird der Beitrag in das Hauptprojekt integriert.

Dieser Prozess stellt sicher, dass Qualität und Konsistenz des Projekts gewahrt bleiben und neue Mitwirkende schrittweise eingebunden werden.

Open Source und Sicherheit

Beim Thema Sicherheit bietet Open Source sowohl Chancen als auch Risiken. Auf der positiven Seite steht die oft zitierte Annahme, dass viele Augen Bugs schneller entdecken und beheben können, weil der Quellcode offenliegt. Schwachstellen werden von Community-Mitgliedern, Sicherheitsforschenden und Unternehmen gemeinsam identifiziert und gepatcht. Gleichzeitig entstehen neue Herausforderungen durch Supply-Chain-Angriffe, bei denen etwa manipulierte Pakete in Ökosystemen wie npm oder PyPI eingeschleust werden.

Um diese Risiken zu minimieren, sollten Abhängigkeiten regelmäßig aktualisiert und mit passenden Werkzeugen überwacht werden. Automatisierte Tools wie Dependabot, Snyk oder Software-Bill-of-Materials-Ansätze (SBOM) helfen dabei, bekannte Sicherheitslücken in Bibliotheken zu erkennen und Updates zeitnah einzuplanen. So lässt sich die Stärke von Open Source mit einem professionellen Sicherheitsmanagement kombinieren.

TYPO3 Support Schriftzug neben einer Frau mit Headset

❮   Zurück