Usuários do React fazem petição ao Facebook para re-licenciar o React.js após a Apache Software Foundation banir a licença BSD+Patents em dependências

Publicados: 2017-07-18

A Apache Software Foundation emitiu um aviso no fim de semana, indicando que adicionou a licença BSD+Patents do Facebook à sua lista Categoria X de licenças não permitidas para membros do Apache PMC. Esta é a licença que o Facebook usa para a maioria de seus projetos de código aberto.

Um representante da equipe RocksDB do Facebook comentou no post da Apache Foundation para informar que o projeto cumprirá o prazo de 31 de agosto para relicenciar para estar em conformidade com os requisitos dos membros do Apache PMC, e essa mudança foi confirmada hoje:

A equipe do RocksDB está ajustando o licenciamento para que seja licenciado duplo sob as licenças Apache 2 e GPL 2 (para compatibilidade com MySQL). Isso deve acontecer em breve e bem antes de 31 de agosto. Deixarei a história e a filosofia em torno do licenciamento em paz, pois geralmente é uma discussão complexa de se ter e não tenho certeza de que tenha sido totalmente capturada neste tópico, especialmente em relação à intenção do Facebook.

Espero que a orientação desta manhã para PMCs possa ser ajustada, pois não acho que nenhum de nós veja um monte de esforço extra de engenharia como uma coisa desejável nos projetos ASF que já estão fazendo uso do RocksDB

À luz da decisão do Comitê de Assuntos Jurídicos da ASF de não permitir a licença BSD+Patents em projetos Apache, o membro da ASF Joan Touzet abriu um problema no repositório React pedindo ao Facebook que considerasse re-licenciar React.js sob Apache License v2.0 e GPL 2 :

Isso levou a muito aborrecimento e frustração na comunidade Apache, especialmente de projetos que exigem código com licença semelhante como dependências diretas – o principal deles é o RocksDB.

Nós (a Apache Software Foundation) acabamos de receber a notícia de que o RocksDB re-licenciará seu código sob as licenças duplas Apache License v2.0 e GPL 2.

Como usuário do React.JS em um projeto de nível superior ASF (Apache CouchDB), considere re-licenciar o React.JS em termos semelhantes. Caso contrário, muitos projetos ASF, como o nosso, terão que parar de depender e construir com React.

Embora o re-licenciamento do RocksDB resolva o problema desse projeto em particular, o banimento da licença BSD+Patents do Facebook pela ASF significa que outras tecnologias amplamente usadas do Facebook, incluindo React.js, ainda estão banidas. Isso provavelmente causará problemas para muitos projetos de código aberto.

Harshavardhana, da equipe Minio, comentou em apoio à petição ao Facebook para re-licenciar o React.

“Nossa interface do navegador de armazenamento de objetos é baseada em React e temos licença Apache 2.0”, disse ele. “Seria lamentável e demorado migrar, mas teremos que fazer isso em vez de novas informações sobre a incompatibilidade do Apache. Por favor, considere re-licenciar o React.”

Os colaboradores do Om, uma interface ClojureScript para React, também estão discutindo se os novos requisitos do ASF afetarão ou não seu projeto. Greg Stein, comentando em nome da ASF, esclareceu as razões por trás da decisão da organização de banir a licença BSD+Patents do Facebook:

Observe que a ASF escolheu esse caminho por motivos de política, em vez de “incompatibilidade de licença”. Não queremos que os usuários downstream do código Apache sejam surpreendidos pela concessão de PATENTES que (estava) no RocksDB e (está) no React. Os usuários devem apenas seguir o ALv2, sem maiores restrições.

Essas licenças podem funcionar em conjunto (IMO) e simplesmente fornecer dois conjuntos de restrições aos usuários.

Stein disse que não foram os advogados da ASF que tomaram a decisão, mas sim a decisão política da organização de “não permitir que a licença FB/BSD + Patente seja misturada ao software que a Fundação lança aos usuários”.

Facebook está discutindo internamente o assunto de re-licenciamento

Dan Abramov, coautor de Redux, Create React App e React Hot Loader, juntou-se à discussão no GitHub sobre re-licenciamento com um breve e ambíguo resumo sobre como o Facebook está lidando com a petição para re-licenciar.

“Para dar uma pequena atualização, haverá mais discussões internas sobre isso por cerca de uma semana”, disse Abramov. “Isso é o máximo que posso dizer. Eu não estaria muito otimista sobre essa mudança para o React, mas veremos. @daveman692 gentilmente concordou em fornecer uma atualização quando essas discussões terminarem.”

A retirada total da concessão de patentes, que seria a maneira mais conveniente de resolver esse problema para projetos de código aberto, provavelmente não acontecerá. O React já passou por re-licenciamento duas vezes durante sua curta história. Foi originalmente licenciado sob Apache 2.0, mas isso foi alterado em outubro de 2014 para a Licença BSD mais a concessão de patente, que incluía uma cláusula de rescisão altamente controversa. Em abril de 2015, a concessão de patente foi ligeiramente alterada para permitir que os licenciados continuassem a usar o software no caso de um processo de patente não incluir uma reconvenção contra o Facebook ou suas afiliadas em um assunto não relacionado ao React.js.

A cláusula de rescisão na licença BSD+Patents do Facebook continua impopular e é considerada suspeita por muitos mantenedores de projetos de código aberto. Quando o projeto Drupal começou a considerar uma estrutura do lado do cliente para substituir o Backbone.js, Dries Buytaert rejeitou o React com base no que ele disse ser “uma cláusula de patente potencialmente inaceitável”, citando a reação dos contribuidores Calypso e React do WordPress.com.

O projeto de código aberto WordPress não anunciou formalmente sua decisão sobre qual framework JavaScript será incluído no núcleo, mas todos os sinais apontam para o React. O próximo editor Gutenberg do WordPress é construído em React e seus principais colaboradores são funcionários da Automattic que trabalham em produtos baseados em React para WordPress.com. Gutenberg continua avançando em um ritmo vertiginoso, sem indicação de reescrita, e o co-criador do WordPress Matt Mullenweg foi franco sobre sua preferência por usar o React.

Embora a assessoria jurídica da Automattic tenha dito que a empresa está confortável em usar o React para seu produto sob a licença atual do projeto, outros na comunidade WordPress não são tão receptivos a incluir a estrutura no núcleo.

A Open Source Initiative (OSI) inclui uma licença genérica BSD+Patent listada entre suas licenças aprovadas, mas a licença BSD+Patent específica do Facebook não foi enviada. Robert Pierce, sócio da El Camino Legal, afirma que a cláusula de rescisão de licença deve ser inadmissível em uma licença de código aberto porque existe para proteger o Facebook de litígios de patentes que não estão relacionados ao código React:

O Facebook anuncia o React.js como software de código aberto. Mas, em minha opinião, a cláusula de rescisão de licença da Concessão Adicional de Direitos de Patente leva a oferta para fora do domínio do software de código aberto.

A licença de patente oferecida na Concessão Adicional de Direitos de Patente (v.2) está condicionada ao fato de o licenciado não apresentar uma ação de violação de patente contra o Facebook ou suas afiliadas. Assim, o licenciado paga um preço para usar a biblioteca. Não é um preço pago com dinheiro. O preço exigido pelo Facebook para uso da biblioteca é que o licenciado se abstenha de exercer qualquer um de seus direitos de patente contra o Facebook ou suas afiliadas.

Pierce vê a publicação do código-fonte do React pelo Facebook como uma alavanca para ganhar alguma proteção contra processos de patentes, que ele considera ser “uma abordagem muito gananciosa para o Facebook reivindicar o status de código aberto”.

A comunidade de código aberto especulou amplamente sobre as implicações de incluir a licença BSD+Patent do Facebook como uma dependência, mas a licença ainda não foi testada em tribunal. A Apache Software Foundation é a primeira grande organização a adotar uma posição de linha dura sobre a controversa licença e isso chamou a atenção do Facebook. Os representantes do Facebook prometeram uma atualização sobre a petição para re-licenciamento após a conclusão de suas discussões internas.