La bibliothèque est utilisée notamment par Netflix, Yahoo, Airbnb, Sony, Atlassian, Instagram, Whatsapp et, bien entendu, par les équipes de Facebook, appliquant le dogfooding sur le réseau social.
React a été publié sous licence Apache 2.0 le 29 mai 2013. En octobre 2014, la version 0.12.0 est publiée sous licence BSD modifiée, avec une note associée PATENTS permettant l'utilisation des brevets de Facebook associé à React. Cependant, la licence BSD est mise à jour en avril 2015, avec la version 0.13.1, pour éviter les confusions.
Au fil des années, React a su gagner en popularité, notamment grâce à sa modularité et sa simplicité d’utilisation. Si les mérites techniques de React sont difficiles à contester, la bibliothèque a été au centre de vives discussions au sein de communautés de développeurs. Plus précisément, nombreux sont ceux qui ont estimé que l’octroi de licences n’était pas très clair (BSD + PATENTS) à telle enseigne que les communautés FOSS (Free and open-source software) ont appelé à une résistance aux « sociétés du mal ».
En raison d’une des clauses du brevet, les communautés ont souligné que vous n'êtes pas autorisé à faire tout ce qui constitue une concurrence avec Facebook en vous servant de React. Si vous engagez des actions en justice ou, d'une autre manière, défiez Facebook, votre licence d'utilisation de React est immédiatement révoquée. Votre licence est également révoquée si vous avez des litiges juridiques avec toute autre entreprise utilisant React.
Ce à quoi Facebook a voulu vite réagir en déployant une FAQ en juillet 2016 qui tentait de démentir ces assertions. Elle comprenait notamment quatre questions :
- est-ce que l’accord de brevet dans la licence Facebook BSD + PATENTS se termine si je crée un produit concurrent ?
- est-ce que l’accord de brevet dans la licence Facebook BSD + PATENTS se termine si je poursuis Facebook pour quelque chose d'autre que la violation de brevet ?
- est-ce que l’accord de brevet dans la licence Facebook BSD + PATENTS se termine si Facebook me poursuit d'abord pour contrefaçon de brevet, puis je réponds avec une demande de brevet contre Facebook ?
- est-ce que la résiliation de l’accord de brevet dans la licence Facebook BSD + PATENTS entraîne la fin de la licence de copyright ?
À toutes ces questions, Facebook a répondu par la négative, apportant une nuance à la réponse à la troisième question.
Toutefois, un an plus tard, il semblerait que la Fondation Apache a pris une position contre l'utilisation de React.js et d'autres logiciels populaires qui s’appuient sur cette licence.
Dans un ticket JIRA, un système de suivi de bogues, de gestion des incidents et de gestion de projets développé par Atlassian et proposé gratuitement aux projets open source ainsi qu’aux organisations non commerciales, un utilisateur a partagé une note émanant d'Apache qui formule les recommandations suivantes contre la licence :
- aucun nouveau projet, sous-projet ou base de code, qui n'a pas utilisé les brevets Facebook BSD + PATENT jars (ou des licences similaires), n’est autorisé à les utiliser. En d'autres termes, si vous ne les utilisez pas, vous ne pouvez pas commencer. C'est Cat-X ;
- si vous l'utilisez et que vous l'avez fait dans une * version *, vous avez une exclusion temporaire de la classification Cat-X jusqu'au 31 août 2017. À ce moment-là, TOUTE utilisation de ces brevets Facebook BSD + PATENT sera DÉSACTIVÉE. Vous devez soit trouver un remplacement dûment autorisé, soit vous en occuper. Il n'y aura pas d'exception ;
- toute situation qui n'est pas couverte par ce qui précède est un DÉCALAGE implicite de l'utilisation.
Ce ticket spécifique s'adresse à RocksDB, un moteur de base de données de Facebook. En fait, RocksDB est déjà en train de faire migrer ses licences vers Apache 2.0. React.js est un projet distinct et il semble que Facebook ait l'intention de conserver la clause controversée du brevet.
Alors que les entités commerciales sont maintenant à l'aise avec l'utilisation du code React dans les produits, il semble que les communautés open source sont lasses de cette licence particulière que Facebook a défendue et tenté de clarifier au fil du temps. Pourtant, de nombreux projets open source populaires comme WordPress continuent de promouvoir React.
Source : note d'Apache, Facebook, clause à l'origine du problème
Et vous ?
Qu'est-ce qui peut, selon vous, expliquer le fait que la communauté open source ne voudrait plus progresser dans son adoption de React ?
Mise à jour du 22/08/2017 : Facebook n'a pas l'intention de changer sa licence React.js
Le directeur d'ingénierie de Facebook, Adam Wolff, a expliqué que le réseau social ne va pas changer sa licence. Tout d’abord, il s’est excusé pour la confusion qui a pu être créée au sein de la communauté React et open source, rappelant au passage que Facebook a bénéficié de l’open source et a toujours travaillé dans l’optique de contribuer le plus possible en retour. Par la suite, il a fait valoir que :
« Au fur et à mesure que notre entreprise a été couronnée de succès, nous sommes devenus une cible plus large pour les patent-troll. Ce type de litige peut être extrêmement coûteux en termes de ressources et d'attention. Il nous aurait été facile d'arrêter de contribuer à l'open source, ou de faire ce que d'autres grandes entreprises font et ne publier que des logiciels qui ne sont pas utilisés dans nos produits les plus réussis, mais nous avons décidé d'adopter une approche différente. Nous avons décidé d'ajouter une subvention claire de brevet lorsque nous publions un logiciel sous la licence BSD en trois étapes, créant ce qui a été appelé la licence BSD + Brevets. La subvention de brevet stipule que si vous utilisez le logiciel que nous avons publié en vertu de ce document, vous perdez la licence de brevet si vous lancez des poursuites contre nous pour une infraction de brevet. Nous croyons que si cette licence était largement adoptée, elle pourrait effectivement réduire les litiges sans mérite pour tous les adoptants, et nous voulons travailler avec d'autres pour explorer cette possibilité.
« Nous respectons la propriété intellectuelle des tiers, y compris les brevets, et nous espérons que d'autres respecteront notre propriété intellectuelle également. La licence BSD + Brevets a simplement l'intention de donner à nos équipes plus de place pour apporter des contributions significatives à l'open source tout en réduisant notre temps de lutte contre des poursuites frivoles. D'autres entreprises de grande technologie ont pris des décisions similaires en fonction de ce qu'elles croient être le mieux pour leurs entreprises grâce à un mélange d'approches, y compris API, SDK et licences de logiciels. Certains diront que l'open source est différent, mais nous croyons que les développeurs qui s'inquiètent de la licence BSD + Brevets devraient se pencher sur la façon dont les entreprises abordent l'octroi de licences de brevet de façon holistique. »
Source : Facebook
Le directeur d'ingénierie de Facebook, Adam Wolff, a expliqué que le réseau social ne va pas changer sa licence. Tout d’abord, il s’est excusé pour la confusion qui a pu être créée au sein de la communauté React et open source, rappelant au passage que Facebook a bénéficié de l’open source et a toujours travaillé dans l’optique de contribuer le plus possible en retour. Par la suite, il a fait valoir que :
« Au fur et à mesure que notre entreprise a été couronnée de succès, nous sommes devenus une cible plus large pour les patent-troll. Ce type de litige peut être extrêmement coûteux en termes de ressources et d'attention. Il nous aurait été facile d'arrêter de contribuer à l'open source, ou de faire ce que d'autres grandes entreprises font et ne publier que des logiciels qui ne sont pas utilisés dans nos produits les plus réussis, mais nous avons décidé d'adopter une approche différente. Nous avons décidé d'ajouter une subvention claire de brevet lorsque nous publions un logiciel sous la licence BSD en trois étapes, créant ce qui a été appelé la licence BSD + Brevets. La subvention de brevet stipule que si vous utilisez le logiciel que nous avons publié en vertu de ce document, vous perdez la licence de brevet si vous lancez des poursuites contre nous pour une infraction de brevet. Nous croyons que si cette licence était largement adoptée, elle pourrait effectivement réduire les litiges sans mérite pour tous les adoptants, et nous voulons travailler avec d'autres pour explorer cette possibilité.
« Nous respectons la propriété intellectuelle des tiers, y compris les brevets, et nous espérons que d'autres respecteront notre propriété intellectuelle également. La licence BSD + Brevets a simplement l'intention de donner à nos équipes plus de place pour apporter des contributions significatives à l'open source tout en réduisant notre temps de lutte contre des poursuites frivoles. D'autres entreprises de grande technologie ont pris des décisions similaires en fonction de ce qu'elles croient être le mieux pour leurs entreprises grâce à un mélange d'approches, y compris API, SDK et licences de logiciels. Certains diront que l'open source est différent, mais nous croyons que les développeurs qui s'inquiètent de la licence BSD + Brevets devraient se pencher sur la façon dont les entreprises abordent l'octroi de licences de brevet de façon holistique. »
Source : Facebook