Sign in / Join

La licenza di React: facciamo chiarezza

Quando un developer intende utilizzare React in un proprio progetto, molto spesso si chiede quali siano le condizioni della licenza di React. Nella mia esperienza, mi sono trovato molto spesso ad ascoltare dei Dev convinti di non poter utilizzare React per creare una social app. Facciamo un po' di chiarezza sul punto.

Che cos'è React?

React è una libreria Javascript rilasciata da Facebook per realizzare interfacce utente. A mio modesto avviso, si tratta di uno strumento molto interessante che consente di realizzare rapidamente una web app, ma anche una mobile app, utilizzando la logica dei componenti.

Ogni applicazione viene scomposta in più componenti, ciascuno dei quali ha uno scopo ben definito (cd. principio della singola responsabilità) e ciò accresce sia la possibilità di riutilizzare i singoli componenti, sia la facilità di effettuare la manutenzione correttiva e/o evolutiva del programma.

Perché utilizzare React?

L'informatica al giorno d'oggi si fonda su un principio di base: Non inventare la ruota se è già stata inventata!

Nella maggior parte dei progetti di sviluppo, infatti, gli sviluppatori preferiscono integrare componenti di terze parti (le cd. librerie o i cd. moduli) che offrano un determinato set di funzionalità, piuttosto che riscriverle da zero. Ad esempio, pensiamo ad una web app che abbia necessità di convertire alcuni testi html in pdf.

Invece di scrivere da zero la funzione, si potrà utilizzare (in ambiente node.js)

In questo modo avremo a disposizione nel nostro progetto un modulo già pronto che ci consentirà di convertire i nostri file HTML in pdf, senza dover riscrivere da capo tutto (con evidente risparmio di tempo).

L'utilizzo di React, si fonda sullo stesso principio. Lo sviluppatore avrà a disposizione una libreria, ben supportata dalla Comunità open source, che gli consentirà di generare più rapidamente le proprie interfacce utente.

Come inserire react in un progetto?

Sarà sufficiente installare create-react-app react-native-cli, a seconda del tipo di progetto da utilizzare: reactjs nel primo caso, react native nel secondo.

La licenza di react: perché é importante conoscerla?

Dal punto di vista legale, quando si utilizza una componente di terza parte (sia esso modulo, libreria, ecc.) è fondamentale analizzare le relative condizioni di utilizzo.

Solitamente, queste condizioni vengono esplicitate nella licenza di utilizzo. Si tratta di un documento contrattuale nel quale vengono indicate le facoltà di utilizzazione concesse all'utilizzatore, nonché le eventuali limitazioni.

Conoscere il contenuto della licenza di utilizzo è fondamentale per orientare le proprie scelte strategiche ed evitare di incorrere in possibili contestazioni future.

Analizziamo il contenuto della licenza di React

Prima di tutto, è bene rilevare che sia per reactjs sia per react native, vi sono due licenze parallele:

  • una licenza BSD, con 3 clausole, che sostanzialmente prevede l'utilizzazione del Software per qualsiasi scopo (anche commerciale). L'unica condizione è che ogni eventuale redistribuzione del Software (anche con eventuali modifiche) sia accompagnato dall'informativa sulle condizioni di licenza (la cd. copyright notice). Inoltre, la licenza in questione vincola il licenziatario a non utilizzare alcun riferimento a Facebook Inc., senza il consenso scritto di quest'ultima.
  • una licenza di brevetto (denominata Additional Grant of Patent Rights Version 2), mediante la quale si concedono all'utilizzatore alcuni diritti di utilizzazione concernenti i brevetti ottenuti da Facebook Inc., con alcune limitazioni analiticamente disciplinate.

Il problema del "Patent Grant"

Come detto, nel repository di React è presente una licenza di brevetto, dal contenuto apparentemente ambiguo, che è stata oggetto delle più varie interpretazioni. Alcuni, in particolare, hanno sostenuto che la licenza verrebbe automaticamente revocata, nel caso in cui si avviasse una controversia contro Facebook o ci si mettesse in concorrenza con Facebook.

A mio avviso, in realtà, leggendo la licenza di brevetto, non vi sarebbe nessun valido elemento a sostegno di questa tesi.

Esaminiamo la struttura del "Patent Grant"

Nella licenza di React è presente, in primo luogo, una definizione di "Software", inteso come il software React distribuito da Facebook. In questo senso il mondo giuridico è identico all'informatica: prima di utilizzare una variabile, occorre dichiararla ed inizializzarla! Il termine "Software" sarà, quindi, utilizzato come un riferimento espresso a React.

L'ambito di applicazione della Licenza di React

Il primo paragrafo della licenza inizia a destare alcuni problemi interpretativi:

Facebook, Inc. ("Facebook") hereby grants to each recipient of the Software ("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (subject to the termination provision below) license under any Necessary Claims, to make, have made, use, sell, offer to sell, import, and otherwise transfer the Software.

In questo caso, la definizione di "Necessary Claim" è contenuta in calce alla licenza di React:

A "Necessary Claim" is a claim of a patent owned by Facebook that is necessarily infringed by the Software standing alone.

Sostanzialmente, si vuole dire che la licenza di React ha per oggetto la concessione all'utente di varie facoltà di utilizzo del Software (utilizzo, elaborazione, redistribuzione, ecc.) che di per sé rientrerebbero direttamente all'interno delle rivendicazioni dei brevetti di Facebook.

In altre parole, se si utilizzasse React, senza questo Patent Grant, vi sarebbe diretta violazione dei brevetti di Facebook.

Per chi non lo sapesse, i brevetti sono strutturati in una o più rivendicazioni (i cd. patent claims) che sono sostanzialmente delle affermazioni che circoscrivono l'ambito applicativo del brevetto. Un esempio estremamente basico di rivendicazione potrebbe essere: Metodo informatico per controllare in tempo reale l'intensità dell'emissione di raggi X da parte di uno scanner a raggi X, tramite un'applicazione per smartphone. Qualora fosse concesso un brevetto di questo tipo, la rivendicazione delimita l'ambito applicativo del brevetto: ci spiega quale sia l'ambito della protezione riconosciuta al titolare e, soprattutto, quali attività non possono essere realizzate dai terzi.

Tornando alla licenza di React, possiamo, quindi, affermare che la suddetta previsione non desta alcuna particolare preoccupazione. Ci dice, sostanzialmente, che il Software, in quanto tale, laddove utilizzato in assenza di licenza, comporterebbe la violazione automatica di brevetti di facebook.

La risoluzione automatica della licenza di React

Il secondo paragrafo ci interessa particolarmente. Sostanzialmente, prevede una automatica risoluzione della licenza di React. Si tratta di una termination clause che, nel nostro ordinamento, può essere tradotta come clausola risolutiva espressa.

Cosa dice questa clausola?

The license granted hereunder will terminate, automatically and without notice, if you (or any of your subsidiaries, corporate affiliates or agents) initiate directly or indirectly, or take a direct financial interest in, any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates, (ii) against any party if such Patent Assertion arises in whole or in part from any software, technology, product or service of Facebook or any of its subsidiaries or corporate affiliates, or (iii) against any party relating to the Software.

 Anche in questo caso, per comprendere il senso della clausola occorre esaminare la nozione di Patent Assertion:

A "Patent Assertion" is any lawsuit or other action alleging direct, indirect, or contributory infringement or inducement to infringe any patent, including a cross-claim or counterclaim.

Sostanzialmente, la clausola risolutiva espressa, opererebbe solo in presenza di una Patent Assertion, ossia di una qualsiasi azione legale nella quale si affermasse la violazione diretta e/o indiretta di un brevetto, anche in presenza di una domanda riconvenzionale.

Tuttavia, le "Patent Assertion" rilevanti ai fini della risoluzione della licenza sono solo quelle che:

  • sono proposte direttamente nei confronti di Facebook o società controllate e/o collegate;
  • sono proposte nei confronti di una parte qualsiasi se la "Patent Assertion" si fondi su una tecnologia di Facebook;
  • sono proposte nei confronti di una parte qualsiasi se la "Patent Assertion" sia comunque ricollegata al Software (come definito sopra).

Quali sono i risvolti pratici della licenza di React?

Per lo sviluppatore, a mio avviso, non vi è alcun ostacolo effettivo all'utilizzo di React nei propri progetti.

Eventuali aziende molto strutturate, titolari di brevetti opponibili a Facebook, subirebbero l'applicazione della clausola risolutiva espressa, qualora dovessero intentare, ad esempio, una causa nei confronti di Facebook, per violazione di propri brevetti da parte di quest'ultima.

La Licenza di React: le mie conclusioni

Alla luce di quanto sopra espresso, ritengo che gli sviluppatori possano integrare, senza particolari problemi React nei propri progetti. A scopo meramente cautelativo e proprio per essere certi di evitare di incorrere in qualsivoglia contestazione futura, suggerirei di inserire nel contratto di sviluppo una clausola specifica con la quale il Committente prenda atto dell'utilizzo di React e, soprattutto, dichiari di aver visionato ed accettare le condizioni della licenza di React, esonerando lo sviluppatore da ogni responsabilità al riguardo.

Per chiarimenti, restiamo a disposizione!

Summary
Author Rating
1star1star1star1star1star
Aggregate Rating
5 based on 10 votes
Product Name
licenza di React
Price
EUR 0.00
Product Availability
Available in Stock
Roberto Alma

Leave a reply

*

Stanco dei soliti modelli di contratto trovati Online? Scopri Yourcontract!
Inizia ora
close-image

Utilizziamo cookie, anche analitici e di profilazione di terze parti, per migliorare l’esperienza di navigazione. Proseguendo con la navigazione acconsenti al loro uso in conformità alla nostra Cookie Policy. Regola le preferenze in Impostazioni Cookie