Gli utenti di React chiedono a Facebook di concedere nuovamente la licenza a React.js dopo che la Apache Software Foundation ha bandito la licenza BSD + brevetti nelle dipendenze
Pubblicato: 2017-07-18
L'Apache Software Foundation ha emesso un avviso durante il fine settimana, indicando di aver aggiunto la licenza BSD+Patents di Facebook all'elenco di categoria X di licenze non consentite per i membri di Apache PMC. Questa è la licenza che Facebook utilizza per la maggior parte dei suoi progetti open source.
Un rappresentante del team RocksDB di Facebook ha commentato il post della Apache Foundation per avvisare che il progetto rispetterà la scadenza del 31 agosto per il rinnovo della licenza al fine di essere conforme ai requisiti dei membri di Apache PMC e che la modifica è stata confermata oggi:
Il team di RocksDB sta modificando la licenza in modo tale che sia concessa in doppia licenza con le licenze Apache 2 e GPL 2 (per la compatibilità con MySQL). Ciò dovrebbe avvenire a breve e con largo anticipo rispetto al 31 agosto. Lascerò da soli la storia e la filosofia sulla licenza poiché generalmente è una discussione complessa da avere e non sono sicuro che sia stata effettivamente catturata completamente in questo thread, soprattutto per quanto riguarda l'intento di Facebook.
Si spera che la guida di questa mattina ai PMC possa essere modificata poiché non credo che nessuno di noi veda un sacco di sforzi ingegneristici extra come una cosa desiderabile nei progetti ASF che stanno già utilizzando RocksDB
Alla luce della decisione della commissione per gli affari legali dell'ASF di non consentire la licenza BSD+Patents nei progetti Apache, il membro dell'ASF Joan Touzet ha aperto un problema sul repository React esortando Facebook a prendere in considerazione la ri-licenza di React.js con Apache License v2.0 e GPL 2 :
Ciò ha portato a molti turbamenti e frustrazioni nella comunità di Apache, in particolare a causa di progetti che richiedono codice con licenza simile come dipendenze dirette: il principale di questi è RocksDB.
Noi (l'Apache Software Foundation) abbiamo appena ricevuto la notizia che RocksDB ri-licencerà il proprio codice sotto la doppia licenza Apache v2.0 e GPL 2.
In qualità di utente di React.JS in un progetto di primo livello ASF (Apache CouchDB), si prega di prendere in considerazione la ri-licenza di React.JS in termini simili. Altrimenti, molti progetti ASF come il nostro dovranno smettere di fare affidamento e di costruire con React.
Sebbene la ri-licenza di RocksDB risolva il problema di quel particolare progetto, il divieto da parte di ASF della licenza BSD+Patents di Facebook significa che altre tecnologie ampiamente utilizzate da Facebook, incluso React.js, sono ancora bandite. È probabile che ciò causi problemi per molti progetti open source.
Harshavardhana, del team di Minio, ha commentato a sostegno della petizione a Facebook per aver concesso nuovamente la licenza a React.
"La nostra interfaccia utente del browser per lo storage di oggetti è basata su React e abbiamo la licenza Apache 2.0", ha affermato. “Sarebbe spiacevole e richiede tempo migrare, ma dovremo farlo al posto di nuove informazioni sull'incompatibilità di Apache. Si prega di considerare di concedere nuovamente la licenza a React.
I contributori di Om, un'interfaccia ClojureScript per React, stanno anche discutendo se i nuovi requisiti dell'ASF influenzeranno o meno il loro progetto. Greg Stein, commentando a nome di ASF, ha chiarito le ragioni alla base della decisione dell'organizzazione di vietare la licenza BSD+Patents di Facebook:
Si noti che l'ASF ha scelto questa strada per motivi politici, piuttosto che per "incompatibilità di licenza". Non vogliamo che gli utenti a valle del codice Apache siano sorpresi dalla concessione di BREVETTI che (era) in RocksDB e (è) in React. Gli utenti dovrebbero solo seguire l'ALv2, senza ulteriori vincoli.
Queste licenze possono lavorare insieme (IMO) e fornire semplicemente due serie di restrizioni per gli utenti.
Stein ha affermato che non sono stati gli avvocati di ASF a prendere la decisione, ma piuttosto la decisione politica dell'organizzazione di "non consentire che la licenza FB/BSD+brevetto venga mischiata nel software che la Fondazione rilascia agli utenti".
Facebook sta discutendo internamente la questione della nuova licenza
Dan Abramov, coautore di Redux, Create React App e React Hot Loader, si è unito alla discussione su GitHub per quanto riguarda la ri-licenza con un breve e ambiguo riassunto su come Facebook sta gestendo la petizione per la ri-licenza.

"Per darti un piccolo aggiornamento, ci saranno più discussioni interne su questo per circa una settimana", ha detto Abramov. “Questo è quanto posso dire. Non sarei troppo ottimista su questo cambiamento per React, ma vedremo. @daveman692 ha gentilmente accettato di fornire un aggiornamento al termine di queste discussioni.
È improbabile che si abbandoni completamente la concessione del brevetto, che sarebbe il modo più conveniente per risolvere questo problema per i progetti open source. React è già stata rinnovata due volte durante la sua breve storia. Originariamente era concesso in licenza con Apache 2.0, ma nell'ottobre 2014 è stato modificato con la licenza BSD più la concessione del brevetto, che includeva una disposizione di risoluzione molto controversa. Nell'aprile 2015, la concessione del brevetto è stata leggermente modificata per consentire ai licenziatari di continuare a utilizzare il software nel caso in cui una causa sui brevetti non includesse una domanda riconvenzionale contro Facebook o le sue affiliate in una questione non correlata a React.js.
La disposizione di risoluzione nella licenza BSD+Patents di Facebook continua a essere impopolare ed è considerata con sospetto da molti manutentori di progetti open source. Quando il progetto Drupal ha iniziato a considerare un framework lato client per sostituire Backbone.js, Dries Buytaert ha approvato React sulla base di quella che ha affermato essere "una clausola di brevetto potenzialmente inaccettabile", citando il respingimento dei contributori di Calypso e React di WordPress.com.
Il progetto open source WordPress non ha annunciato formalmente la sua decisione su quale framework JavaScript sarà incluso nel core, ma tutti i segnali indicano React. L'imminente editor di Gutenberg di WordPress è basato su React e i suoi principali contributori sono dipendenti di Automattic che lavorano su prodotti basati su React per WordPress.com. Gutenberg continua ad andare avanti a un ritmo vertiginoso senza alcuna indicazione di una riscrittura e il co-creatore di WordPress Matt Mullenweg è stato esplicito sulla sua preferenza per l'utilizzo di React.
Sebbene il consulente legale di Automattic abbia affermato che la società è a suo agio nell'usare React per il suo prodotto con l'attuale licenza del progetto, altri nella comunità di WordPress non sono così disposti a includere il framework nel core.
L'Open Source Initiative (OSI) include una licenza BSD+Brevetto generica elencata tra le sue licenze approvate, ma la particolare licenza BSD+Brevetto di Facebook non è stata presentata. Robert Pierce, un partner di El Camino Legal, sostiene che la disposizione sulla risoluzione della licenza dovrebbe essere inammissibile in una licenza open source perché esiste per proteggere Facebook da controversie sui brevetti che sono completamente estranee al codice React:
Facebook promuove React.js come software open source. Ma nella mia mente la disposizione sulla cessazione della licenza della Concessione Aggiuntiva dei Diritti di Brevetto porta l'offerta al di fuori del regno del software open source.
La licenza di brevetto offerta nell'Additional Grant of Patent Rights (v.2) è condizionata al fatto che il licenziatario non intenti una causa per violazione di brevetto contro Facebook o le sue affiliate. Pertanto, il licenziatario paga un prezzo per utilizzare la biblioteca. Non è un prezzo pagato con i soldi. Il prezzo richiesto da Facebook per l'utilizzo della biblioteca è che il licenziatario si astenga dall'esercitare i suoi diritti di brevetto contro Facebook o le sue affiliate.
Pierce vede la pubblicazione del codice sorgente di React da parte di Facebook come una leva per ottenere una certa protezione contro le cause sui brevetti, che ritiene essere "un approccio troppo avido per Facebook per rivendicare lo stato di open source".
La comunità open source ha ampiamente speculato sulle implicazioni dell'inclusione della licenza BSD+Patent di Facebook come dipendenza, ma la licenza non è stata ancora testata in tribunale. L'Apache Software Foundation è la prima grande organizzazione a prendere una posizione dura sulla licenza controversa e questo ha attirato l'attenzione di Facebook. I rappresentanti di Facebook hanno promesso un aggiornamento sulla petizione per la ri-licenza al termine delle discussioni interne.
