Dans la seconde moitié du mois d'août, un
article est apparu sur le site Web de Redis Labs, les développeurs de l'entrepôt de données de journalisation du réseau éponyme, qui a parlé d'un changement dans la politique d'octroi de licences du projet. Sur le net, une
opinion est immédiatement
née selon laquelle ils prévoyaient de faire de
Redis un produit exclusif.
L'alarme s'est révélée fausse. Redis restera un projet open source et continuera d'être distribué sous
la licence BSD . Cependant, la société de développement a toujours changé la licence pour un certain nombre de modules de
GNU AGPL à
Commons Clause .
Nous comprenons ce que cela signifie pour Redis et parlons des problèmes de commercialisation des projets open source en général.
/ PxHere / PDQu'est-il arrivé?
Après l'
annonce sur le site Redis du changement de licence, la communauté a commencé à
discuter activement de la situation . Et à un moment donné, il y a eu un malentendu - certaines personnes ont décidé que Redis changeait de licence. Pour clarifier un certain nombre de points, le CTO et co-fondateur de Redis Labs, Yiftach Shoolman, a écrit un article officiel au nom de l'entreprise sur ce qui s'est passé.
Il dit que Redis reste sous la licence d'origine - BSD. L'ordre de licence est modifié uniquement pour un certain nombre de modules Redis Labs, par exemple, RediSearch, Redis Graph, ReJSON, ReBloom et Redis-ML (il y en a environ une douzaine). Ils offrent des fonctionnalités avancées pour les utilisateurs d'entreprise. Leur licence est passée de
GNU AGPL à
Apache 2.0 Commons Clause.
Selon les nouvelles conditions de licence, tout le monde peut utiliser ces modules, en respectant les
conditions de base de la licence du logiciel libre Apache License 2.0. Cependant, il est désormais interdit de vendre des modules - cela réglemente la
clause Commons .
En d'autres termes, si une application utilise la fonctionnalité d'un module ou est construite dessus, il n'y a aucune restriction sur la vente d'un tel service. Mais maintenant, vous ne pouvez pas vendre le module d'origine.
Pourquoi changer la licence
Cette décision est un compromis dans la lutte contre la revente de modules Redis ouverts. Selon Shulman, un certain nombre de sociétés tierces utilisent gratuitement leurs solutions et les revendent à leurs clients, mais ne participent en aucune manière au développement de la communauté et du produit.
Une histoire similaire
se produit avec de nombreux projets ouverts , par exemple,
Hadoop et
Spark - sur leur base, de nombreuses entreprises construisent leur entreprise, n'y apportant que des modifications mineures.
Selon Redis, la modification de la licence
permettra aux auteurs de garantir que les développeurs ou leurs sponsors recevront de l'argent de la vente de projets.
Le problème de la commercialisation de produits ouverts
De toute évidence, l'argent pour le développement de projets open source ne vient pas des airs. Certains développeurs reçoivent
des subventions
gouvernementales , par exemple, la
NASA finance le projet
code.nasa.gov . Les entreprises commerciales soutiennent quelqu'un. Par exemple, Walmart
dépense des sommes importantes pour financer le cadre
Hapi.js. Le détaillant soutient le développeur de Hapi.js, car il utilise sa solution pour créer ses propres applications.
Il y a aussi ceux qui ont décidé de recevoir de l'argent pour développer des logiciels open source grâce à la commercialisation partielle de produits, comme Redis Labs. Et ils ne sont pas les seuls à avoir choisi cette voie -
Berkeley DB ,
Asterisk ,
Qt et bien d'autres travaillent sur ce modèle. Cependant, les opinions de la communauté concernant la traduction de projets open source sur une base payante varient considérablement.
Opinions contre
La décision de Redis de modifier la licence de certains modules rencontrés par la communauté a été négative. Si vous regardez les
discussions et les
commentaires de Hacker News par les développeurs sur les blogs thématiques, il existe un certain nombre de raisons communes d'insatisfaction.
La première raison est que toute forme de commercialisation est
contraire aux principes de l'open source. Les panélistes notent que les produits qui utilisent des licences comme la clause Commons ne sont pas autorisés à être open source.
Certains membres de la communauté ont décidé que Redis Labs échangeait des valeurs open source contre de l'argent. Simon Phipps, président de l'Open Source Initiative (OSI), a même
décrit Redis Labs comme «renonçant aux libertés logicielles».
La deuxième raison - le transfert de projets open source sur une base payante menace de détruire la communauté des utilisateurs, qui s'est formée au fil des ans. Une histoire similaire
s'est produite avec
FoundationDB , lorsqu'elle a été achetée par Apple en 2015. L'organisation a limité les téléchargements d'un SGBD multimodèle et fermé tous les référentiels sur GitHub. En conséquence, la communauté qui s'est réunie autour du projet en cinq ans a commencé à se désintégrer.
La taille de la communauté est l'un des aspects clés de la sélection des produits pour de nombreuses entreprises. Par exemple, récemment dans 1cloud, nous avons choisi un nouveau système de journalisation pour nous-mêmes. Le choix s'est porté sur Redis et Logstash, car ils ont une communauté étendue - cela signifie une documentation détaillée, des FAQ et des threads en direct sur StackOverflow.
/ Wikimedia / CCAvis pour
Peter Levine, partenaire d'Andreessen Horowitz,
déclare que tout projet open source a besoin d'un modèle commercial. Il est clair que sans financement, il «pliera». Les développeurs peuvent tout simplement ne pas avoir suffisamment d'argent pour le support et la mise à l'échelle. Après tout, participer à un projet de développement de logiciels open source est en fait un deuxième métier.
Par exemple, l'un des habitants de Habr a
écrit pour lui-même une bibliothèque pour organiser un serveur de socket Web et l'a
«téléchargé» sur GitHub . Peu de temps après, d'autres utilisateurs se sont intéressés au projet et ont demandé à l'auteur d'implémenter des fonctionnalités supplémentaires. Cependant, le développeur lui-même en avait assez de ce qui était déjà écrit et il n'avait aucune envie de développer davantage le projet.
Peut-être que la commercialisation du produit aiderait à son développement. Par exemple, une telle histoire s'est produite avec
nginx . L'auteur a participé à la création de ce serveur Web pendant son temps libre. Mais maintenant, sur la base de sa décision, il fournit des services commerciaux aux clients. Dans ce cas, le code nginx lui-même
reste ouvert .
Les partisans de la commercialisation partielle de produits ouverts notent également que sans un financement adéquat, le projet ne pourra pas attirer de bons développeurs.
Pour cette raison, en 2009, le projet Chandler a été
fermé , en vertu duquel ils ont développé un logiciel pour gérer le calendrier. Le manque de financement et un petit nombre de contributeurs ont fait que l'intérêt pour le programme s'est littéralement estompé en un an.
Dans ce cas,
le noyau Linux peut être utilisé comme cas positif. Le travail de nombreux développeurs sur le projet est entièrement ou partiellement financé par des entreprises comme RedHat.
Ainsi, les développeurs mettent leur temps et leur énergie dans le projet, le rendent meilleur pour le reste et prolongent ainsi sa durée de vie. À son tour, cela a un effet positif sur le développement de l'ensemble de l'écosystème open source.
Quelques documents de notre blog d'entreprise: