distribuisce il codice che ha una dipendenza gplv3 o apache-2.0

3

Ancora una volta un'altra domanda di licenza ... Ormai ho letto così tante cose sulla licenza che sono totalmente confuso.

Diciamo che scrivo due piccole librerie java e le metto su github. Uno di questi ha una dipendenza con licenza GPLv3, l'altro ha una dipendenza con licenza Apache-2.0. Si noti che sto solo usando queste dipendenze, non modificandole. Ora voglio anche distribuire le mie librerie a Maven in modo che ogni sviluppatore java possa usarle.

Ora ecco le mie domande:

  • Quali licenze devono utilizzare le mie librerie (o posso scegliere liberamente da solo)?
  • Devo fornire alcune informazioni speciali a causa delle dipendenze, come un file di avviso che indica quali dipendenze vengono utilizzate e chi le possiede ecc.?

Mi dispiace se questa domanda potrebbe essere un duplicato, non sono stato in grado di applicare altre domande / anwers a questo scenario.

    
posta LPrc 24.06.2017 - 17:15
fonte

2 risposte

2

Posso darti dei suggerimenti sulla base della mia lettura e amp; Esperienza.

Se sei dipendente da un codice che è GPL & includendo libreria / codice GPL nel tuo codice, il tuo codice dovrebbe essere incluso anche in GPL.

Se usi codice e codice con licenza Apache incluso nel codice, sei libero di scegliere qualsiasi licenza. Come ha detto Steve, devi menzionarlo nelle dipendenze di terze parti. Questo è un tipo di ThirdParty.txt o sezione di dipendenza in readme.txt. Devi fornire il link della licenza & il nome della libreria che stai utilizzando.

Ora se vuoi usare GPL & rilascia il tuo codice con una licenza diversa:

Se stai usando GPL & fornendo il tuo codice come libreria gratuita (con qualsiasi licenza), non dovresti includere GPL. Puoi menzionare la dipendenza dal fatto che è richiesta una certa libreria. In questo caso il tuo codice può essere sotto qualsiasi licenza. L'utente / cliente deve decidere e amp; installa / configura quel codice. Puoi fare del lavoro GPL per creare quel codice come una libreria compilata, in modo che il tuo codice possa usarlo (la libreria è necessaria se il tuo codice è Java / C / C ++ .. Se è python / perl / js, allora il client deve solo metterlo nella cartella corretta)

L'idea alla base di questo è di staccare il codice dalla libreria. So che il tuo codice non può essere usato senza quella libreria GPL, tuttavia in futuro qualcuno potrebbe scrivere codice non gpl per la stessa funzionalità. In questo modo mantieni il tuo codice scollegato dalla GPL fino a quando non sarà disponibile un nuovo codice & hai ancora il tuo codice con una licenza diversa.

Ora stiamo arrivando alla vendita di tale codice (escluso il codice GPL, ma menzionando la dipendenza). Devi menzionare specificamente la dipendenza da GPL & lascia che i client lo scarichino / configuralo (puoi rendere questa integrazione semplice con alcune configurazioni)

Spero che questo ti aiuti ..

    
risposta data 25.06.2017 - 15:06
fonte
1

In generale, ogni dipendenza dovrebbe essere chiaramente documentata, indipendentemente da dove proviene, in quanto senza che la dipendenza venga soddisfatta il tuo codice non funzionerà ! Dal momento che il tuo codice non funzionerà senza che le dipendenze siano soddisfatte, stai usando quel codice e devi rispettare le sue condizioni di licenza e dovrai informare i tuoi utenti dove possono ottenere i file richiesti (ed è bello menzionare le licenze lì).

Per quanto riguarda le licenze legali, dovrai consultare il testo esatto di ogni licenza applicabile possibilmente con un esperto legale in licenze Open Source per scoprire cosa sei richiesto strong> e / o dovrebbe fare.

Suggerirei di chiedere su link indicando le licenze specifiche esatte che è necessario conoscere.

    
risposta data 25.06.2017 - 14:28
fonte

Leggi altre domande sui tag