O Facebook decidiu alterar a licença BSD+Patents do React para MIT a fim de possibilitar que as empresas incluíssem o React em projetos Apache, e para evitar relacionamentos incertos com a comunidade open source.
Adam Wolff, diretor de engenharia do Facebook, anunciou que uma série de projetos - React, Jest, Flow, e Immutable.js - começarão a usar em breve a licença mais padrão, MIT, em vez de BSD+Patents. Wolf justifica a troca de licença:
...porque o React é a base de um amplo ecossistema de software de código aberto para a web, e não queremos atrasar o progresso por razões não-técnicas.
Embora ciente de que a licença BSD+Patents do React criou "incerteza" entre os usuários da biblioteca, levando alguns a selecionar uma solução alternativa, o Facebook não "espera ganhar essas equipes de volta", mas eles esperam que alguns reconsiderem o problema. A alteração na licença entrou em vigor quando o React 16 foi lançado.
Em relação a outros projetos, Wolff disse que "muitos dos nossos projetos populares manterão a licença BSD+Patents por enquanto", enquanto eles estão "avaliando as licenças desses projetos também, mas cada projeto é diferente e as opções alternativas de licenciamento dependerão de uma variedade de fatores."
Tal declaração dá a entender que o Facebook planeja se livrar completamente da licença BSD+Patents, mas eles precisam analisar a melhor opção para cada projeto.
A BSD+Patents é uma licença BSD de 3 cláusulas não padrão, acompanhada de um arquivo de patentes criado para proteger o Facebook contra litígios. Um usuário do React pode ter revogado o direito de usar a biblioteca, ou qualquer outro projeto do Facebook com a mesma licença, se processar o Facebook diretamente ou indiretamente para uma Asserção de Patentes, ou se tiver interesse financeiro em tal afirmação, definida pelo Facebook como:
Uma "Asserção de Patentes" é qualquer ação judicial ou outra ação que alegue violação direta, indireta ou contributiva, ou incentivo para infringir qualquer patente, incluindo uma reclamação cruzada ou reconvenção.
No começo, esta licença chamou a atenção de alguns, mas não incomodou a maioria dos usuários até que o Apache decidiu incluir a BSD+Patentes na Categoria X de licenças que não podem ser incluídas em um produto Apache. A lista inclui, entre outras, várias licenças GNU, Microsoft Limited Public License, e Amazon Software License (ASL). O principal problema é que tais licenças não são um "doador universal para projetos downstream e, como tal, introduz limitações para o uso desse software.". Uma série de importantes projetos de código aberto foram afetados pela licença do Facebook, incluindo Samza, Flink, Marmotta, Kafka and Bahir.
O Apache deu às empresas um prazo para contornar o problema, até 31 de agosto, quando "QUALQUER e TODO uso desses artefatos licenciados com patentes do Facebook e BSD serão DESAUTORIZADOS".
Mais detalhes sobre o motivo da decisão do Apache podem ser encontrados em RocksDB/LEGAL-303.
O plano do Facebook de mudar para uma licença padrão do MIT, suportada pelo Apache, resolve completamente esse problema com o React e vários outros projetos. Entretanto, ainda não se sabe o que acontecerá com a licença de outros projetos do Facebook, e o quanto essa questão de licença afetou como o React é percebido pela comunidade.