Na segunda quinzena de agosto, apareceu um
post no site da Redis Labs, desenvolvedores do data warehouse de registro em diário de redes de mesmo nome, que falava sobre uma mudança na política de licenciamento do projeto. Na rede,
nasceu imediatamente uma
opinião de que eles planejavam fazer do
Redis um produto proprietário.
O alarme acabou sendo falso. O Redis continuará sendo um projeto de código aberto e continuará a ser distribuído sob
a licença BSD . No entanto, a empresa de desenvolvimento ainda alterou a licença para vários módulos do
GNU AGPL para a
Cláusula Commons .
Entendemos o que isso significa para a Redis e falamos sobre os problemas da comercialização de projetos de código aberto em geral.
/ PxHere / PDO que aconteceu
Após o
anúncio no site da Redis sobre a mudança de licença, a comunidade começou a
discutir ativamente a situação . E em algum momento houve um mal-entendido - algumas pessoas decidiram que Redis estava mudando a licença. Para esclarecer vários pontos, o co-fundador da CTO e da Redis Labs, Yiftach Shoolman, escreveu um
post oficial em nome da empresa sobre o que aconteceu.
Ele diz que o Redis permanece sob a licença original - BSD. A ordem de licenciamento é alterada apenas para vários módulos Redis Labs, por exemplo, RediSearch, Redis Graph, ReJSON, ReBloom e Redis-ML (existem cerca de uma dúzia deles). Eles oferecem recursos avançados para usuários corporativos. Sua licença foi alterada de
GNU AGPL para
Apache 2.0 Commons Clause.
De acordo com as novas condições de licenciamento, qualquer pessoa pode usar esses módulos, observando as
condições básicas da licença do software livre Apache License 2.0. No entanto, agora é proibido vender módulos - isso regula a
Cláusula Commons .
Em outras palavras, se um aplicativo usar a funcionalidade de um módulo ou for construído sobre ele, não haverá restrições à venda desse serviço. Mas agora você não pode vender o módulo original.
Por que mudar a licença
Esta decisão é um compromisso na luta contra a revenda de módulos Redis abertos. Segundo Shulman, várias empresas terceirizadas usam suas soluções de graça e as revendem a seus clientes, mas de nenhuma maneira participam do desenvolvimento da comunidade e do produto.
Uma história semelhante
ocorre com muitos projetos abertos , por exemplo,
Hadoop e
Spark - em sua base, muitas empresas constroem seus negócios, fazendo apenas pequenas modificações neles.
Segundo Redis, a alteração da licença
permitirá que os autores garantam que os desenvolvedores ou seus patrocinadores receberão dinheiro com a venda dos projetos.
O problema da comercialização de produtos abertos
Obviamente, o dinheiro para o desenvolvimento de projetos de código aberto não é retirado do ar. Alguns dos desenvolvedores recebem subsídios do
governo , por exemplo, a
NASA financia o projeto
code.nasa.gov . As empresas comerciais estão apoiando alguém. Por exemplo, o Walmart
gasta quantias significativas no financiamento da estrutura
Hapi.js. O varejista oferece suporte ao desenvolvedor do Hapi.js, pois usa sua solução para criar seus próprios aplicativos.
Há também aqueles que decidiram receber dinheiro para desenvolver software de código aberto por meio da comercialização parcial de produtos, como o Redis Labs. E eles não são os únicos que seguiram esse caminho -
Berkeley DB ,
Asterisk ,
Qt e muitos outros trabalham nesse modelo. No entanto, as opiniões da comunidade em relação à tradução de projetos de código aberto em base paga variam muito.
Opiniões contra
A decisão Redis de alterar a licença de alguns dos módulos que a comunidade conheceu principalmente de forma negativa. Se você olhar para os
tópicos e
comentários de Hacker News dos desenvolvedores em blogs temáticos, existem vários motivos comuns para insatisfação.
A primeira razão é que qualquer forma de comercialização é
contrária aos princípios do código aberto. Os participantes do painel observam que produtos que usam licenças como a Cláusula Commons não podem ser de código aberto.
Alguns membros da comunidade decidiram que o Redis Labs trocava valores de código aberto por dinheiro. Simon Phipps, presidente da Open Source Initiative (OSI), até
descreveu o Redis Labs como "desistindo das liberdades de software".
A segunda razão - a transferência de projetos de código aberto em base paga ameaça destruir a comunidade de usuários, formada ao longo dos anos. Uma história semelhante
aconteceu com o
FoundationDB , quando em 2015 foi comprado pela Apple. A organização limitou os downloads de um DBMS com vários modelos e fechou todos os repositórios no GitHub. Como resultado, a comunidade que se reuniu em torno do projeto em cinco anos começou a se desintegrar.
O tamanho da comunidade é um dos principais aspectos da seleção de produtos para muitas empresas. Por exemplo, recentemente no 1cloud , escolhemos um novo sistema de registro para nós mesmos. A escolha recaiu sobre o Redis e o Logstash, pois eles têm uma comunidade extensa - isso significa documentação detalhada, perguntas frequentes e threads ao vivo no StackOverflow.
/ Wikimedia / CCOpiniões para
O parceiro de Andreessen Horowitz, Peter Levine,
afirma que qualquer projeto de código aberto precisa de um modelo de negócios. É claro que, sem financiamento, ele "dobrará". Os desenvolvedores podem simplesmente não ter dinheiro suficiente para suporte e dimensionamento. Afinal, participar de um projeto para desenvolver software de código aberto é, de fato, um segundo emprego.
Por exemplo, um dos residentes de Habr
escreveu para si mesmo uma biblioteca para organizar um servidor de soquete da Web e o
"carregou" no GitHub . Logo depois, outros usuários se interessaram pelo projeto e pediram ao autor para implementar funcionalidades adicionais. No entanto, o próprio desenvolvedor já teve o suficiente do que já foi escrito e não desejava desenvolver o projeto ainda mais.
Talvez a comercialização do produto ajude com seu desenvolvimento. Por exemplo, essa história aconteceu com o
nginx . O autor esteve envolvido na criação deste servidor da Web em seu tempo livre. Mas agora, com base em sua decisão, ele fornece serviços comerciais para os clientes. Nesse caso, o próprio código nginx
permanece aberto .
As pessoas que defendem a comercialização parcial de produtos abertos também observam que, sem o financiamento adequado, o projeto não será capaz de atrair bons desenvolvedores.
Por esse motivo, em 2009, o projeto Chandler foi
fechado , com o qual eles desenvolveram software para gerenciar o cronograma. A falta de financiamento e um pequeno número de contribuintes levaram ao fato de que o interesse no programa desapareceu literalmente em um ano.
Nesse caso,
o kernel do Linux pode ser usado como um caso positivo. O trabalho de muitos desenvolvedores do projeto é total ou parcialmente financiado por empresas como a RedHat.
Assim, os desenvolvedores investem tempo e energia no projeto, melhoram o resto e, assim, prolongam sua vida útil. Por sua vez, isso tem um efeito positivo no desenvolvimento de todo o ecossistema de código aberto.
Alguns materiais do nosso blog corporativo: