In che modo la licenza del MIT non è virale e in che modo è praticamente conforme?

-1

Ho letto online che il MIT è una licenza permissiva che consente di utilizzare il codice in prodotti di proprietà, ma il testo della licenza sembra essere in conflitto con quello che citerò di seguito:

Copyright (c) <year> <copyright holders>

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.

Quindi, sembra che in base alla licenza, le opere derivate debbano distribuire la licenza, e quindi dare a coloro che ricevono il software il diritto di ridistribuire il software, che è incompatibile con la maggior parte delle licenze software commerciali.

Una lettura rigorosa sarebbe che solo le copie esatte devono distribuire l'avviso sul copyright, anche se questo sembra un po 'sciocco, dato che è banale eseguire una piccola modifica per evitare una copia esatta. Perché la licenza si preoccuperebbe di includere la limitazione per mantenere la nota sul copyright quando tale restrizione è così facilmente elusa?

Quindi se "copia" include lavori derivati, posso solo concludere che qualsiasi lavoro derivato da un lavoro con licenza del MIT deve consentire la ridistribuzione gratuita, il che significa che non è una licenza commerciale.

L'unico modo per aggirare questo sembra includere i file di licenza del MIT, ma poi dire che questi file di licenza si applicano solo a certe parti del software, oh e in che modo i diritti che si ottiene per ridistribuire quelle parti non si applicano praticamente perché non sono del codice compilato ora e strettamente accoppiati con bit che non è possibile ridistribuire (in particolare se non si trattasse di una libreria separata ma solo di un codice sorgente copiato nel progetto commerciale).

Sembra pazzesco, e non ho mai visto un avviso del genere. D'altro canto, solo distribuire la licenza del MIT con il software senza queste qualifiche mi sembra che una corte possa ragionevolmente affermare che si applica all'intero software, dal momento che non è possibile rompere il codice compilato in un eseguibile in "parti" in alcun senso.

Vorrei anche notare che se sto usando il software X , che contiene il codice da X1 , X2 , X3 ... XN , presumibilmente userò il software X Dovrei includere le licenze da X1 , X2 , X3 ... XN nelle distribuzioni del mio software.

Quindi per ogni libreria open source che uso, dovrei esaminare le sue dipendenze, trovare tutte le licenze per le sue dipendenze, quindi esaminare le dipendenze e trovare tutte le licenze per loro, e così via.

Questo sembra un incubo assoluto, non proprio "permissivo" in quanto la licenza MIT è comunemente descritta. Sembra completamente inattuabile da rispettare.

Sono corretto in questa analisi o mi sono perso qualcosa?

    
posta Clinton 27.02.2017 - 15:40
fonte

4 risposte

11

Le licenze software si applicano solo alla parte del software che il licenziante possiede copyright.

Se si utilizza software con licenza MIT come parte di un lavoro più ampio (ad esempio come libreria o modulo), è necessario che tale componente sia coperto dalla licenza MIT. Il codice che scrivi può essere concesso in licenza a tua scelta.

Ecco come, ad esempio, Microsoft è stata in grado di vendere Windows NT nonostante contenesse un codice open source con licenza BSD.

Se non si è sicuri di come integrare il software coperto dalla licenza nel proprio prodotto dal punto di vista della licenza, è necessario consultare un legale di proprietà intellettuale per assicurarsi che il proprio progetto software specifico sia impostato correttamente da un punto di vista legale. Qui su Ingegneria del software siamo in grado di parlare con le idee generali del copyright e delle licenze, ma non siamo qualificati per indagare sui dettagli della vostra particolare situazione né possiamo dispensare consulenze legali.

    
risposta data 27.02.2017 - 15:54
fonte
2

Prima di tutto, la licenza MIT è definita permissiva perché ha pochissimi requisiti che devono essere soddisfatti per soddisfare la licenza durante la creazione di un'opera derivata. In effetti, l'unico requisito è che tu non rimuova il copyright, l'avviso di permesso e la dichiarazione di non responsabilità.

Inoltre, la legge sul copyright non presume che se una parte di un lavoro più grande è sotto licenza X, allora tutto il lavoro dovrebbe essere concesso in licenza allo stesso modo. L'assunto predefinito nella legge sul copyright è che una licenza di copyright si applica solo a tutto ciò che è posto esplicitamente sotto tale licenza.

  • Una nota di licenza nella parte superiore (o in basso) di un file sorgente si applica solo al contenuto di quel file
  • Una nota di licenza in una posizione comune in un progetto si applica solo ai file di quel progetto

In effetti, la GPL utilizza un testo appositamente predisposto per cercare di applicare a più di un semplice file esplicitamente sottoposto alla GPL e non è ancora stato dimostrato in tribunale che ciò valga per l'esame accurato.

Su una nota diversa, la licenza MIT ti concede il diritto di sublicenza del lavoro.

Tutto questo combinato consente di prendere una libreria con licenza MIT, combinarla con il proprio codice (commerciale) e offrire il file binario risultante solo con la propria licenza closed-source.
Il requisito della licenza MIT è che non è possibile rimuovere l'avviso di licenza, ma non che è necessario riprodurlo in una posizione diversa se si distribuiscono solo i binari.

Per quanto riguarda il dover controllare tutte le dipendenze ricorsive per le loro licenze, è comunque necessario fare ciò che ciascuna parte richiede per poter essere riutilizzata. E dovresti farlo anche per assicurarti che l'albero delle dipendenze non contenga nulla che sia sotto GPL o una simile licenza di copyleft strong.
Alla fine, sei legalmente responsabile del rispetto di tutte le licenze di contenuti di terze parti del tuo lavoro.

    
risposta data 03.09.2018 - 14:32
fonte
2

In che modo la licenza del MIT non è virale?

Perché l'uso di un codice concesso in licenza dalla Licenza MIT non richiede il rilascio dell'intera applicazione sotto la licenza MIT. Periodo. In altre parole, il codice che scrivi tu stesso è tuo. È protetto da copyright e concesso in licenza da te (puoi scegliere quale licenza preferisci usare). La porzione di codice che non hai scritto è ancora la proprietà protetta da copyright dell'autore originale (vedi sotto per quando l'autore è un'organizzazione). È ancora richiesto di visualizzare le informazioni sul copyright e la licenza dal codice concesso in licenza dal MIT. Tuttavia, potresti rilasciare il tuo codice sotto una licenza Creative Commons o mantenerlo proprietario.

Sia che tu utilizzi il codice MIT Licensed come libreria o in realtà prendi il codice e lo incorpori nel tuo prodotto, l'unico codice che è MIT Licensed è il codice che proviene da quella fonte.

Questo è in netto contrasto con la licenza GPL. Se dovessi fare lo stesso con il codice GPL, ti verrà richiesto di distribuire il tuo progetto sotto la licenza GPL - rendendolo virale. Ciò è stato fatto intenzionalmente dal suo creatore, Richard Stallman.

NOTA: ci sono dispute legali riguardanti il collegamento a una libreria GPL da un progetto non GPL e se ciò richiede che il tuo progetto sia GPL. Per quanto ne so, la GPL non è stata testata formalmente in tribunale, quindi non c'è la precedenza sul lavoro. È anche sconosciuto come la GPL sia trattata in sistemi legali attorno al mondo.

Come ottemperare a questo?

In realtà è piuttosto facile.

  1. Non modificare l'avviso sul copyright in nessun file dal progetto con licenza MIT
  2. Se esiste una clausola di attribuzione (alcune varianti lo fanno), l'applicazione deve dire che utilizza il codice dal progetto con licenza MIT

Che cosa posso fare con il codice di licenza MIT?

Come la licenza dice che puoi fare qualsiasi e quanto segue:

  • copia
  • modificare
  • merge
  • pubblicare
  • distribuire
  • sub-licenza
  • vendere copie

In pratica ciò significa che puoi dare un codice di licenza MIT, apportare modifiche e ridistribuire la copia a forcella come meglio credi. Significa che puoi prendere uno o due file / funzioni dal progetto con licenza MIT e incorporarlo nel tuo codice. Significa che non ci sono restrizioni dal fatto che tu abbia venduto il tuo software semplicemente perché hai biforcato del codice con licenza MIT e l'hai incorporato nel tuo progetto.

Cosa NON posso fare con il codice di licenza MIT?

  1. Rivendica il copyright. Non l'hai scritto, e l'avviso di copyright deve rimanere intatto per il codice concesso in licenza dal MIT. Periodo.
  2. Avere protezione dal codice che implementa i brevetti. ASL 2.0 è stato modificato per rispondere specificamente a tali preoccupazioni e nessuna delle clausole necessarie per trasmettere licenze di brevetti con la licenza software.

Ulteriori informazioni sul copyright

Il copyright è un argomento molto complesso ed è leggermente diverso a seconda della nazione in cui ti trovi. Tuttavia, ci sono alcuni principi generali che si applicano ai paesi che hanno leggi sul copyright:

  • Se lo hai scritto, hai il implicito copyright
  • La registrazione di un copyright non è necessaria, ma aiuta a risolvere le controversie più rapidamente se devi andare in tribunale
  • Come proprietario del copyright, puoi licenziare altre persone per utilizzare il tuo materiale protetto da copyright. Questa licenza fornisce i limiti delle libertà che le persone possono prendere con il tuo codice protetto da copyright
  • È illegale rivendicare il copyright per qualsiasi lavoro che non hai creato.

Le regole divergono un po 'sulla titolarità del copyright aziendale, ecc. a seconda delle impostazioni locali. La maggior parte dei grandi progetti open source (come Apache, che è regolato dalla legge sul copyright degli Stati Uniti) mantengono un copyright aziendale sul codice sorgente e richiede a tutti i contributori di firmare un accordo sul fatto che tutto il lavoro su Apache Software è un "lavoro a noleggio" quindi il copyright appartiene alla Apache Software Foundation. All'interno della legge sul copyright degli Stati Uniti, questo è sia corretto che lecito.

Se non comprendi la legge sul copyright, in particolare per quanto riguarda la tua provenienza, ti consiglio vivamente di prendere una o due lezioni per coprire almeno le basi. Anche un breve seminario può fare un sacco di luce.

Una licenza non può garantire il copyright a nessuno. La legge per il trasferimento della proprietà di un copyright varia da paese a paese. Negli Stati Uniti, i diritti d'autore sono trattati come immobili, quindi possono essere acquistati e venduti come una casa. In altri Paesi, potresti non essere in grado di trasferire la proprietà.

    
risposta data 04.09.2018 - 16:48
fonte
-1

Non è chiaro.

Il problema è che un "Lavoro derivato" può essere legalmente (a seconda della giurisdizione) essere qualcosa che richiede il funzionamento del software con licenza MIT.

Non puoi eseguire un'opera derivata senza rispettare le condizioni di licenza e "il software" non è definito nella licenza.

Senza un chiaro permesso di creare opere derivate e di assegnarle una licenza diversa, nella licenza si rimane con soluzioni hacky come la distribuzione della DLL con licenza MIT come download separato e discussione che significa il programma non è un lavoro derivato.

Sapremo solo la vera situazione dopo che un numero di persone è stato portato in tribunale e ha stabilito un precedente legale in un modo o nell'altro.

Tuttavia, dovremmo notare che se sei nella posizione di preoccuparti di essere citato in giudizio dal fornitore di software libero. Quindi di gran lunga la soluzione migliore indipendentemente dalla licenza esatta è semplicemente contattare il proprietario del copyright e acquistare da loro una licenza commerciale con la dicitura richiesta

    
risposta data 04.09.2018 - 11:57
fonte

Leggi altre domande sui tag