Was ist Open Source und warum ist es wichtig für Software und Blockchain?

Was ist Open Source und warum ist es wichtig für Software und Blockchain?

Was ist Open Source?

Open Source bedeutet, dass der Quellcode von Software verfügbar ist und dass eine Lizenz anderen klare Rechte gibt, diesen Code zu nutzen, anzusehen, anzupassen und zu verbreiten. Quellcode ist die lesbare Version eines Programms, mit der Entwickler arbeiten. Du kannst ihn dir als das Rezept hinter einer App oder einem Programm vorstellen.

Nur Code online zu stellen, reicht also nicht aus. Ohne passende Lizenz ist nicht automatisch klar, ob du den Code kopieren, verändern oder erneut teilen darfst. Genau diese Lizenz legt fest, was erlaubt ist und was nicht.

Open Source bedeutet auch nicht automatisch kostenlos. Jemand darf Open-Source-Software verkaufen oder Geld für die Verbreitung verlangen, solange die Lizenz das erlaubt. Es geht vor allem um die Freiheit rund um den Code, nicht um den Preis.

Eine echte Open-Source-Lizenz darf zum Beispiel nicht zwischen Nutzern, Gruppen oder Anwendungen unterscheiden. Du darfst die Software also nicht nur für eine bestimmte Gruppe oder nur für die private Nutzung bereitstellen und sie dann Open Source nennen. Außerdem dürfen die Bedingungen nicht von einer bestimmten Technologie abhängen.

Beispiel: Stell dir vor, ein Entwickler veröffentlicht ein Programm unter einer Open-Source-Lizenz. Du darfst den Code untersuchen, eine eigene Version erstellen und sie teilen, solange du die Bedingungen dieser Lizenz einhältst. Steht derselbe Code ohne Lizenz online, hast du diese Rechte nicht automatisch.


Wichtigste Erkenntnisse

  • Open Source betrifft den Quellcode und die Rechte, die eine Lizenz gewährt.
  • Du darfst Open-Source-Software oft nutzen, untersuchen, anpassen und teilen.
  • Open Source bedeutet nicht automatisch, dass Software kostenlos ist.
  • Eine Lizenz legt fest, welche Bedingungen bei Nutzung und Verbreitung gelten.
  • Öffentlicher Quellcode ohne passende Lizenz gibt anderen keine klaren Nutzungsrechte.

Wie funktioniert Open-Source-Software?

Open-Source-Software funktioniert so, dass der Ersteller den Quellcode unter einer Lizenz mit klaren Regeln veröffentlicht. Andere Entwickler können den Code danach kopieren, ansehen und anpassen. Ob sie ihre angepasste Version ebenfalls verbreiten dürfen, hängt von den Lizenzbedingungen ab.

Bei vielen Projekten wird Versionsverwaltung genutzt. Das ist ein System, das festhält, welche Änderung vorgenommen wurde, von wem und wann. Eine solche gespeicherte Änderung nennt man Commit. Dadurch lässt sich meist Schritt für Schritt nachvollziehen, wie sich Software entwickelt hat.

Eine häufig genutzte Form der Zusammenarbeit läuft ungefähr so ab:

  1. Eine eigene Arbeitsversion erstellen Ein Entwickler arbeitet in einem Branch, also einer separaten Arbeitslinie innerhalb desselben Projekts. Manchmal erstellt die Person zuerst einen Fork: eine eigene Kopie des gesamten Projekts.

  2. Den Code anpassen In dieser eigenen Version kann jemand einen Fehler beheben, eine Funktion hinzufügen oder den Code verbessern, ohne sofort die offizielle Version zu verändern.

  3. Einen Pull Request einreichen Ein Pull Request ist ein Vorschlag, die Änderung in das ursprüngliche Projekt aufzunehmen. Andere Entwickler können den Code dann ansehen, besprechen und testen.

  4. Die Änderung prüfen Projekte können Änderungen prüfen lassen, automatische Tests ausführen, um zu sehen, ob der Code funktioniert, und auf mögliche Fehler oder Sicherheitsprobleme kontrollieren.

  5. Zusammenführen oder nicht Wenn die Personen mit den richtigen Rechten zustimmen, können sie die Änderung mit der offiziellen Version zusammenführen. Das nennt man oft Mergen.

Ein Fork muss übrigens nie zum ursprünglichen Projekt zurückkehren. Jemand kann mit dieser eigenen Kopie eigenständig weiterarbeiten. Erst wenn die Verantwortlichen des ursprünglichen Projekts die Änderung akzeptieren, wird sie Teil der offiziellen Version.

GitHub, Pull Requests und Forks sind praktische und weit verbreitete Wege zur Zusammenarbeit, aber keine Voraussetzung für Open Source. Die Lizenz ist die Grundlage.

Wer verwaltet Open-Source-Software und wie werden Änderungen umgesetzt?

Open-Source-Software hat nicht einen allgemeinen Verwalter; jedes Projekt legt selbst fest, wer den Code betreut und wie Änderungen zugelassen werden. Das können einzelne Maintainer sein, aber auch eine Organisation, Stiftung oder Projektgemeinschaft.

Ein Maintainer ist jemand, der hilft, das Projekt am Laufen zu halten. Diese Person kann zum Beispiel Änderungen prüfen, neue Versionen veröffentlichen und entscheiden, wer Zugriff auf das offizielle Repository erhält. Ein Repository ist der Ort, an dem der Code und die Änderungshistorie eines Projekts liegen.

Externe Entwickler können meist ein Problem melden, eine Verbesserung vorschlagen oder angepassten Code einreichen. Auf Plattformen wie GitHub geschieht das zum Beispiel über ein Issue oder einen Pull Request. Ein Issue ist oft eine Meldung über einen Fehler, eine Frage oder eine Verbesserungsidee.

Projekte können zusätzliche Regeln festlegen, bevor Code zusammengeführt werden darf. Denk an verpflichtende Prüfungen durch andere Entwickler, automatische Tests oder Regeln, die verhindern, dass wichtiger Code einfach direkt geändert werden kann.

Bei Blockchain kommt noch etwas hinzu: Dass neuer Code zum offiziellen Projekt hinzugefügt wird, bedeutet noch nicht, dass sich die Regeln der Blockchain automatisch ändern.

Ein Node ist ein Computer, der die Software ausführt und Transaktionen sowie Blöcke nach den Regeln einer Blockchain überprüft.

Bei Bitcoin dienen BIPs als öffentliche Vorschläge für Verbesserungen. Bei Ethereum übernehmen EIPs eine ähnliche Rolle für Standards und Änderungen am Netzwerk. Ein solcher Vorschlag kann Erklärungen, Feedback und frühere Anpassungen enthalten. Aber die Veröffentlichung eines BIP oder EIP ändert die Regeln von Bitcoin oder Ethereum nicht automatisch.

Auch das Zusammenführen von Code tut das nicht automatisch. Für eine echte Änderung der Protokollregeln, also der technischen Regeln des Netzwerks, müssen relevante Teilnehmer am Ende Software ausführen, die denselben neuen Regeln folgt.

Bei Bitcoin entscheidet keine formelle oder informelle Stelle allein über die Annahme von BIPs. Bei Ethereum übernehmen EIP-Editoren vor allem administrative und redaktionelle Aufgaben, nicht die inhaltliche Entscheidung darüber, ob ein Vorschlag erwünscht ist.

Welche Open-Source-Lizenzen gibt es?

Zwei häufige Arten sind permissive Lizenzen und Copyleft-Lizenzen. Permissive Lizenzen heißen so, weil sie viel erlauben: Du darfst den Code meist frei nutzen, anpassen und erneut verbreiten. Copyleft ist ein Wortspiel mit Copyright. Bei solchen Lizenzen darfst du den Code ebenfalls anpassen und teilen, aber abgeleitete Software muss oft unter denselben offenen Bedingungen verfügbar bleiben.

Das sind einige bekannte Lizenzen:

  • MIT Das ist eine permissive Lizenz. Du darfst die Software nutzen, kopieren, anpassen, verbreiten und sogar kommerziell verwenden. Allerdings musst du den Copyright-Hinweis und den Lizenztext mitliefern. Die Software wird ohne Garantie und mit begrenzter Haftung bereitgestellt.

  • BSD-2-Clause und BSD-3-Clause Das sind ebenfalls permissive Lizenzen. Sie erlauben eine breite Wiederverwendung und Verbreitung, meist solange die Copyright- und Lizenzinformationen erhalten bleiben.

  • Apache-2.0 Apache License 2.0 ist ebenfalls permissiv. Diese Lizenz enthält außerdem Regelungen zu Patenten von Personen, die Code zum Projekt beitragen.

  • GPL-3.0-only GPL ist eine Copyleft-Lizenz. Vereinfacht gesagt versucht diese Lizenz sicherzustellen, dass die Freiheit, Code zu teilen und anzupassen, erhalten bleibt, wenn Software weiter verbreitet wird. Wer Software unter GPLv3 verbreitet, muss unter bestimmten Bedingungen auch den dazugehörigen Quellcode verfügbar machen.

  • MPL-2.0 Die Mozilla Public License 2.0 ist eine Form von Copyleft, die vor allem einzelne Dateien betrachtet. Wenn du eine Datei änderst, die unter MPL steht, muss diese geänderte Datei meist unter denselben offenen Bedingungen verfügbar bleiben. Andere Dateien in einem größeren Projekt können jedoch unter anderen Bedingungen stehen.

Wichtig zu wissen: Bezeichnungen wie permissiv, starkes Copyleft und schwaches Copyleft sind für eine erste Erklärung hilfreich, aber die genauen Bedingungen stehen immer im Lizenztext. Vor allem wenn verschiedene Softwarebestandteile mit unterschiedlichen Lizenzen zusammenkommen, kann es kompliziert werden.

Warum ist Open Source wichtig für Krypto und Blockchain?

Open Source ist wichtig für Krypto und Blockchain, weil Nodes Software ausführen, die Transaktionen und Blöcke anhand fester Regeln überprüft. Wer selbst einen Node betreibt, möchte daher oft nachvollziehen, welche Regeln diese Software genau ausführt.

Bei Bitcoin ist Bitcoin Core ein bekanntes Beispiel. Der Quellcode ist öffentlich verfügbar und die Software wird unter der MIT-Lizenz verbreitet. Dadurch können Entwickler und andere Interessierte den Code untersuchen, Beiträge vorschlagen oder eine eigene Version innerhalb der Bedingungen dieser Lizenz erstellen.

Ethereum kann mit mehreren verschiedenen Open-Source-Programmen genutzt werden, die Clients genannt werden. Diese Software verarbeitet unter anderem Transaktionen und hilft Computern, am Ethereum-Netzwerk teilzunehmen. Die verschiedenen Clients werden von unterschiedlichen Teams entwickelt und verwenden manchmal verschiedene Programmiersprachen.

Warum ist das praktisch? Wenn ein Netzwerk vollständig von einem einzigen Stück Software abhängen würde, könnte ein schwerer Fehler darin viele Teilnehmer gleichzeitig betreffen. Mehrere unabhängige Clients machen das Netzwerk weniger abhängig von einer einzigen Softwareversion.

Diese verschiedenen Ethereum-Clients müssen natürlich dieselben relevanten Spezifikationen einhalten. Spezifikationen sind die gemeinsamen technischen Vereinbarungen darüber, wie das Netzwerk funktioniert. Dazu gehören Regeln für Transaktionen, Blöcke und die Art und Weise, wie das Netzwerk sich darüber einigt, welche Daten gültig sind.

BIPs und EIPs helfen auch bei der öffentlichen Abstimmung. Sie machen Vorschläge, technische Erklärungen, Feedback und Überarbeitungen sichtbar. Das ist in Krypto wertvoll, weil Änderungen an den Regeln große Folgen für alle haben können, die Software ausführen, Krypto aufbewahren oder Anwendungen wie Smart Contracts nutzen.

Open Source macht außerdem unabhängige Versionen und Forks möglich. Das gibt Entwicklern und Nutzern mehr Auswahl. Aber offener Code allein ist keine Garantie dafür, dass eine Blockchain sicher, dezentral oder weit verbreitet ist. Der Code muss gut sein, korrekt ausgeführt werden und am Ende auch von Nodes und anderen Teilnehmern genutzt werden.

Was sind die Vorteile von Open Source?

Der größte Vorteil von Open Source ist, dass Nutzer Software nicht nur verwenden, sondern auch untersuchen, anpassen und teilen können. Das ist hilfreich, wenn eine Organisation Software an eigene technische oder operative Anforderungen anpassen möchte.

Außerdem ermöglicht öffentlicher Code Kontrolle. Du kannst Änderungen in der Versionsgeschichte ansehen und sehen, was angepasst wurde. In einem Pull-Request-Workflow können andere eine Änderung besprechen, bevor sie zusammengeführt wird. Automatische Tests und Sicherheitsprüfungen können helfen, Fehler früher zu finden.

Open Source kann auch die Zusammenarbeit erleichtern. Entwickler können bestehende Bausteine wiederverwenden, statt alles von Grund auf neu zu bauen. Das ist natürlich nur erlaubt, wenn die Lizenzen zusammenpassen und sich alle an die Bedingungen halten.

Ein Fork bietet noch einen weiteren Vorteil: Kontinuität. Angenommen, eine Gruppe von Entwicklern möchte eine andere technische Richtung als die ursprünglichen Maintainer. Dann können sie mit einer eigenen Kopie weitermachen. So muss ein Projekt nicht zwangsläufig enden, nur weil es Uneinigkeit über die Zukunft gibt.

In Blockchain ist Clientdiversität ein Vorteil. Das bedeutet, dass es mehrere verschiedene Clients gibt: Programme, mit denen Computer zum Beispiel an Ethereum teilnehmen. Wenn diese Clients von verschiedenen Teams entwickelt werden, ist das Netzwerk weniger von einer einzigen Softwareversion abhängig. Dadurch ist die Wahrscheinlichkeit geringer, dass ein einzelner Fehler sofort alle Nodes, also die Computer, die das Netzwerk am Laufen halten, auf dieselbe Weise betrifft.

Wichtig ist aber: Dass du Code einsehen kannst, bedeutet nicht, dass Fachleute diesen Code auch wirklich gründlich geprüft haben. Open Source macht Kontrolle möglich, ist aber kein Beweis dafür, dass jeder Fehler bereits gefunden oder behoben wurde.

Welche Risiken und Einschränkungen hat Open Source?

Open Source ist kein Sicherheitszertifikat. Auch öffentlicher Code kann Programmierfehler, Schwachstellen oder unsichere Designentscheidungen enthalten. Dass jeder den Code ansehen kann, bedeutet nicht, dass genug Fachleute das auch tatsächlich getan haben.

Wartung ist ein wichtiges Risiko. Software braucht meist laufende Pflege, zum Beispiel für Bugs, Sicherheitsupdates und neue Dependencies. Eine Dependency ist eine externe Softwarekomponente, auf die ein Programm angewiesen ist. Wenn ein Projekt nicht gut gepflegt wird, können bekannte Probleme liegen bleiben.

Je mehr externe Softwarekomponenten ein Programm nutzt, desto mehr Stellen kann es geben, an denen ein Sicherheitsproblem entsteht. Eine schädliche oder kompromittierte Dependency kann dadurch ein ganzes System gefährden. Deshalb ist es sinnvoll zu prüfen, ob jede Dependency wirklich nötig ist, woher sie stammt und ob die verwendete Version noch aktuell ist.

Bei Open-Source-Software spielen auch Lizenzen eine Rolle. Wenn du Komponenten mit unterschiedlichen Lizenzen kombinierst, können Bedingungen zur Bereitstellung von Quellcode, Copyright-Hinweisen, Änderungen oder Patenten gelten. Das sollte man besonders gut prüfen, bevor Software verbreitet wird.

Forks haben ebenfalls eine Kehrseite. Sie geben Wahlfreiheit, können aber Entwickler, Nutzer, Dokumentation und Sicherheitswartung auf mehrere Projekte verteilen. Ein Fork braucht eigene Maintainer, Sicherheit, neue Versionen und Nutzer oder Node-Betreiber, um langfristig gut zu funktionieren.

Für Krypto gibt es noch einen zusätzlichen Prüfpunkt. Der Code in einem öffentlichen Repository muss nicht automatisch exakt derselbe Code sein wie die Software, die du installierst. Deshalb ist es wichtig zu prüfen, woher die Software stammt und ob die Version, die du installierst, mit der offiziellen Version übereinstimmt.

Bei Smart Contracts kannst du außerdem prüfen, ob der veröffentlichte Code mit dem Contract übereinstimmt, der tatsächlich auf der Blockchain läuft.

Kurz gesagt: Open Source gibt dir mehr Möglichkeiten zur Kontrolle, nimmt dir die Prüfungen aber nicht ab. Achte bei Software und Kryptoprojekten also auch auf Wartung, Sicherheitspraktiken, Abhängigkeiten und die Version, die du tatsächlich verwendest.

Fazit

Open Source bedeutet, dass Quellcode unter einer Lizenz verfügbar ist, die klare Rechte gibt, die Software zu nutzen, zu untersuchen, anzupassen und zu teilen. Die Lizenz ist dabei mindestens genauso wichtig wie der Code selbst.

Für Krypto und Blockchain ist Open Source besonders relevant, weil Nodes Protokollregeln ausführen und verschiedene unabhängige Clients ein Netzwerk weniger von einem einzigen Stück Software abhängig machen können. Gleichzeitig ist öffentlicher Code keine Garantie für Sicherheit oder Qualität. Gute Kontrollen, aktive Wartung und sichere Dependencies bleiben genauso wichtig.

Sieh Open Source daher vor allem als starke Grundlage für Transparenz, Zusammenarbeit und Wahlfreiheit. Es bietet Möglichkeiten, aber du solltest trotzdem darauf achten, wie ein Projekt verwaltet wird und ob die verwendete Software zuverlässig gepflegt wird.

Über Finst

Finst ist eine führende Kryptowährungsplattform in den Niederlanden und bietet ultra-niedrige Trading-Gebühren, Sicherheit auf institutionellem Niveau sowie ein umfassendes Paket an Krypto-Services wie Trading, Verwahrung (Custody), Staking und Fiat On-/Off-Ramp. Finst wurde vom ehemaligen Kernteam von DEGIRO gegründet, ist als Crypto-Asset Service Provider von der niederländischen Finanzaufsicht (AFM) zugelassen und bedient private sowie institutionelle Kunden in 30 europäischen Ländern.

Die Krypto-Plattform für langfristige Anleger

Egal, ob du aktiv handelst oder langfristig investierst - mit Finst kannst du dein Krypto-Vermögen sicher und selbstbewusst aufbauen.

Gratis Konto eröffnen