Utilizzo del codice con licenza Apache 2.0 nel mio programma utilizzando la licenza MIT

6

Sto utilizzando il codice sorgente da un esempio di codice concesso in licenza con la licenza Apache 2.0 nel mio programma. Ora vorrei pubblicare quel programma e il codice sorgente su GitHub usando la licenza MIT. Ho letto quanto segue nella licenza:

You must cause any modified files to carry prominent notices stating that You changed the files;

Ma non ho modificato nessuno dei file ho appena copiato le parti rilevanti del codice nei miei file sorgente.

Ora ecco le mie domande:

So che devo aggiungere una copia della licenza di Apache 2.0 nel mio progetto, ma devo inserire qualcosa nei miei file sorgente per pubblicare correttamente il mio programma / codice sorgente?

Poiché si tratta di un programma a riga di comando devo aggiungere un pulsante di selezione e visualizzare la licenza o devo aggiungere l'output "USAGE"?

Devo inserire la licenza MIT in tutti i miei file sorgente o è sufficiente averne una copia nel progetto?

Grazie in anticipo!

    
posta MemphiZ 14.09.2015 - 13:44
fonte

1 risposta

3

Poiché parti delle fonti sono concesse in licenza con una sola licenza (Apache 2.0) e le parti sono sotto una licenza diversa (MIT), è importante che ogni file contenga una notifica che indichi quale licenza si applica al contenuto di quel file.

Si consiglia vivamente di disporre di una sola licenza per ogni file sorgente, quindi è necessario disporre del codice copiato dalla libreria di terze parti in un file sorgente separato (o più file sorgente separati). Questi file devono avere un avviso sul copyright relativo alla licenza Apache e indicare che hai copiato il codice dalla libreria di terze parti.

Per il proprio codice che si desidera pubblicare con la licenza MIT, si consiglia di inserire la licenza MIT nella sua interezza in un commento nella parte superiore dei file.
La licenza MIT non è così lunga e eviterà qualsiasi confusione sulla licenza del codice anche se il file viene separato dal resto del progetto.

Se non è fattibile separare il codice sotto le diverse licenze in file separati, puoi procedere in questo modo (supponendo che una piccola parte di un file sia sotto la licenza Apache):

  • Metti il tuo file sorgente sotto la licenza MIT
  • Direttamente sotto il copyright & dichiarazioni di licenza, aggiungere un commento che parti del file sono sotto una licenza diversa.
  • Immediatamente sopra il codice che si trova sotto la licenza di Apache, aggiungi un blocco di commenti che fornisca i dettagli sul copyright e sulla licenza per il codice che lo segue.
    Per evitare di confondere completamente gli altri, questo dovrebbe essere fatto alla granularità di una funzione.
risposta data 14.09.2015 - 14:08
fonte

Leggi altre domande sui tag