Sono vincolato dalla licenza di una libreria che viene utilizzata nel mio progetto ma non è distribuita con essa?

4

Voglio pubblicare un piccolo progetto open source su GitHub. Mi piacerebbe rilasciarlo con licenza MIT o Apache.

Il progetto ha test unitari che utilizzano la libreria JUnit. JUnit è rilasciato con la licenza pubblica Eclipse v1.0. JUnit non è distribuito nel progetto: viene scaricato e utilizzato in fase di compilazione da Maven, lo strumento di creazione.

Sono vincolato dalla licenza di una libreria che viene utilizzata nel progetto ma non è distribuita con essa? Se lo sono, posso utilizzare una libreria rilasciata con la licenza pubblica Eclipse nei progetti con licenza MIT o Apache?

I miei pensieri (lo scenario più pessimistico)

Mentre i test unitari usano JUnit, il progetto è un lavoro derivato di JUnit, anche se JUnit non è distribuito con esso. Distribuire il progetto automaticamente significa distribuire JUnit.

La licenza pubblica Eclipse (la licenza di JUnit) dice:

A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that … its license agreement:

Qui c'è una lista di quattro requisiti che sembrano banali ma che, forse, non sono completamente presi in considerazione nelle licenze MIT e Apache (declinazione di tutte le garanzie, esclusa qualsiasi responsabilità, una dichiarazione sulle disposizioni aggiuntive, una dichiarazione sulla disponibilità del codice sorgente).

Quindi, la licenza pubblica Eclipse potrebbe non essere compatibile con le licenze MIT e Apache e potrei non essere in grado di usare JUnit.

    
posta Alexey 31.03.2014 - 09:08
fonte

1 risposta

2

Come regola generale, se non distribuisci il codice di qualcun altro non sei obbligato da nessuna delle sue condizioni di licenza quando distribuisci il tuo. La responsabilità arriva nel momento in cui il codice viene effettivamente unito.

Supponiamo che A scriva e distribuisca il codice per B da usare, e che il programma di A usi codice scritto da C ma A non ne distribuisca alcuna. Quindi la responsabilità per la conformità alla licenza di C cade con B, l'utente, nel punto in cui il codice di A viene unito a C. B dovrebbe essere avvertito di questa responsabilità.

Scusa se è complicato, ma non è facile da spiegare chiaramente. Il punto è che la legge sul copyright riguarda principalmente la copia (distribuzione) e non tanto l'uso (consumo).

Come dico alle persone ripetutamente, se non ne fai soldi e non fai del male a nessuno, fai del tuo meglio e non preoccuparti troppo. Se guadagni denaro dal tuo prodotto o servizio e / o se puoi causare danni a qualcuno, devi prendere una consulenza legale competente. Questo non ti proteggerà, ma ti avviserà dei rischi e forse di come mitigarli.

Per l'altra tua domanda, mi sembra che Apache e il MIT siano compatibili con un lavoro pubblicato sotto EPL ma non necessariamente viceversa. Nessuno di questi è compatibile con GPL, ma potrebbe essere compatibile con LGPL in alcune circostanze. Le licenze miste sono davvero un dolore reale.

    
risposta data 31.03.2014 - 14:45
fonte