Apache Software Foundation vs FACEBOOK. Fight!

no encontrábamos imágenes de apaches“…We appreciate all the issues that have been opened asking questions and engaging us. We have considered possible changes carefully, but we won’t be changing our default license or React’s license at this time. We recognize that we may lose some React community members because of this decision. We are sorry for that, but we need to balance our desire to participate in open source with our desire to protect ourselves from costly litigation. We think changing our approach would inhibit our ability to continue releasing meaningful open source software and increase the amount of time and money we have to spend fighting meritless lawsuits.”(…)

El resaltado es nuestro, para que no tengas que leerlo todo. *

Y a tomar pimpón. Facebook explica de esta forma su decisión, después de la polémica con la licencia bajo la que distribuye su popular React (BSD + Patents license)… Te hacemos un resumen de lo que ha ido ocurriendo estos días, desde el principio 😉

 

¿Qué es React?

A declarative, efficient, and flexible JavaScript library for building user interfaces.”

React es una librería de JavaScript para crear interfaces de usuario de forma “eficiente y flexible”, desarrollada por el equipo de Facebook. En teoría es Open Source (en un sentido muy amplio), lo que significa que Facebook liberó el código fuente de React en concreto y lo puso a disposición de la comunidad en el repositorio correspondiente de Github. Esto está guay, en teoría.

¿Cuál es el problema?

Si te perdiste el que hasta la fecha es el post más leído en nuestro blog, Reactiones, no pasa nada que te hacemos un resumen: el problema es el tipo de licencia bajo la que se distribuye React, que en la práctica limita mucho la operatividad de esta librería. Es una licencia BSD, que es la que corresponde a software libre, pero le añadieron una cláusula de patente de software que restringe el uso que se hace de la librería y elimina la posibilidad de que se use para proyectos que hagan la competencia a Facebook. Como Facebook es todo, y parece que cada vez se mete en más funcionalidades y productos, la limitación hipotética es bastante enorme.

El engendro BSD+cláusula de patente provocó que el equipo de Facebook recibiese una gran cantidad de issues de la comunidad (= los desarrolladores que usan esa librería solicitaban cosas en el repositorio), pero lo que de verdad ha cabreado a Facebook es que la Apache Software Foundation (ASF*) incluyese la licencia (BSD+Patents license) dentro de la lista de Category-X license. Ahí es nada.

El objetivo de la ASF, que puedes ver en su web, es proveer software para el bien público, y lo hacen a través de servicios y soporte para las comunidades con proyectos de software libre e individuos que eligen formar parte de la ASF. Los criterios que se tienen en cuenta para analizar si una licencia cumple los estándares de la ASF son:

  1. Que la licencia debe reunir los requisitos de la Open Source Definition.
  2. Que la licencia no debe incluir restricciones a la distribución de trabajos independientes, que simplemente usen o contengan el trabajo licenciado.
  3. Que la licencia no debe incluir restricciones a la distribución de grandes proyectos, más allá de requerir que el material licenciado respete los términos de la licencia.

Category-X license

¿Qué supone incluir una licencia en esta categoría X? Pues que la licencia está castigada. La categoría X es la lista negra de la ASF. Si estás ahí es porque no respetas sus políticas, y por tanto ningún trabajo que esté licenciado bajo esas licencias estará amparada por la Apache Software Foundation. Punto negativo para Facebook, porque además la ASF justifica esta decisión así:

…The Facebook BSD+Patents license includes a specification of a PATENTS file that passes along risk to downstream consumers of our software imbalanced in favor of the licensor, not the licensee, thereby violating our Apache legal policy of being a universal donor. The terms of Facebook BSD+Patents license are not a subset of those found in the ALv2, and they cannot be sublicensed as ALv2.” (…)

En esencia, el archivo de patente pone en peligro la cualidad de donante universal, la persona que use ese código no tiene garantizado que pueda usarlo sin problemas por la reserva de acciones que supone en la práctica.

¿Que qué dice Facebook?

El 19 de agosto de 2017 Adam Wolf publicó un post titulado Explaining React’s license, donde hace referencia a la postura de Facebook que, al igual que otras compañías, ha decidido colaborar con la comunidad open source, liberando hardware y software de calidad que los propios desarrolladores de Facebook usan en sus productos que han obtenido éxito.

Por otro lado, lamenta que estas compañías deban hacer frente a demandas judiciales injustificadas, donde lo único que se busca es obtener un rédito económico. Para evitar esto han añadido a la licencia bajo la que distribuyen algunos de sus proyectos la famosa cláusula de patente, segñun la cual si usas el código liberado por Facebook para hacerle la competencia pierdes la garantía de la licencia y la estarían infringiendo. En la práctica significa que quien te va a demandar a ti por cantidades astronómicas es Facebook, que te deja el juguete pero no para que le des por saco jugando con él.

Sobre la decisión de la ASF, Adam Wolf considera que es una decisión política y no técnica y hace referencia a otras compañías y licencias que también están incluidas en la lista negra de la ASF:

…The ASF’s decision related to projects carrying the BSD + Patents license was an internal policy choice directed at projects distributed through, and living on, Apache servers. While we respect this decision, it hurts to see so many great ASF projects get churned for policy reasons after using this license for years. In making the BSD + Patents license a Category-X license, the ASF added it to a long list of other licenses marked by the ASF as contrary to their policies. Their decision was not a legal decision about the compatibility of projects with this license. As has always been the case, source code licensed under the Facebook BSD + Patents license can be combined with source code licensed under other open source licenses like BSD, MIT, Apache 2.0, and GPL. Additionally, as has always been the case, you may distribute BSD + Patents licensed code with other popular open source licenses, such as BSD, MIT, Apache 2.0, and GPL.”(…)

Entonces, ¿qué conclusiones sacamos?

Volviendo al concepto al que apuntaba Salva de la Puente en su uúltima charla en Vigo, con esta decisión Facebook ejerce una especie de monopolio benevolente: aunque sea un gigante de internet, no tengáis miedo porque os dejo mi código de JavaScript para crear interfaces de usuario de forma “eficiente y flexible”. Oh, miradme, soy generoso a la par que humilde y estoy ahí para la comunidad. Eso sí, no lo uséis para algo que me haga competencia directa porque os fundo con una demanda y además ya os digo que para eso no podéis usarlo.

Jan Lehnardt lo explica súper bien en su post titulado Understanding the Facebook vs Apache Software Foundation License Kerfuffle: tu compañía se dedica a vender frigoríficos inteligentes y en la pantalla usas React. Muy bien, porque está ahí para usarlo. Ahora, si dentro de 5 años Facebook decide meterse en el mundo de los frigoríficos inteligentes porque su algoritmo ya te hace la compra sola en función de los comentarios de tu muro…date por jodido. A reescribir el código entero.

Si es que no es oro todo lo que reluce.

Feliz semana.

AFS*: como no hemos encontrado imágenes de la Apache Software Foundation disponibles en Google para publicar sin fines comerciales, pues hemos llenado la entrada de mapaches, que sólo se distinguen por la “m” inicial…

Si te ha gustado este post ayuda a su difusión:

This website uses cookies to give you the best user experience. If you continue browsing you are giving your consent for the acceptance of the aforementioned cookies and the acceptance of our cookies policy, click the link for more information.plugin cookies

ACEPTAR
Aviso de cookies