Come cambiare la licenza del progetto Java da GNU / GPL a MIT / BSD / Apache

Nov 20 2020

Avevo sviluppato un'applicazione Java che è collegata a MySQL Workbench utilizzando mysql-connector-java-8.0.21.jarfile. Quando distribuisco il progetto e invio il codice sorgente al client, dice che:

  1. La licenza non deve avere una licenza GNU / GPL / Unspecified che ha un obbligo di divulgazione (va bene avere MIT / BSD / Apache senza obbligo di divulgazione)
  2. Cambia la licenza GNU / GPL in MIT o BSD

Ora la mia domanda è: come cambiare la licenza del progetto o come cambiare la licenza dei file di libreria come Mysql connector.jar.

Poiché ho bisogno di una licenza open source per il codice sorgente, quindi ho bisogno di cambiare le librerie di licenze (utilizzate nel progetto).

Risposte

17 MSalters Nov 20 2020 at 18:27

Non è possibile modificare la licenza del codice da altri, come mysql-connector-java. Tale licenza è impostata dall'autore di quel particolare componente (società Oracle).

Se il tuo cliente ha dichiarato il requisito in anticipo, hai un problema. Ma altrimenti puoi semplicemente rifiutare la richiesta e affermare che ciò è fuori dal tuo controllo.

PS L'uso del termine "obbligo di divulgazione" in questo contesto suggerisce che il cliente non comprende la legge. Ma se il cliente ha specificatamente indicato la GPL come esempio di licenze vietate prima di concordare il contratto, l'uso improprio del termine "obbligo di divulgazione" non invalida il contratto.

6 MartinSchröder Nov 21 2020 at 03:43

mysql-connector / j è concesso in licenza come GPLv2 da Oracle ma ha un'eccezione FOSS . Se desideri distribuire il tuo software come FOSS , puoi scegliere qualsiasi licenza "approvata dall'OSI e / o classificata come gratuita dalla FSF". In caso contrario, è necessario utilizzare una libreria diversa o acquistare una licenza commerciale da Oracle.

E non puoi cambiare la licenza di mysql-connector/jpoiché non sei il proprietario del suo copyright (Oracle lo è).

5 Noname Nov 20 2020 at 17:36

Ci sono più stili di licenza in gioco qui;

  • Stile di licenza in stile MIT / BSD / Apache
  • GPL
  • LGPL
  • Commerciale

Il connettore MySQL, supponendo che tu intenda MySQL Connector / J, ha una doppia licenza; Puoi scegliere la licenza commerciale (dovrai pagare per questo) o la licenza LGPL. La licenza è una cosa che fanno gli autori di un prodotto; non puoi cambiare la licenza. Se l'attività in questione richiede una certa licenza, chiedi agli autori se la offrono e quanto devi pagare per ottenerla; se è troppo per il tuo portafoglio o questa licenza non è disponibile, la tua unica risorsa a quel punto è quella di modificare i requisiti, o rimuovere completamente quel prodotto dalla tua base di codice, e ad esempio passare a PostgreSQL (un motore di database diverso), per esempio.

Nota che LGPL non è la stessa di GPL. È più simile alle licenze in stile MIT / BSD / Apache che alla GPL, quindi una via d'uscita potrebbe essere semplicemente chiedere agli avvocati del tuo cliente se LGPL è accettabile.

Per considerazioni future, verificare sempre con il cliente che tipo di restrizioni di licenza hanno. Ad esempio, se MIT / BSD / Apache è l'unico modo, non è possibile utilizzare MySQL qui. Periodo. MySQL non è concesso in licenza in questo modo e Oracle (il proprietario di MySQL) non lo offre. In tal caso, è possibile che una licenza commerciale sarebbe bastata (quindi, assicurati di addebitare il cliente per tenere in considerazione che dovrai acquisire una licenza commerciale). In alternativa, tieni presente che dovrai dedicare un po 'di tempo a imparare a usare diversi strumenti (come PostgreSQL, la cui licenza è in stile MIT / BSD / Apache) e fatturare di conseguenza.

Se hai bisogno di maggiori informazioni sulla compatibilità o meno della LGPL di MySQL e MySQL Connector / J con le esigenze del tuo cliente, o cosa succederà se ignori una licenza o i requisiti scritti del tuo cliente, dovresti chiedere a un avvocato.

4 jlliagre Nov 21 2020 at 15:28

Secondo https://www.mysql.com/about/legal/licensing/oem/, sei libero di utilizzare qualsiasi licenza open source approvata per il tuo codice anche se utilizza la libreria MySQL sotto licenza.

La licenza utilizzata dalle versioni recenti di mysql-connector-java è descritta qui: https://oss.oracle.com/licenses/universal-foss-exception/

Ecco un estratto del file LICENSE fornito con il pacchetto del connettore (enfasi mia):

Manuale dell'utente delle informazioni sulla licenza

Connettore MySQL / J 8.0 __________________________________________________________________

Questo manuale utente con le informazioni sulla licenza contiene la licenza del prodotto Oracle e altre informazioni sulla licenza, comprese le informazioni sulla licenza per software di terze parti che possono essere incluse in questa distribuzione di MySQL Connector / J 8.0. Introduzione Ultimo aggiornamento: agosto 2020

Informazioni sulla licenza

Questa è una versione di MySQL Connector / J 8.0, offerta dal team MySQL di Oracle. Questo software è rilasciato con la versione 2 della GNU General Public License (GPLv2), come stabilito di seguito, con le seguenti autorizzazioni aggiuntive :

Questa distribuzione di MySQL Connector / J 8.0 è distribuita con determinati software concessi in licenza in base a termini separati, come indicato in un particolare file o componente o nella documentazione della licenza. Senza limitare i tuoi diritti ai sensi della GPLv2, gli autori di MySQL con la presente ti concedono un'ulteriore autorizzazione per collegare il programma e le tue opere derivate con il software con licenza separata che hanno incluso con il programma.

Senza limitare la suddetta concessione di diritti ai sensi della GPLv2 e l'autorizzazione aggiuntiva per quanto riguarda il software concesso in licenza separatamente, questo connettore è anche soggetto all'eccezione FOSS universale, versione 1.0 , una copia della quale è riprodotta di seguito e può anche essere trovata insieme alle sue domande frequenti all'indirizzohttp://oss.oracle.com/licenses/universal-foss-exception.

L'acquisto di una licenza commerciale MySQL è un'alternativa. Ti consentirà di utilizzare una licenza proprietaria per il tuo codice e quindi essere libero di mantenerlo inedito.

Ovviamente, poiché non possiedi codice e librerie MySql, non hai il diritto di modificare la propria licenza.

Disclaimer: non sono un avvocato e questa non è una consulenza legale; Non pretendo che quanto sopra sia accurato; non prendere decisioni aziendali basate su cose che leggi da estranei su Internet, me compreso