Come concedo in licenza il mio progetto OS, che utilizza altri progetti (con licenza diversa)?

0

Ho una libreria su GitHub, con alcuni dei binari distribuiti anche su NuGet: link

Fino ad ora ignoravo le licenze, ma qualcuno me ne sta chiedendo, quindi dovrei mettere qualcosa. Voglio mantenerlo permissivo, e dopo aver fatto una piccola ricerca, il MIT mi sembra un buon modo di usarlo. Tuttavia, la mia libreria fa riferimento / utilizza tre altre librerie, tutte con licenze diverse, quindi non sono abbastanza sicuro di cosa dovrei fare.

Include i binari di:

  • FsUnit, che ha la propria licenza (simile alla clausola 3 di BSD): link
  • NancyFx, che utilizza il MIT: link

E un file sorgente da:

  • FSharpX, che utilizza Apache 2.0: link

Il MIT di Nancy non sembra essere un problema. Apache di fsharpx e FsUnit entrambi dicono che ho bisogno di includere il testo della licenza nel mio progetto.

Quindi le mie domande sono:

  1. Che cosa faccio con le altre licenze, copia i file nella root della mia fonte? Suppongo di poterli rinominare e aggiungere un commento che specifica quale parte del mio progetto fa riferimento a questa licenza.
  2. Supponendo di andare per il MIT, potrei ragionevolmente descrivere il mio progetto come se avessi una licenza MIT? O è la realtà che si tratta di una licenza mista MIT / Apache 2.0 / Random?
posta Grant Crofton 11.03.2014 - 17:30
fonte

2 risposte

4

La buona notizia è che tutte le licenze sono compatibili. Il più restrittivo è l'ASL 2.0 che richiede che non ci siano brevetti nella libreria concessa in licenza dalla ASL. I progetti open source che ho visto che hanno avuto più licenze per le librerie seguono uno schema come questo:

  • Ogni licenza si trova in un file come questo: LICENZA. {library_name} .txt
  • Se ci sono un certo numero di licenze diverse, si trovano in una cartella denominata LICENSE

Quindi con la tua libreria sarebbe simile a questa:

/LICENSE.txt
/LICENSE.Fsunit.txt
/LICENSE.NancyFx.txt
/LICENSE.FSharpX.txt

LICENSE.txt sarebbe la licenza per il tuo progetto. Dipende da te con quale licenza ti senti più a tuo agio. Saresti perfettamente a posto con la licenza MIT per il tuo codice sorgente.

Inoltre, se la libreria FsUnit non è direttamente collegata alla libreria distribuibile, ma è usata solo per testare il codice dell'unità, allora non ti preoccupare di quella licenza. L'unica volta che devi preoccuparti della licenza è se la libreria viene ridistribuita con il tuo codice.

    
risposta data 11.03.2014 - 18:05
fonte
1

Poiché nessuna delle librerie ha una licenza copyleft, sei libero di scegliere qualsiasi licenza che ti piace per la tua libreria. E se scegli di utilizzare la licenza MIT, allora la tua biblioteca è autorizzata dal MIT. Il fatto che tu usi librerie di terze parti che hanno una licenza diversa non influisce su questo.

Se non si distribuiscono queste librerie insieme alla libreria, non ci sono ulteriori considerazioni. Le licenze di copyright entrano in vigore solo quando si distribuisce la libreria / il programma a cui si applica la licenza.

Se distribuisci le librerie insieme al tuo, allora il modo più semplice per soddisfare i requisiti delle licenze è di mettere una copia completa di ogni libreria in una directory a parte (come hai fatto con la tua directory packages ). Quindi disponi di tutti i file di licenza richiesti per ciascuna di queste librerie nella tua distribuzione in un posto in cui sono facili da trovare e associare alla libreria corretta.

    
risposta data 11.03.2014 - 20:30
fonte

Leggi altre domande sui tag