È questo il modo corretto di includere questo software con licenza MIT nel mio software?

6

Sto utilizzando lo script in uno dei miei progetti. È concesso in licenza con MIT o Apache 2.

Ho impegnato JSON.sh (come in, solo lo script) nel mio progetto e copia + incollato la licenza MIT (come appare in LICENSE.MIT ) in fondo.

È sufficiente?

    
posta Cameron Ball 26.06.2015 - 10:42
fonte

4 risposte

3

Sì, ciò che hai fatto è sufficiente.

Il file README.md afferma che il progetto è disponibile con licenza MIT o Apache 2.0. Ciò significa che puoi scegliere la licenza che usi. In questo caso, hai scelto la licenza MIT, quindi quelle sono le regole che si applicano al tuo utilizzo e alla distribuzione del progetto.

La licenza MIT richiede che "la suddetta nota sul copyright e questa autorizzazione siano incluse in tutte le copie o parti sostanziali del Software." Includendo la licenza nel file sorgente, hai rispettato questo obbligo.

Tuttavia, ti consiglio di inserire il testo della licenza MIT nella parte superiore del file JSON.sh, non nella parte inferiore. Secondo la mia esperienza, le informazioni sulla licenza (che si tratti di un testo di licenza completo, di un boilerplate o di un identificatore di qualche tipo) sono solitamente una delle prime cose nel file. Mettendolo in cima, sarà più facile per le persone identificare che un determinato componente è autorizzato dal MIT.

Vorrei anche raccomandare di mettere un link al progetto originale (o almeno alla fonte che hai usato per ottenere il progetto) da qualche parte. Se stai pubblicando il tuo progetto con una licenza virale, questo renderà più facile per qualcuno ottenere una copia autorizzata.

Questa domanda riguarda anche la concessione in sublicenza di una libreria sotto la licenza MIT. Alcune delle informazioni potrebbero essere utili anche a te.

    
risposta data 17.03.2016 - 11:03
fonte
1

Va perfettamente bene. Comunque devi stare attento.

Nell'intera struttura del codice se c'è un solo file LICENSE.MIT, non rende chiaro se si applica solo a JSON.sh o altri lavori. Quindi idealmente dovresti avere il tuo file di licenza principale (ad esempio LICIENSE) che dovrebbe menzionare che la concessione per JSON.sh è disponibile tramite LICENSE.JSON.MIT o qualcosa del genere.

Se stai anche estendendo il tuo lavoro con la licenza MIT, allora non c'è bisogno di sforzi duplicati.

    
risposta data 12.07.2015 - 10:12
fonte
-2

Se ciò che è stato fatto o meno è sufficiente dipende da alcuni dettagli del progetto JSON.sh. Mentre scrivo questo ( commit 2afb06 ) ci sono due problemi principali con la licenza di quel progetto.

Innanzitutto, entrambe le licenze che gli autori e i contributori sembrano voler utilizzare (ALv2 e MIT) sono applicate in modo non corretto; entrambi richiedono che ciascun file sorgente (e in particolare il file JSON.sh) contenga un determinato testo che fa riferimento alla licenza (o all'intera licenza, nel caso del MIT). Tuttavia, questo non è stato fatto da nessuno dei contributori.

In secondo luogo, non è chiaro se il licenziatario (tu) sia libero di scegliere quale delle due licenze utilizzare, o se entrambe devono applicarsi a JSON.sh. In termini di programmatore, ci sono le due licenze "e" ed o "o" ed insieme? Questo è importante perché se le licenze si applicano entrambe, allora ciò che hai fatto non è sufficiente; Tra le altre cose dovresti includere la Licenza Apache v2 nella sua interezza nella tua distribuzione di sorgenti.

Raccomando che, poiché sei uno sviluppatore, invii 2 richieste pull al progetto JSON.sh. Il primo potrebbe aggiungere del testo di licenza al file JSON.sh. Il secondo potrebbe aggiungere un "o" nel loro README.md, per indicare che i licenziatari hanno la scelta della licenza. Se i tuoi PR sono accettati, allora l'ambiguità scompare e il tuo problema è risolto!

    
risposta data 18.01.2016 - 04:24
fonte
-4

È corretto ma dovresti includere la licenza o un link ad esso in ogni file del tuo software, come specificato nel testo:

Copyright (c)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Seguo questo approccio:

  1. crea il file di licenza MIT (qualcosa come LICENCE.txt ) e metti questo file nella root del progetto
  2. aggiungi un link a questo file in ogni file del mio progetto, solo un commento con l'url alla licenza.

Mi piace questo approccio perché non è così costoso e "proteggi" ogni file del tuo software. Il commento che uso è qualcosa del genere:

//This code is under MIT licence, you can find the complete file here: www.mylicencefile.com

In ogni caso GitHub ti offre un modo semplice per aggiungere una licenza al tuo progetto, puoi leggere come farlo qui .

    
risposta data 11.08.2015 - 12:22
fonte

Leggi altre domande sui tag