La licenza BSD / MIT cambia quando si copia / incolla una funzione da un altro pacchetto con licenza BSD / MIT [chiuso]

5

Spesso mi trovo a voler utilizzare una piccola funzione da un'altra libreria, ma alla fine non lo faccio perché non vale la pena tirare un'altra dipendenza.

Considerando le licenze BSD / MIT, se copio / incollo una funzione da un altro pacchetto, quale sarebbe il requisito legale quando concedo in licenza il mio codice? Inoltre, come materia di netiquette , quale sarebbe il modo preferibile per dare credito all'autore originale?

Capisco che ciò dipende dalle circostanze specifiche di ogni situazione. Il modo sicuro sarebbe quello di chiedere sempre all'autore a monte cosa vuole, ma, a volte, ciò accade così frequentemente che avere una proposta predefinita per l'autore a monte può rendere l'interazione più fluida.

    
posta Danny Navarro 01.04.2014 - 20:07
fonte

1 risposta

8

Devi seguire i termini della licenza (s). 1

1 Onestamente, è tutto.

Per le licenze che citi (BSD, MIT) non c'è nulla nei termini della licenza che dice che devi usare l'intero modulo. Di fatto, entrambe le licenze ti danno il permesso esplicito di fare ciò che stai suggerendo.

MIT

including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software

BSD

Redistribution and use in source and binary forms, with or without modification, are permitted ...

Quindi vai avanti e prendi quelle funzioni da quei moduli che desideri per evitare di creare una dipendenza su un'intera libreria.

Ma ciò che non puoi fare è non riuscire ad attribuire la fonte del codice che hai usato. Entrambe le licenze richiedono di includere una copia della licenza e l'avviso di copyright.

Ciò potrebbe significare che devi inserire un prologo attorno ai moduli che copi e fornire l'attribuzione del copyright. Oppure potrebbe essere necessario modificare i file di licenza per chiamare esplicitamente quali porzioni del codice sono state originate da dove. Dipenderà dal tuo progetto e dalla portata di quanto hai prestato.

Hai anche detto:

The safe way would be to always ask the upstream author what does he want

Ma non è del tutto vero. L'autore upstream ha già espresso esplicitamente le proprie intenzioni attraverso i termini della licenza con cui ha rilasciato il proprio codice. Devi solo contattare l'autore upstream se vuoi fare qualcosa al di fuori dei termini della licenza.

    
risposta data 04.04.2014 - 15:58
fonte

Leggi altre domande sui tag