Los usuarios de React solicitan a Facebook que vuelva a otorgar la licencia de React.js después de que Apache Software Foundation prohíba la licencia BSD+Patents en las dependencias

Publicado: 2017-07-18

Apache Software Foundation emitió un aviso durante el fin de semana, indicando que agregó la licencia BSD+Patents de Facebook a su lista de categoría X de licencias no permitidas para miembros de Apache PMC. Esta es la licencia que usa Facebook para la mayoría de sus proyectos de código abierto.

Un representante del equipo RocksDB de Facebook comentó sobre la publicación de la Fundación Apache para informar que el proyecto cumplirá con la fecha límite del 31 de agosto para renovar la licencia a fin de cumplir con los requisitos de los miembros de Apache PMC, y ese cambio se ha realizado hoy:

El equipo de RocksDB está ajustando la concesión de licencias de manera que tendrá una licencia doble bajo las licencias Apache 2 y GPL 2 (para compatibilidad con MySQL). Esto debería suceder en breve y mucho antes del 31 de agosto. Dejaré la historia y la filosofía en torno a las licencias en paz, ya que generalmente es una discusión compleja y no estoy seguro de que se haya capturado completamente en este hilo, especialmente en relación con la intención de Facebook.

Con suerte, la orientación de esta mañana para los PMC se puede ajustar, ya que no creo que ninguno de nosotros vea un montón de esfuerzo de ingeniería adicional como algo deseable en los proyectos de ASF que ya utilizan RocksDB.

A la luz de la decisión del Comité de Asuntos Legales de la ASF de no permitir la licencia BSD+Patents en los proyectos de Apache, el miembro de la ASF, Joan Touzet, abrió un problema en el repositorio de React instando a Facebook a considerar volver a otorgar la licencia de React.js bajo la Licencia Apache v2.0 y GPL 2. :

Esto ha provocado mucho malestar y frustración en la comunidad de Apache, especialmente por los proyectos que requieren un código con licencia similar como dependencias directas; el principal de ellos es RocksDB.

Nosotros (la Apache Software Foundation) acabamos de recibir la noticia de que RocksDB volverá a obtener la licencia de su código bajo las licencias dual Apache License v2.0 y GPL 2.

Como usuario de React.JS en un proyecto de nivel superior de ASF (Apache CouchDB), considere volver a obtener la licencia de React.JS bajo términos similares. De lo contrario, muchos proyectos de ASF como el nuestro tendrán que dejar de depender y construir con React.

Aunque la renovación de la licencia de RocksDB resuelve el problema de ese proyecto en particular, la prohibición de la licencia BSD+Patents de Facebook por parte de ASF significa que otras tecnologías ampliamente utilizadas de Facebook, incluido React.js, aún están prohibidas. Es probable que esto cause problemas para muchos proyectos de código abierto.

Harshavardhana, del equipo de Minio, comentó en apoyo de la petición a Facebook para volver a obtener la licencia de React.

“Nuestra interfaz de usuario del navegador de almacenamiento de objetos se basa en React y tenemos licencia de Apache 2.0”, dijo. “Sería desafortunado y llevaría mucho tiempo migrar, pero tendremos que hacerlo en lugar de nueva información sobre la incompatibilidad de Apache. Considere volver a obtener la licencia de React”.

Los colaboradores de Om, una interfaz ClojureScript para React, también están discutiendo si los nuevos requisitos de ASF afectarán o no su proyecto. Greg Stein, comentando en nombre de ASF, aclaró las razones detrás de la decisión de la organización de prohibir la licencia BSD+Patents de Facebook:

Tenga en cuenta que la ASF eligió este camino por razones de política, en lugar de "incompatibilidad de licencia". No queremos que los usuarios intermedios del código Apache se sorprendan con la concesión de PATENTES que (estaba) en RocksDB y (está) en React. Los usuarios solo deberían necesitar seguir el ALv2, sin más restricciones.

Estas licencias pueden funcionar juntas (IMO) y simplemente proporcionan dos conjuntos de restricciones para los usuarios.

Stein dijo que no fueron los abogados de ASF quienes tomaron la decisión, sino más bien la decisión política de la organización de "no permitir que la licencia FB/BSD+Patent se mezcle con el software que la Fundación lanza a los usuarios".

Facebook está discutiendo internamente el asunto de la renovación de licencias

Dan Abramov, coautor de Redux, Create React App y React Hot Loader, se unió a la discusión en GitHub sobre la renovación de licencias con un resumen breve y ambiguo sobre cómo Facebook está manejando la petición de renovación de licencias.

“Para brindarle una pequeña actualización, habrá más discusiones internas sobre esto durante aproximadamente una semana”, dijo Abramov. “Esto es todo lo que puedo decir. No sería demasiado optimista sobre este cambio para React, pero ya veremos. @daveman692 ha accedido amablemente a proporcionar una actualización cuando terminen estas discusiones”.

Abandonar por completo la concesión de patentes, que sería la forma más conveniente de resolver este problema para los proyectos de código abierto, no es probable que suceda. React ya ha pasado por la renovación de licencias dos veces durante su corta historia. Originalmente tenía la licencia de Apache 2.0, pero se cambió en octubre de 2014 a la licencia BSD más la concesión de la patente, que incluía una disposición de rescisión muy controvertida. En abril de 2015, la concesión de patentes se modificó ligeramente para permitir que los licenciatarios continuaran usando el software en caso de que una demanda de patentes no incluyera una reconvención contra Facebook o sus afiliados en un asunto no relacionado con React.js.

La disposición de rescisión en la licencia BSD+Patents de Facebook sigue siendo impopular y muchos mantenedores de proyectos de código abierto la consideran sospechosa. Cuando el proyecto Drupal comenzó a considerar un marco del lado del cliente para reemplazar a Backbone.js, Dries Buytaert rechazó React basándose en lo que dijo que era "una cláusula de patente potencialmente inaceptable", citando el rechazo de los colaboradores de Calypso y React de WordPress.com.

El proyecto de código abierto de WordPress no ha anunciado formalmente su decisión sobre qué marco de JavaScript se incluirá en el núcleo, pero todas las señales apuntan a React. El próximo editor Gutenberg de WordPress se basa en React y sus principales colaboradores son empleados de Automattic que trabajan en productos basados ​​en React para WordPress.com. Gutenberg continúa avanzando a un ritmo vertiginoso sin indicios de una reescritura, y el co-creador de WordPress, Matt Mullenweg, ha sido franco sobre su preferencia por usar React.

Aunque el asesor legal de Automattic ha dicho que la compañía se siente cómoda usando React para su producto bajo la licencia actual del proyecto, otros en la comunidad de WordPress no están dispuestos a incluir el marco en el núcleo.

La Iniciativa de código abierto (OSI) incluye una licencia BSD+Patent genérica que figura entre sus licencias aprobadas, pero la licencia BSD+Patent particular de Facebook no se ha presentado. Robert Pierce, socio de El Camino Legal, sostiene que la cláusula de rescisión de la licencia no debería ser admisible en una licencia de código abierto porque existe para proteger a Facebook de litigios de patentes que no tienen nada que ver con el código React:

Facebook promociona React.js como software de código abierto. Pero, en mi opinión, la disposición de rescisión de la licencia de la concesión adicional de derechos de patente lleva la oferta fuera del ámbito del software de código abierto.

La licencia de patente que se ofrece en la Concesión adicional de derechos de patente (v.2) está condicionada a que el licenciatario no presente una demanda por infracción de patente contra Facebook o sus afiliados. Por lo tanto, el licenciatario paga un precio por usar la biblioteca. No es un precio pagado con dinero. El precio exigido por Facebook por el uso de la biblioteca es que el licenciatario se abstenga de ejercer cualquiera de sus derechos de patente contra Facebook o sus afiliados.

Pierce ve la publicación de Facebook del código fuente de React como una palanca para obtener cierta protección contra las demandas de patentes, que considera "un enfoque demasiado codicioso para que Facebook reclame el estado de código abierto".

La comunidad de código abierto ha especulado mucho sobre las implicaciones de incluir la licencia BSD+Patent de Facebook como una dependencia, pero la licencia aún no se ha probado en los tribunales. Apache Software Foundation es la primera organización importante en adoptar una postura de línea dura sobre la controvertida licencia y esto ha llamado la atención de Facebook. Los representantes de Facebook han prometido una actualización sobre la petición de renovación de licencias después de que hayan concluido sus discusiones internas.