(Nicht) kommerzielles Projekt: Redis ändern Lizenzen, bleiben aber Open Source

In der zweiten Augusthälfte erschien auf der Website von Redis Labs, den Entwicklern des gleichnamigen Data Warehouse für Netzwerkjournale, ein Beitrag , in dem über eine Änderung der Lizenzierungsrichtlinien des Projekts berichtet wurde. Im Internet wurde sofort die Meinung geboren, dass Redis zu einem proprietären Produkt werden soll.

Der Alarm stellte sich als falsch heraus. Redis bleibt ein Open Source-Projekt und wird weiterhin unter der BSD-Lizenz vertrieben . Die Entwicklungsfirma hat jedoch die Lizenz für eine Reihe von Modulen von GNU AGPL in Commons Clause geändert.

Wir verstehen, was dies für Redis bedeutet, und sprechen über die Probleme der Kommerzialisierung von Open Source-Projekten im Allgemeinen.


/ PxHere / PD

Was ist passiert


Nach der Ankündigung auf der Redis-Website über die Änderung der Lizenz begann die Community, die Situation aktiv zu diskutieren . Und irgendwann gab es ein Missverständnis - einige Leute entschieden, dass Redis die Lizenz änderte. Um eine Reihe von Punkten zu klären, haben Yiftach Shoolman, Mitbegründer von CTO und Redis Labs, im Namen des Unternehmens einen offiziellen Beitrag darüber geschrieben, was passiert ist.

Es heißt, dass Redis unter der ursprünglichen Lizenz - BSD bleibt. Die Lizenzreihenfolge wird nur für eine Reihe von Redis Labs-Modulen geändert, z. B. RediSearch, Redis Graph, ReJSON, ReBloom und Redis-ML (es gibt ungefähr ein Dutzend davon). Sie bieten erweiterte Funktionen für Unternehmensbenutzer. Ihre Lizenz wurde von GNU AGPL in Apache 2.0 Commons Clause geändert.

Gemäß den neuen Lizenzbedingungen kann jeder diese Module verwenden und dabei die Grundbedingungen der Apache License 2.0-Lizenz für freie Software beachten. Der Verkauf von Modulen ist jetzt jedoch verboten - dies regelt die Commons-Klausel .

Mit anderen Worten, wenn eine Anwendung die Funktionalität eines Moduls nutzt oder darauf aufgebaut ist, gibt es keine Einschränkungen für den Verkauf eines solchen Dienstes. Jetzt können Sie das Originalmodul jedoch nicht mehr verkaufen.

Warum die Lizenz ändern?


Diese Entscheidung ist ein Kompromiss im Kampf gegen den Weiterverkauf offener Redis-Module. Laut Shulman nutzen eine Reihe von Drittunternehmen ihre Lösungen kostenlos und verkaufen sie an ihre Kunden weiter, beteiligen sich jedoch in keiner Weise an der Entwicklung der Community und des Produkts.

Ähnlich verhält es sich mit vielen offenen Projekten , zum Beispiel Hadoop und Spark. Auf ihrer Grundlage bauen viele Unternehmen ihr Geschäft auf und nehmen nur geringfügige Änderungen vor.

Laut Redis können Autoren durch eine Änderung der Lizenz garantieren, dass Entwickler oder ihre Sponsoren Geld aus dem Verkauf von Projekten erhalten.

Das Problem der Kommerzialisierung offener Produkte


Offensichtlich wird das Geld für die Entwicklung von Open-Source-Projekten nicht aus der Luft genommen. Einige der Entwickler erhalten staatliche Subventionen, zum Beispiel finanziert die NASA das Projekt code.nasa.gov . Handelsunternehmen unterstützen jemanden. Zum Beispiel gibt Walmart erhebliche Beträge für die Finanzierung des Hapi.js- Frameworks aus. Der Einzelhändler unterstützt den Entwickler von Hapi.js, da er seine Lösung verwendet, um eigene Anwendungen zu erstellen.

Es gibt auch diejenigen, die beschlossen haben, Geld für die Entwicklung von Open-Source-Software durch teilweise Kommerzialisierung von Produkten wie Redis Labs zu erhalten. Und sie sind nicht die einzigen, die diesen Weg eingeschlagen haben - Berkeley DB , Asterisk , Qt und viele andere arbeiten an diesem Modell. Die Meinungen der Community zur bezahlten Übersetzung von Open Source-Projekten sind jedoch sehr unterschiedlich.

Meinungen gegen

Die Entscheidung von Redis, die Lizenz für einige der Module zu ändern, die die Community meistens negativ getroffen hat. Wenn Sie sich die Threads und Kommentare von Hacker News von Entwicklern in thematischen Blogs ansehen, gibt es eine Reihe häufiger Gründe für Unzufriedenheit.

Der erste Grund ist, dass jede Form der Kommerzialisierung den Open Source-Prinzipien widerspricht . Die Diskussionsteilnehmer weisen darauf hin, dass Produkte, die Lizenzen wie die Commons-Klausel verwenden, nicht Open Source sein dürfen.

Einige Community-Mitglieder entschieden, dass Redis Labs Open Source-Werte gegen Geld eintauschte. Simon Phipps, Präsident der Open Source Initiative (OSI), beschrieb Redis Labs sogar als "Aufgeben der Software-Freiheiten".

Der zweite Grund - die kostenpflichtige Übertragung von Open Source-Projekten droht die im Laufe der Jahre entstandene Benutzergemeinschaft zu zerstören. Eine ähnliche Geschichte ereignete sich mit FoundationDB , als es 2015 von Apple gekauft wurde. Die Organisation beschränkte die Downloads eines DBMS mit mehreren Modellen und schloss alle Repositorys auf GitHub. Infolgedessen begann sich die Gemeinschaft, die sich in fünf Jahren um das Projekt versammelte, aufzulösen.

Die Größe der Community ist für viele Unternehmen einer der Schlüsselaspekte bei der Produktauswahl. Zum Beispiel haben wir kürzlich in 1cloud ein neues Protokollierungssystem für uns ausgewählt. Die Wahl fiel auf Redis und Logstash, da sie eine umfangreiche Community haben - dies bedeutet detaillierte Dokumentation, FAQs und Live-Threads zu StackOverflow.


/ Wikimedia / CC

Meinungen für

Peter Levine, Partner von Andreessen Horowitz, erklärt, dass jedes Open Source-Projekt ein Geschäftsmodell benötigt. Es ist klar, dass er sich ohne Finanzierung „verbiegen“ wird. Entwickler haben möglicherweise einfach nicht genug Geld für Support und Skalierung. Die Teilnahme an einem Projekt zur Entwicklung von Open Source-Software ist in der Tat eine zweite Aufgabe.

Zum Beispiel hat einer der Bewohner von Habr für sich eine Bibliothek zum Organisieren eines Web-Socket-Servers geschrieben und auf GitHub „hochgeladen“ . Bald darauf interessierten sich andere Benutzer für das Projekt und baten den Autor, zusätzliche Funktionen zu implementieren. Der Entwickler selbst hatte jedoch genug von dem, was bereits geschrieben wurde, und er hatte keine Lust, das Projekt weiterzuentwickeln.

Vielleicht würde die Kommerzialisierung des Produkts bei seiner Entwicklung helfen. Zum Beispiel passierte eine solche Geschichte mit Nginx . Der Autor war in seiner Freizeit an der Erstellung dieses Webservers beteiligt. Aufgrund seiner Entscheidung bietet er nun kommerzielle Dienstleistungen für Kunden an. In diesem Fall bleibt der Nginx-Code selbst offen .

Befürworter der teilweisen Kommerzialisierung offener Produkte stellen außerdem fest, dass das Projekt ohne angemessene Finanzierung keine guten Entwickler anziehen kann.

Aus diesem Grund wurde 2009 das Chandler-Projekt geschlossen , unter dem Software zur Verwaltung des Zeitplans entwickelt wurde. Der Mangel an Finanzmitteln und eine geringe Anzahl von Mitwirkenden führten dazu, dass das Interesse an dem Programm innerhalb eines Jahres buchstäblich nachließ.

In diesem Fall kann der Linux-Kernel als positiver Fall verwendet werden. Die Arbeit vieler Entwickler an dem Projekt wird ganz oder teilweise von Unternehmen wie RedHat finanziert.

So investieren Entwickler ihre Zeit und Energie in das Projekt, verbessern es für den Rest und verlängern dadurch seine Lebensdauer. Dies wirkt sich wiederum positiv auf die Entwicklung des gesamten Open-Source-Ökosystems aus.

Ein paar Materialien aus unserem Unternehmensblog:

Source: https://habr.com/ru/post/de423723/


All Articles