Esercizio sulle licenze per un software java

Supponiamo di avere un progetto java opensource e di avere al suo
interno una classe java
chiamata ClasseOpenSource.java.

Supponiamo che un'altra persona, il cattivo, stia facendo un progetto
proprietario.

Nel codice del cattivo ci sono i seguenti 3 casi:

1) class ClasseProprietaria extends ClasseOpenSource {}
2) class ClasseProprietaria { Object o =
Class.forName("ClasseOpenSource").newInstance(); } (esempio jdbc o
plugin)
3) class ClasseProprietaria { ClasseOpenSource c = new ClasseOpenSource(); }

Supponiamo ora che il codice open source sia LGPL, GPL o AGPL.

In quale combinazione caso / licenza e possibile ridistribuire il software?

A me viene in mente:

LGPL: 1,2,3
GPL: 2?
AGPL: ?

Aiuti?

e' sempre redistribuibile, ma lo e' nella licenza open source di partenza...

se estendi un LGPL, lo rilasci in LGPL... se lo USI, lo rilasci in LGPL:
che la parte in piu' la puoi rilasciare in ALTRA licenza e' un fatto ben diverso

cya

Premetto che non sono un esperto di licenze e tantomeno un avoocato o
persona altrimenti istruita in tematiche legali:

Supponiamo di avere un progetto java opensource e di avere al suo
interno una classe java
chiamata ClasseOpenSource.java.

Supponiamo che un'altra persona, il cattivo, stia facendo un progetto
proprietario.

Nel codice del cattivo ci sono i seguenti 3 casi:

1) class ClasseProprietaria extends ClasseOpenSource {}
2) class ClasseProprietaria { Object o =
Class.forName("ClasseOpenSource").newInstance(); } (esempio jdbc o
plugin)
3) class ClasseProprietaria { ClasseOpenSource c = new ClasseOpenSource(); }

Supponiamo ora che il codice open source sia LGPL, GPL o AGPL.

In quale combinazione caso / licenza e possibile ridistribuire il software?

A me viene in mente:

LGPL: 1,2,3
GPL: 2?
AGPL: ?

e' sempre redistribuibile, ma lo e' nella licenza open source di partenza...

Su questo punto non sono d'accordo. In particolare la LGPL si distingue
dalla GPL sopratutto in questo punto. In particolare per 2) e 3) non è
richiesto che il software venga rilasciato come LGPL. Dubito che ci sia
una differeneza sostanziale tra 2) e 3). Per quanto riguarda la 1),
penso che la LGPL richieda, che la classe derivata venga distribuita
come LGPL.
Esiste poi un altra variante, che è la GPL linking exception, usata da
GNU Classpath, http://en.wikipedia.org/wiki/GPL_linking_exception. Una
licenza simile vale anche per la libreria C++ che accompagna G++-

se estendi un LGPL, lo rilasci in LGPL... se lo USI, lo rilasci in LGPL:
che la parte in piu' la puoi rilasciare in ALTRA licenza e' un fatto ben diverso

cya
_______________________________________________
http://lists.lugbz.org/cgi-bin/mailman/listinfo/lugbz-list

Commenti?

Peter

Annulla la mail, ho letto male il codice.

Sorry,

Peter

Ciao, su questo punto ho trovato info diverse.
Ho trovato questo documento che è purtroppo però un po' vecchio:

http://www.gnu.org/licenses/lgpl-java.html

e qui in fondo dice:

The only difference between Java and C from the LGPL's perspective is
that Java is an object-oriented language, supporting inheritance. The
LGPL contains no special provisions for inheritance, because none are
needed. Inheritance creates derivative works in the same way as
traditional linking, and the LGPL permits this type of derivative work
in the same way as it permits ordinary function calls.

Se capisco fino in fondo questa frase inglese ... l'ereditarietà è
vista come un link tanto come una chiamata a funzione.

Supponiamo di avere un progetto java opensource e di avere al suo
interno una classe java
chiamata ClasseOpenSource.java.

Supponiamo che un'altra persona, il cattivo, stia facendo un progetto
proprietario.

Nel codice del cattivo ci sono i seguenti 3 casi:

1) class ClasseProprietaria extends ClasseOpenSource {}
2) class ClasseProprietaria { Object o =
Class.forName("ClasseOpenSource").newInstance(); } (esempio jdbc o
plugin)
3) class ClasseProprietaria { ClasseOpenSource c = new ClasseOpenSource(); }

Supponiamo ora che il codice open source sia LGPL, GPL o AGPL.

In quale combinazione caso / licenza e possibile ridistribuire il software?

A me viene in mente:

LGPL: 1,2,3
GPL: 2?

Qui MySQL AB (ora Oracle) dice NO invece:
http://www.mysql.com/about/legal/licensing/commercial-license.html

AGPL: ?

Aiuti?

Poi e` una discussione puramente accademica. Se Oracle
e le aziende per cui lavoriamo tu o io (peggio, perche` sono
self-employed :slight_smile: non sono d'accordo sull'interpretazione di
una licenza, chi pensi che abbia l'ultima parola?

Bye,
Chris.