Che cosa significa se un repository ha una licenza ei file hanno altre istruzioni di licenza?

2

Ho trovato un alcuni repository su GitHub che contiene un file LICENSE.txt con una licenza MIT datata 2014, ma in uno di i file sorgente, la parte superiore del file contiene una licenza Apache 2.0 datata 2013.

Questa specifica istanza non è così importante, sta solo illustrando la mia domanda, ma che tipo di implicazioni ha per le licenze? La licenza su singoli file sostituisce la licenza inserita nell'intero progetto? La data della licenza ha qualche effetto?

    
posta Nick Anderegg 09.06.2015 - 02:35
fonte

1 risposta

3

Puoi infatti avere più di una licenza in atto, allo stesso tempo, e dare all'utente del codice una certa libertà di scegliere la licenza che gli piace di più (vedi dual o multi-licensing su Wikipedia ), o obbligarlo a rispettare i termini di entrambe le licenze, purché non contengano requisiti contraddittori.

Un modello popolare ha una licenza per un "lavoro nel suo complesso" (contenente molti file sorgente) e diverse licenze per i singoli file di codice sorgente, a condizione che la licenza per il singolo file sorgente sia più permissiva di licenza per il lavoro nel suo insieme. Ad esempio, la GPL è una licenza in cui il testo menziona esplicitamente che si applica al "lavoro nel suo insieme". Questo è il motivo per cui il kernel Linux è in GPL, ma alcuni moduli del kernel contengono file che sono sotto il MIT o una licenza BSD modificata. Quindi, se usi o pubblichi quei file singolarmente e non come parte del kernel Linux, devi solo seguire i termini della licenza MIT o BSD.

Nel tuo caso specifico, mi aspetterei che la licenza MIT debba essere applicata al "lavoro nel suo complesso" e al MIT & Apache 2.0 per i file che contengono la licenza Apache. Quest'ultimo è - almeno leggermente - meno permissivo rispetto alla licenza del MIT. Ad esempio, la licenza Apache richiede di menzionare le modifiche al codice originale. IANAL, ma un tale termine non sembra contraddire la licenza del MIT. Ad esempio, quando si modifica il file con la licenza di Apache incorporata, mi aspetto che si debbano menzionare tali modifiche. Quando cambi un file diverso, mi aspetto che tu non sia obbligato a farlo. Ci sono più differenze tra i due come una clausola di brevetto nella licenza Apache che non fa parte della licenza MIT. Quindi, ciò che dovresti effettivamente controllare è se l'uso previsto del codice conferma su entrambe le licenze. E se non sei sicuro, chiedi a un avvocato.

    
risposta data 09.06.2015 - 07:57
fonte

Leggi altre domande sui tag