Angesichts der Tatsache, dass ein offenes, transparentes, verteiltes P2P-Netzwerk ein zentrales Element des Bitcoin-Projekts ist, erscheint es ungewöhnlich, dass es unter der MIT-Lizenz lizenziert ist, die proprietäre Closed-Source-Derivate zulässt.
http://en.wikipedia.org/wiki/MIT_License
Weiß jemand, ob es einen erklärten oder ausdrücklichen Grund dafür gab, keine freie Softwarelizenz zu wählen?
Gab es Diskussionen darüber, zukünftige Versionen des Bitcoin-Clients unter Lizenzen zu lizenzieren, die „Copy Left“- und „Patent Retaliation“-Bestimmungen wie GPL enthalten?
Satoshi :
Wenn die einzige Bibliothek Closed Source ist, gibt es ein Projekt, um ein Open Source-Bibliothek zu erstellen.
Wenn die einzige Bibliothek GPL ist, dann gibt es ein Projekt, um ein Nicht-GPL-Bibliothek zu erstellen.
Wenn die beste Bibliothek MIT, Boost, New-BSD oder Public Domain ist, dann können wir aufhören, sie neu zu schreiben.
Ich bezweifle nicht, dass GPL eine gute Lizenz für Betriebssysteme ist, zumal Nicht-GPL-Code mit dem Betriebssystem verbunden werden darf. Bei kleineren Projekten halte ich die Angst vor einer Closed-Source-Übernahme für übertrieben.
Die Verwendung einer restriktiveren Lizenz hätte die Einführung verlangsamt. Das größte Hindernis für Bitcoin ist die mangelnde Akzeptanz. Alles, was die Möglichkeiten der Menschen mit Bitcoins einschränken oder es teurer oder schwieriger machen würde, sie auf bestimmte Weise zu verwenden, erhöht die Wahrscheinlichkeit, dass Bitcoins nie eine nennenswerte Durchdringung erreichen.
Einige Bitcoin-Anwendungen beinhalten proprietäre Closed-Source-Derivate. Wie würde es Bitcoins helfen, diese Verwendungen zu unterbinden?
Aber der eigentliche historische Grund ist noch wichtiger. Wenn der Bitcoin-Client unter der GPL lizenziert worden wäre, müsste jeder, der einen proprietären Client haben wollte, ihn neu erstellen. Das würde eine ganze Reihe echter Probleme schaffen, die der Nützlichkeit des Bitcoin-Systems schaden würden.
Angenommen, die Entwickler möchten einen neuen Skripttyp hinzufügen. Im Moment können sie Unterstützung für dieses Skript im offiziellen Client hinzufügen und jeder wird es in ein paar Monaten haben. Aber wenn es proprietäre Versionen gäbe, könnten sie das Hinzufügen der neuen Skripte möglicherweise nie rechtfertigen, und dies könnte dazu führen, dass die Übernahme der neuen Skripts fehlschlägt. Wenn eine neue Währung diese Skripte unterstützte und Forks bedeuteten, dass Bitcoin dies nicht tat, könnte das dazu führen, dass Bitcoins scheitern.
Oder sagen Sie, es gab einen Fehler im Client, der dazu führte, dass Blöcke akzeptiert wurden, die auf subtile Weise ungültig waren. Wenn das Netzwerk eine beträchtliche Anzahl von Clients hat, die separat entwickelt wurden, könnten sie diese Blöcke ablehnen, während der offizielle Client sie akzeptiert. Wenn weniger als 50 % des Netzwerks die offiziellen Clients ausführen oder die Miner dazu neigen, die proprietären Clients auszuführen, könnte dies zu einer ernsthaften Netzwerkverzweigung führen, deren Lösung sehr schmerzhaft wäre.
Ein weiteres Problem wäre, wenn verschiedene Clients letztendlich unterschiedliche Angriffsresistenzmethoden verwenden. Wenn ein Client eine Nachricht weiterleitet, die ein anderer Client für missbräuchlich hält, könnten Angreifer dies ausnutzen, um Knoten vom Rest des Netzwerks zu isolieren. Dadurch, dass alle Clients die gleiche Logik zum Validieren von Nachrichten verwenden, wird diese Angriffsmethode vermieden. (Wenn X Knoten dafür bestraft, wird X es auch nicht an andere Knoten weitergeben. Wenn also andere Knoten der gleichen Logik wie X folgen, wird X niemals bestraft. Aber wenn X eine Nachricht weitergibt, für die Y bestraft, wird diese Nachricht an gesendet X wird dazu führen, dass X Sie nicht bestraft, aber X von Y bestraft wird.)
Satoshi verwendete keine FOSS-Lizenz, da es nicht als Gemeinschaftsprojekt gedacht war. Das Protokoll sollte in seiner Gesamtheit in Stein gemeißelt werden. Satoshi war auch 2011-2012 nicht da, als andere Zugriff erhielten und den Code auf github verschoben.
Stefan Gornik
DerPiachu