Posso includere un foglio di stile XSLT con licenza LGPLv2.0 nel mio pacchetto nodejs Apache v2.0-license?

3

Sto creando uno strumento open source che sfrutta alcuni fogli di stile XSLT per fare il suo lavoro, che sta trasformando il codice XML in codice Java. Uno dei fogli di stile che desidero utilizzare è concesso sotto licenza LGPL v2.0. Il mio strumento sarà concesso in licenza con Apache License v2.0.

Ho letto da qualche parte che se colleghi il tuo programma con licenza Apache a una libreria LGPL dinamicamente , va bene. Vedo il collegamento tra il mio programma e il foglio di stile come dinamico, poiché dipende solo da un nome file e potrebbe essere facilmente sostituito con un foglio di stile diverso sostituendo un singolo file.

Posso dedurre da questo che è OK usare i fogli di stile LGPL XSLT o sto facendo un errore nel giudicare qui?

  • Il file verrebbe incluso nella directory del progetto del pacchetto nodej

    • il pacchetto verrebbe distribuito tramite npmjs.org .
    • i miei file sorgente sono in lib/ (ad esempio lib/transform.js ), con licenza ASLv2.0.
    • il foglio di stile sarebbe in xslt/' (e.g. xslt / java / xml-to-java.xslt ') concesso in licenza con la sua licenza originale (in questo caso LGPLv2.0).
    • il programma non fornisce un'interfaccia per cambiare il foglio di stile usato, ma l'utente deve andare nel filesystem, cercare la directory di installazione del mio pacchetto e sostituire manualmente il file con un altro se lo desidera.
  • Il file fornisce funzionalità essenziali per il programma

    • i miei fogli di stile vengono convertiti in un formato che questo foglio di stile comprende
    • senza di esso, dovrei fornire un foglio di stile con lo stesso comportamento (stesso formato di input, stesso formato di output).
    • Quindi in pratica il mio programma delega l'ultima fase di trasformazione che fa parte del comportamento del mio programma.

Per essere chiari: il file che sto cercando di includere nel mio pacchetto può mantenere la sua licenza originale, mi interessa solo aggiungere la sua funzionalità al mio programma, perché senza di esso, il mio programma perde così tanto della sua funzionalità che diventa inutile Il motivo per cui sto facendo questa domanda è che voglio distribuire il file insieme al mio progetto, perché vorrei che il mio strumento lavorasse senza problemi, non avere l'utente che scarica xslt separatamente da il sito web degli sviluppatori.

    
posta pancake 20.01.2015 - 17:12
fonte

3 risposte

2

La LGPL richiede in modo efficace che l'utente del programma debba poter sostituire le parti con licenza LGPL con versioni proprie e avere comunque un programma funzionante (a condizione che le nuove versioni siano compatibili con l'interfaccia).

Se il tuo programma legge il foglio di stile LGSL XSLT come file esterno in fase di esecuzione (come in, il file XSLT è distribuito come un file separato), allora il requisito della sostituibilità dell'utente è stato soddisfatto.
Inoltre, se il tuo programma richiede solo che esista un file "foo.xslt" in una certa cartella, allora si può anche sostenere che il foglio di stile XSLT non è in realtà parte del tuo programma ma solo semplici dati. In tal caso, l'applicazione e il foglio di stile sono considerati non correlati ai fini del copyright.
Distribuirli insieme significa solo che stai distribuendo un'aggregazione di più opere indipendenti.

    
risposta data 20.01.2015 - 18:58
fonte
2

Non sono un avvocato. Dovresti averne uno, se sei preoccupato per possibili problemi legali.

È assolutamente irrilevante ciò che fa quel foglio di stile e dove è memorizzato in un pacchetto. La domanda importante è cosa intendi includendo qualcosa coperto da GNU LGPL in un pacchetto coperto dalla Licenza Apache v2.

Intendi dire che l'intero pacchetto, incluso quello XSLT, dovrebbe essere in ASLv2 ? Quindi no , assolutamente impossibile a prescindere dal modo in cui le parti sono combinate: staticamente, dinamicamente, anche se non interagiscono affatto ma sono semplicemente raggruppate insieme per qualche motivo. Fondamentalmente vuoi concedere più diritti ai tuoi licenziatari di quanti ne hai ottenuti.

O vuoi semplicemente assegnare ASLv2 a il tuo lavoro, che incorpora il lavoro di qualcun altro sotto una licenza GNU? Quindi non capisco, perché stai cercando problemi dal nulla: sicuramente si , puoi farlo anche se quella licenza GNU sarebbe ordinario GPL , non Lesser.

Copyleft di GNU (L) GPL protegge free/libre software dall'essere associato con ulteriori restrizioni e diventare proprietario, non il contrario; se lo desideri, sei libero di applicare a la tua parte di lavoro sola qualsiasi licenza GNU compatibile con GPL, che in realtà sono ① più permissive che non proibire la sub-licenza o ② quelle che consentono esplicitamente la ri-licenza sotto GNU (L) GPL; ASLv2 si trova nella precedente categoria .

Ora sui problemi, specifici per certe versioni della licenza. Hai dichiarato che il foglio di stile è in GNU LGPLv2.0 . Sebbene le licenze GNU consentano di limitare il limite superiore della loro versione quando le applicano, in realtà pochi lo fanno. Supponiamo però che tu abbia non ignorare "o una qualsiasi versione successiva" nella nota sul copyright; questo rende la domanda più interessante, poiché ASLv2 è non compatibile con obsolete GNU GPLv2 , solo con la GPLv3 moderna.

Tuttavia, GNU Library / Lesser GPL 2.x consente la ri-licenza ( re - , non sub - ) alla GNU GPL ordinaria della stessa o qualsiasi versione successiva indipendentemente dal fatto che sia consentito eseguire il dump di una versione di LGPL.

Quindi, ciò che sicuramente si può fare è prendere il foglio di stile e cambiare la sua nota sul copyright, in modo che si riferisca a GNU GPLv3 + invece di GNU LGPLv2.0 =; quindi combinalo con il tuo lavoro, che è in ASLv2. Ma l'unica risposta a una domanda "Che termini questo pacchetto nel suo insieme è?" Sarebbe "GNU GPLv3 +" ¹.

¹ A proposito, non è qualcosa di specifico per GNU (L) GPL o copyleft. Ad esempio, se combinassi il software coperto da 3-clausole BSDL e Apache License e vorresti distribuirlo come un intero sotto una singola licenza , dovresti fare lo stesso, scegliere il meno permissivo di loro, io. e. Licenza Apache.

    
risposta data 21.01.2015 - 05:03
fonte
1

Per determinare se si applica il copyright, chiediti:

  1. Il foglio di stile XSLT è parte integrante dell'applicazione? La tua applicazione funzionerà senza di essa?

  2. Stai comunicando con esso a lunghezza di braccia (tramite un comando File / Apri, un file batch o qualcosa di simile)?

Se la risposta a una di queste domande è no, la risposta alla tua domanda è no.

Nota che LGPL ha un'eccezione di collegamento che semplifica l'integrazione delle librerie nel tuo programma senza aprire la tua sorgente, ma richiede comunque che tu distribuisca le modifiche che apporti alla sorgente della libreria.

    
risposta data 20.01.2015 - 18:17
fonte

Leggi altre domande sui tag