È legale includere il codice con licenza BSD all'interno di un progetto con licenza MIT? [duplicare]

4

Se è possibile, come faccio a inserire questo nel file di licenza o nei file sorgente in cui è stato utilizzato il codice BSD?

    
posta David 02.04.2015 - 22:41
fonte

1 risposta

9

Oggetto A : testo della licenza BSD < br> Oggetto B : testo della licenza MIT

Prima di tutto, dovresti davvero leggere entrambe le licenze. Davvero, vai avanti ora, non dovrebbe richiedere più di qualche minuto per leggerli entrambi.

Quello che dovresti immediatamente è quanto siano simili le due licenze. Davvero, lo sono. Fondamentalmente, entrambi dichiarano "conservare l'avviso di copyright" e "conservano la dichiarazione di garanzia as-is / no".

Questo è tutto. Questo è davvero tutto quello che c'è da loro.

Quindi hai chiesto:

Is it legal to include BSD licensed code within an MIT licensed project?

Bene, perché non sarebbe legale? Leggi le licenze, giusto? Non c'è nulla all'interno della licenza che limita la combinazione di due progetti insieme a quelle licenze.

Per essere più chiari, sì, è perfettamente legale combinare Project A con licenza MIT insieme al Project B concesso in licenza con la licenza BSD.

Hai anche chiesto:

If this is possible, how do I go about putting this in the license file or in the source files where the BSD licensed code was used?

Il modo più semplice per fare ciò è di mantenere ciascun progetto nella propria sottocartella separata all'interno del progetto globale che utilizza gli altri due progetti. Da lì, puoi mettere un file LICENSE.txt in ciascuna sottocartella, a seconda dei casi. Un altro bonus per l'utilizzo della sottocartella all'interno del progetto globale è che è possibile copiare semplicemente le cose in modo letterale dai progetti originali. Ciò rende molto chiaro quale codice sia di proprietà di quale copyright e quale licenza.

Se, per qualsiasi motivo, non è possibile mantenere i progetti isolati nella propria cartella del sottoprogetto, è sufficiente dichiarare che varie parti sono di proprietà di diversi progetti e concesse in licenza in termini X.

Copyright for portions of project Foo are held by [MIT original author, year] as part of project Bar and are provided under the MIT license.
Copyright for additional portions of project Foo are held by [BSD original author, year] as part of project Baz and are provided under the BSD license.
All other copyright for project Foo are held by [your name, year].

Si noti che l'ordine dei progetti Bar e Baz è irrilevante.
Nota anche come è simile a la mia risposta sulla tua altra domanda .
Si noti inoltre che non è necessario specificare la licenza fornita da ciascuna porzione, ma sicuramente non fa male. 2

Devi avere una sezione all'interno del tuo file LICENSE.txt che dice che la Project Bar è fornita con tale e quella licenza mentre Project Baz è fornito con tale e tale licenza. 2

Nota editoriale : le licenze BSD e MIT sono chiamate permissive licenses per un motivo. Tutto quello che dicono veramente è A) "Non puoi reclamarlo esclusivamente come tuo" e B) "Non mi assumo alcuna responsabilità per come usi il codice che ho fornito."

Una volta compreso lo spirito dietro le due licenze, diventa molto più chiaro su come applicare i loro termini.

1 Nota, stiamo usando la clausola 2, non la 3 -clause versione di BSD come a) la maggior parte tutti usano la clausola 2 ora eb) 3-clausola aggiunge un po 'più fastidio con il bit "senza avalli".

2 Questo sembrerebbe essere una contraddizione delle affermazioni, ma in realtà non lo è. Per essere più chiari, non è necessario specificare la licenza quando si identifica la proprietà del copyright. È comodo, ma non richiesto. Allo stesso modo, quando si specifica la licenza per i progetti incorporati, non è necessario specificare la proprietà del copyright nello stesso punto. È conveniente acquisire entrambi gli aspetti contemporaneamente.

    
risposta data 03.04.2015 - 05:00
fonte

Leggi altre domande sui tag