Em 2019, várias empresas de código aberto mudaram de curso – é a decisão certa?

59

Prolongar / As fotos continuam sendo um presente para o mundo. Talvez às vezes seja parecido com o software de código aberto.

cnythzl / Getty Images

O software livre e de código aberto permite ao mundo como o conhecemos em 2019. Dos servidores da Web aos quiosques e aos algoritmos de big data que extraem seu feed do Facebook, quase todos os sistemas de computador com os quais você interage são executados, pelo menos em parte, em software livre. E na grande indústria de tecnologia, o software livre deu origem a uma galáxia de startups e permitiu o maior aquisição de software na história do mundo.

O software livre é um presente, um presente que tornou possível o mundo como o conhecemos. E desde o início, parecia um presente surpreendente para dar. Tão surpreendente que, inicialmente, deixou as empresas acostumadas a esse tipo de generosidade desconfortável. Essas empresas não estavam dispostas a usar software grátis, era simplesmente radical demais e, por extensão, política demais. Tinha que ser renomeado: "código aberto".

Quando isso aconteceu, o software de código aberto conquistou o mundo.

Recentemente, porém, houve um distúrbio na força do código aberto. No ano passado, empresas como Redis Labs, MongoDB e Confluent mudaram suas licenças de software, passando de licenças de código aberto para termos mais restritivos que limitam o que pode ser feito com o software, deixando de ser um software de código aberto.

O problema, argumentam Redis Labs, MongoDB e outros, é uma tendência tecnológica mais moderna: serviços de software hospedados. Também conhecida como "a nuvem". Também conhecida como Amazon AWS.

A Amazon, por sua vez, saiu em disparada, lançando sua própria versão do código por trás do Elastic Search nesta primavera em resposta às alterações de licenciamento na Elastic (a empresa por trás do Elastic Search). E além de um nova disputa de marca registrada sobre a convenção de nomes da Amazon, o Elastic tem uma resposta muito diferente da do MongoDB e Redis – não disse uma palavra em protesto.

Não relacionado ao assunto em questão: o jogo dos ganhos é forte no MondoDB. "Src =" https://cdn.arstechnica.net/wp-content/uploads/2019/10/52918060_10161382459335557_2281799387153694720_o-640x427.jpg "width =" 640 " height = "427" srcset = "https://cdn.arstechnica.net/wp-content/uploads/2019/10/52918060_10161382459335557_2281799387153694720_o-1280x854.jpg 2x
Prolongar / Não relacionado ao assunto em questão: o jogo dos ganhos é forte no MondoDB.

MongoDB no Facebook

Explosão de nuvens

MongoDB, a empresa é construída em torno do banco de dados de código aberto "NoSQL" com o mesmo nome. O banco de dados do MongoDB é útil para armazenar dados não estruturados, por exemplo, imagens, com as quais ele pode lidar tão bem quanto os tipos de dados mais tradicionais. Os dados são armazenados em documentos semelhantes a JSON, e não nas colunas e linhas de um banco de dados relacional. Como não há tabelas estruturadas, não há "linguagem de consulta estruturada" para trabalhar com os dados, daí o termo "NoSQL".

O MongoDB não é o único banco de dados NoSQL existente, mas é um dos mais utilizados. De acordo com o agregador do setor, DB Engines, o MongoDB é o quinto banco de dados mais popular, com todos, do Google, da Code Academy e do Foursquare, usando o MongoDB.

O MongoDB também está liderando a tarefa de criar um novo tipo de licença de código aberto, que o CTO Eliot Horowitz acredita ser necessário para proteger os negócios de software de código aberto à medida que a computação se move para o novo mundo da nuvem.

A nuvem, argumentam Horowitz e outros, exige que a comunidade de código aberto repense e possivelmente atualize as licenças de código aberto para "lidar com novos desafios em um novo ambiente". Os desafios são, essencialmente, AWS, Google Cloud e Microsoft Azure, todos capazes de pegar software de código aberto, agrupá-lo como um serviço e revendê-lo. O problema com o AWS ou o Azure que encerra o MongoDB e o oferece como parte de um software como serviço (SaaS) é que ele compete com o SaaS baseado em nuvem do MongoDB – o MongoDB Atlas. O que está ameaçado então não é o código-fonte do MongoDB, mas o SaaS do MongoDB derivado desse código-fonte, e essa é a principal fonte de receita da empresa.

Para combater a ameaça potencial aos seus resultados, o MongoDB passou da Gnu Public License (GPL) para o que chama de Licença Pública do Lado do Servidor, ou SSPL. O SSPL diz que, em essência, você pode fazer o que quiser com este software, exceto usá-lo para criar algo que concorra com o MongoDB Atlas.

Originalmente, o MongoDB enviou a SSPL à Open Source Initiative (OSI), a organização que supervisiona e aprova novas licenças de código aberto. Mas, depois de ver a escrita na parede – a discussão nas listas de discussão da OSI, combinada com a redação da licença, tornou improvável que a SSPL fosse aprovada pelo OSI – MongoDB retirou o SSPL da consideração no início deste ano. O SSPL não é uma licença de código aberto e nunca será.

Para entender o porquê, ajuda a perceber que o MongoDB não é o primeiro negócio de código aberto a enfrentar essa situação. De fato, parte desse problema – empresas pegando software, usando-o como bem entenderem e não contribuindo com nada para a comunidade de código aberto – é a razão pela qual o software de código aberto existe.

As licenças de código aberto variam, mas a essência desde o 1998 fundação da OSI geralmente é o seguinte: você pode pegar esse código e fazer o que quiser com ele, mas não pode tornar o código proprietário, e se você o usar em outro projeto, esse projeto também não poderá ser proprietário. Essas licenças foram escritas dessa maneira para impedir as empresas de usar código-fonte aberto, usá-lo em seu próprio código e não compartilhar nada desse trabalho de volta ao projeto original.

Mas o conceito de SaaS não existia duas décadas atrás. E hoje, Horowitz argumenta que agrupar um pedaço de código em uma oferta SaaS é o equivalente moderno de usá-lo em um aplicativo.

É um argumento novo, mas defende um problema muito antigo que vai muito além do licenciamento. É um problema que remonta ao início do software livre muito antes do OSI – como você ganha dinheiro com software se o distribui de graça?

Uma resposta tradicional é que você vende serviços em torno de seu software de código aberto. Mas para Horowitz isso não é bom o suficiente. "A monetização do código aberto com contratos de suporte nunca foi um grande modelo de negócios", diz ele à Ars. A Red Hat provavelmente discordaria, mas Horowitz acredita que mais licenças de proteção trariam mais investimentos de capital de risco e gerariam mais negócios de software com base no modelo aberto que o MongoDB usou. "Somos únicos", diz ele, "quero que sejamos menos únicos".

Ele pode estar correto. Uma licença mais protetora poderia induzir mais investimentos em capital de risco, porque há (sem dúvida) uma maior probabilidade de retorno do investimento. Mas se esse capital viesse, não estaria investindo em código aberto, porque esse tipo de restrição no software significa que ele não se encaixa mais na definição de código aberto.

O contra-argumento

Muitos advogados de código aberto já fizeram o contra-argumento do que Horowitz do MongoDB acredita. O conjunto atual de licenças é bom, dizem outros, são os modelos de negócios que precisam ser trabalhados.

Bruce Perens, co-autor do original definição de código aberto, diz que o SSPL é incompatível com a definição de código-fonte aberto nove da OSI, que diz que "a licença não deve restringir outro software". Como a SSPL força qualquer software SaaS agregado ao software coberto, mas não um derivado, a ser de código aberto, ele não passa no teste. "Eu escrevi o número nove no OSD para proibir exatamente esse tipo de conduta", diz Perens. "O texto é realmente claro."

O MongoDB está longe de ser o único a reclamar que a nuvem está chovendo sobre seus lucros. A Redis Labs, outra empresa de armazenamento de dados, foi a primeira a soar o alarme sobre os provedores de nuvem ameaçarem seus negócios, e a Redis Labs pode ter a melhor solução no final. O Redis Labs mudou inicialmente sua licença para incluir algo chamado sublicença da Cláusula Comum, que proíbe qualquer um de vender qualquer software que ele cobre. O software licenciado com a Cláusula Comum não é, pela definição de ninguém, um código aberto, que a Redis Labs reconheceu. Nunca descreveu essas partes de seu software como código aberto.

Mas nesta primavera, o Redis Labs fez mais uma alteração no licenciamento– essencialmente, descartando toda a pretensão de ser um software de código aberto e adotando uma licença proprietária doméstica para alguns de seus módulos. Para ficar claro, a maioria do Redis é governada pela Licença Apache 2.0, mas alguns módulos não são, como RedisJSON, RedisSearch, RedisGraph, RedisML e RedisBloom.

A licença que o Redis Labs aplica a esses módulos diz que, embora os usuários possam visualizar e modificar o código ou usá-lo em seus aplicativos, ele restringe os tipos de aplicativos que eles podem criar. Com a nova licença do Redis Labs, você não pode criar o que quiser. Você não pode criar produtos de banco de dados, um mecanismo de armazenamento em cache, um mecanismo de processamento, um mecanismo de pesquisa, um mecanismo de indexação ou qualquer tipo de mecanismo de veiculação derivado de ML ou AI. Em outras palavras, você não pode usar o código do Redis Labs para competir com o Redis Labs. Isso viola um dos principais inquilinos do licenciamento de código aberto – que não há restrições ao software derivado.

Infelizmente para o Redis Labs e o MongoDB, não faz sentido dizer simultaneamente que você é de código aberto e que somente você deve lucrar com seu software de código aberto. Lá é um modelo de negócios em que isso faz sentido: software proprietário.

Esse é o caminho que o Elastic.co segue há algum tempo. Embora parte do problema aqui seja o fato de ainda não haver um manual definido, algumas empresas conseguiram prosperar com código-fonte aberto e código proprietário. Elástico é um exemplo; ele enfrentou a concorrência exata da AWS e seguiu em frente.

Por anos, a Amazon não apenas ofereceu o Elasticsearch na AWS (ostensivamente competindo com as próprias ofertas do Elastic), como recentemente empacotou sua própria versão da base de código do Elasticsearch, estendendo-a para oferecer gratuitamente vários dos serviços que a Elastic não lançou como código aberto. A resposta da Elastic foi pouco mais do que o equivalente corporativo a um encolher de ombros.

Imagem do anúncio por photovibes / Getty Images

Fonte: Ars Technica