(...) using an incompatible license like the MIT license.
In generale, mi piace lavorare con questa linea di base:
- GPL + MIT = > GPL
- MIT + GPL = > GPL
- (qualsiasi altra cosa) + GPL = > GPL
- GPL + (qualsiasi altra cosa) = > GPL
In altre parole, se mischi GPL con qualcos'altro, ottieni il codice GPL. Ci sono alcune eccezioni, ma non al livello del codice di missaggio. Nota che puoi fare ciò che vuoi a patto che tieni il codice per te stesso - solo quando distribuisci il tuo codice devi rispettare le regole della GPL.
You copy & paste a method from a GPL library - blatantly a violation assuming the GPL library created the method themselves.
Non una violazione fintanto che rilasci il tuo codice sotto GPL e citi l'autore originale. Questo è chiamato un lavoro derivativo (uno che ha tutte le parti tranne una rimossa).
You create a function with a similar purpose but you create it from scratch -
presumably not a violation
Se vedi un programma GPLed e pensi a te stesso, "Accidenti, sarebbe utile se non fosse GPLed" e vai e scrivi il tuo programma proprio senza copiare alcun codice e altre parti protette , probabilmente non una violazione diretta. Molto dipende dalla giurisdizione.
You use the same code as a GPL library, but you improve on it (optimize performance for example) - is this a violation?
Se metti il tuo codice sotto la GPL che è una delle idee principali di GPL, ti consente di migliorare il lavoro precedente, liberamente, come meglio credi. Finché rispetti le regole, ovviamente.
You use the same code as a GPL library, but you superficially refactor it (e.g. rename variables for clarity, add comments, but don't really change the underlying logic) - is this a violation?
Ancora una volta, finché si mantiene il risultato GPL e si cita l'autore originale, probabilmente è corretto.
You translate code from a GPL library to another language but keep the logic exactly the same - presumably not a violation?
Sta ancora copiando, vero? Se la tua intenzione è quella di prendere un programma GPL nel linguaggio A e trasformarlo in linguaggio B solo per sbarazzarti della GPL, ripensaci. Questo è almeno un plagio, se non peggio, nella maggior parte delle giurisdizioni.
Dichiarazione di non responsabilità: IANAL