Si è discusso molto sul fatto se il semplice collegamento a un pezzo di codice lo renda un lavoro derivativo. So che FSF dice "sì", quindi secondo loro non posso collegare dinamicamente un programma non GPL compatibile a una libreria GPL e distribuire il tutto. Ma potrei farlo per uso privato, a patto che nessun codice venga rilasciato al pubblico.
Questo mi ha fatto riflettere: cosa succede se non lo ridistribuisco affatto? Se il mio programma può funzionare da solo (rinforzando la mia affermazione che è non un lavoro derivativo), ma posso fare di più se la libreria GPL è installata anche nel sistema, non potrei semplicemente rilasciare la mia applicazione sotto il mio termini di licenza - senza includere alcun codice GPL - e postare istruzioni per chiunque sia interessato a scaricare separatamente il codice GPL e fare l'integrazione "per uso privato"?
So che è contro lo "spirito" della GPL, quindi non sto suggerendo che sia una buona idea farlo. Tuttavia, questa domanda mi disturba da tempo, specialmente a causa delle implicazioni di ciascuna risposta:
Se I non può fare questo:
- posso scrivere un'altra libreria con un'API simile? (prima di rispondere "ovviamente si può", ricorda che avere la stessa API consentirebbe a entrambe le librerie di essere scambiate a piacimento dai miei clienti - quindi non ho bisogno di lavorare troppo sulla mia libreria o addirittura renderla "funzionante". Come determinare se un programma simile è simile o è un tentativo di elusione?)
- (Modifica: come ha sottolineato @Karl Bielefeldt, quella libreria sarebbe un lavoro derivato, quindi questo punto è discutibile
Se I può fare questo:
- posso essere pagato anche per eseguire il servizio di installazione della libreria GPL per un cliente? (Li vendo il mio programma, lo installo nelle loro macchine, scarica e installa anche la libreria GPL)
- (Modifica: questa pratica sarebbe la prova del mio intento per combinare entrambi i programmi, rinforzando l'affermazione che il mio è stato concepito con l'obiettivo di essere combinato - e quindi è un lavoro derivato)
- posso inserire i due programmi nello stesso sito web? In due CD diversi? (So che ho detto che l'idea era non di ridistribuire il codice GPL, sto solo pensando a delle scuse che le persone potrebbero usare per affermare che non stanno ridistribuendo anche se lo sono)
- (Modifica: sarebbe un "aggregato" , quindi nessun problema con esso)
Aggiornamento: dopo aver analizzato le risposte e i collegamenti di @Eli Rosencruft's e @Karl Bielefeldt e letto alcune risorse esterne, mi sto avvicinando a una conclusione. Ho apportato alcune modifiche alla domanda in base al feedback, e di seguito pubblicherò alcune delle mie conclusioni finora:
- Le qualità intrinseche di entrambi i programmi sono un fattore più determinante nel decidere se derivare o meno da un altro rispetto ai mezzi tecnologici per ottenere la loro integrazione. L'intento degli autori di raggiungere un obiettivo è anche rilevante quanto i mezzi con cui sono stati raggiunti (in questo scenario). Citando un post sul blog che - sebbene non sia autorevole in materia - credo sia pertinente la domanda (enfasi mia):
Since under the GPL the end-user can do whatever they want with the code (short of redistribution constraints), the end-user can always PULL various software on the Net and choose to combine and use them in any way they wish (assuming all parts are legits and legitimately obtained of course). (...) It does NOT mean that I can offer (PUSH) to the user a proprietary software that has been conceived with the goal/intent of being combined with a GPL software (whether it is deemed to be combined before or after distribution).
- Se legalmente significativo o no, ora comprendo le motivazioni dietro l'insistenza di FSF sul collegamento statico vs dinamico: un programma non libero che si interfaccia con uno libero in modi complicati è de facto che limita gli utenti 'libertà su quest'ultimo, poiché non possono modificarlo sostanzialmente senza interrompere l'integrazione (questo consente anche EEE , nel caso in cui anche la parte libera venga modificata per adattarla a quella non libera). Quindi, se ci si prende cura del movimento del software libero, si dovrebbe rispettare i loro termini o, per lo meno, prendere le misure necessarie per salvaguardare le libertà del ricevente.