Hallo Christian,
ich moechte, dass die Klasse moeglichst fuer alle (ist nicht ueberheblich gemeint) verfuegbar ist, also sowohl fuer freie Software - ich selber schreibe freie Software (GNU GPL 3 und noch 2), die diese Klasse bereits in stark abgewandelter Fassung nutzt - als auch fuer propitaere - ich kenne bis jetzt keine Spielefirma, die ihre browserbasierten Spiele unter GNU GPL veroeffentlicht hat, hoechstens als "frei nutzbar", aber hier ist eher "Freibier" gemeint.
Letzteres koennte wichtig sein, da falls sich die Wernis rumsprechen, dann auch die besagten Spielefirmen die API-Klasse wohl nutzen moechten (anstelle selber zu implementieren, was natuerlich auch geht und von mir auch supportiert wird).
Die von dir angesprochenen Anpassungen meiner Klasse wuerde dann z.B. so aussehen: /** * Eigene Anpassung der API-Klasse */ class MyApiImplementation extends WdsGenericApi { /** * Hier sind dann die Methoden ueberschrieben, die angepasst werden * mussten. Eine Anpassung von dem Code der WdsGenericApi-Klasse ist * dann nicht noetig. } // [EOF]
So ist es auch geplant, da "WdsGenericApi" als abstrakt markiert ist und davon somit keine Instanzen gebilden werden koennen. Ich koennte mir auch eine duale Lizensierung vorstellen, wenn es nicht anders geht.
VG, Roland
On Mon, 2010-04-05 at 11:34 +0200, Christian Kalkhoff wrote:
Hallo Roland,
Am 05.04.2010 01:41, schrieb Roland Haeder:
Frage: Ist dies ueberhaupt machbar, als lizenztechnisch, und wenn ja: Welche Lizenz waere da eurer Meinung nach die passenste?
Du möchtest sicher, dass die Verwendung deiner Klasse nicht dazu führt, dass das nutzende Programm auch unter einer freien Lizenz veröffentlicht werden muss (Kommerzielle Nutzung).
Wenn du weiterhin möchtest, dass Anpassungen DEINER Klasse wieder frei zur Verfügung gestellt werden müssen, so bietet sich IMHO die LGPL an.
Christian
Hallo Roland,
nach wie vor denke ich, dass die LGPL das für dich beste wäre. Alternativ könntest du aber auch BSD oder ASL oder MIT verwenden. Diese sind keine Copyleft-Lizenzen.
Bei der LGPL müssen eben die Änderungen an deiner Klasse wieder veröffentlicht werden, die nutzende Software aber kann zu bleiben. Beispiele für LGPL-lizenzierte Bibliotheken sind bspw:
- glibc (Basis-C-Bibliothek unter den meisten Linux-Systemen) - Spring Framework (Wahrscheinlich Basis von bis zu 20% aller Enterprise-Java-Projekten, kommerziell wie frei) - JBoss Application Server - Hibernate
Bis auf die glibc wird mit allen diesen Projekten vorrangig Geld von den dahinter stehenden Firmen erwirtschaftet. Du brauchst dir also um die kommerziellen Nutzungsmöglichkeiten keine Sorgen machen. ;-)
Christian
Am 05.04.2010 11:50, schrieb Roland Haeder:
Hallo Christian,
ich moechte, dass die Klasse moeglichst fuer alle (ist nicht ueberheblich gemeint) verfuegbar ist, also sowohl fuer freie Software - ich selber schreibe freie Software (GNU GPL 3 und noch 2), die diese Klasse bereits in stark abgewandelter Fassung nutzt - als auch fuer propitaere - ich kenne bis jetzt keine Spielefirma, die ihre browserbasierten Spiele unter GNU GPL veroeffentlicht hat, hoechstens als "frei nutzbar", aber hier ist eher "Freibier" gemeint.
Letzteres koennte wichtig sein, da falls sich die Wernis rumsprechen, dann auch die besagten Spielefirmen die API-Klasse wohl nutzen moechten (anstelle selber zu implementieren, was natuerlich auch geht und von mir auch supportiert wird).
Die von dir angesprochenen Anpassungen meiner Klasse wuerde dann z.B. so aussehen: /**
- Eigene Anpassung der API-Klasse
*/ class MyApiImplementation extends WdsGenericApi { /**
- Hier sind dann die Methoden ueberschrieben, die angepasst werden
- mussten. Eine Anpassung von dem Code der WdsGenericApi-Klasse ist
- dann nicht noetig.
} // [EOF]
So ist es auch geplant, da "WdsGenericApi" als abstrakt markiert ist und davon somit keine Instanzen gebilden werden koennen. Ich koennte mir auch eine duale Lizensierung vorstellen, wenn es nicht anders geht.
VG, Roland
On Mon, 2010-04-05 at 12:06 +0200, Christian Kalkhoff wrote:
Hallo Roland,
nach wie vor denke ich, dass die LGPL das für dich beste wäre. Alternativ könntest du aber auch BSD oder ASL oder MIT verwenden. Diese sind keine Copyleft-Lizenzen.
Also kann in diesem Fall MyApiImplementation zu bleiben und die generic, abstrakte Klasse LGPL? Das waere dann denke ich mal fuer die meisten Anwender dieser Klasse akzeptabel.
Bis auf die glibc wird mit allen diesen Projekten vorrangig Geld von den dahinter stehenden Firmen erwirtschaftet. Du brauchst dir also um die kommerziellen Nutzungsmöglichkeiten keine Sorgen machen. ;-)
Das genau sollen sie ja auch. Und prinzipiell kann es mir sogar egal sein, ob sie die abstrakte Klasse von mir am verkaufen sind. Letztendlich muessten sie eh alle bei meinem Portal einen Account haben (der kostenlos ist) und an die serverseitge API-Klasse lasse ich erstmal niemanden ran. :) Ist aber auch nicht der weltbewegende Code...
Roland
Christian
On Mon, Apr 05, 2010 at 10:00:13PM +0200, Roland Haeder wrote:
On Mon, 2010-04-05 at 12:06 +0200, Christian Kalkhoff wrote:
Hallo Roland,
nach wie vor denke ich, dass die LGPL das für dich beste wäre. Alternativ könntest du aber auch BSD oder ASL oder MIT verwenden. Diese sind keine Copyleft-Lizenzen.
Also kann in diesem Fall MyApiImplementation zu bleiben und die generic, abstrakte Klasse LGPL? Das waere dann denke ich mal fuer die meisten Anwender dieser Klasse akzeptabel.
Bis auf die glibc wird mit allen diesen Projekten vorrangig Geld von den dahinter stehenden Firmen erwirtschaftet. Du brauchst dir also um die kommerziellen Nutzungsmöglichkeiten keine Sorgen machen. ;-)
Das genau sollen sie ja auch. Und prinzipiell kann es mir sogar egal sein, ob sie die abstrakte Klasse von mir am verkaufen sind.
Bitte erläutere, wie man Leute mit einer freien Lizenz daran hindern sollte, den Quelltext zu verkaufen.
Vielleicht solltet ihr den Lizenztext der GPL lesen und euch informieren, was freie Software ist.
Gruß, Matthias-Christian
Christian Kalkhoff me@ninan.info schrieb:
Bei der LGPL müssen eben die Änderungen an deiner Klasse wieder veröffentlicht werden, die nutzende Software aber kann zu bleiben. Beispiele für LGPL-lizenzierte Bibliotheken sind bspw:
- glibc (Basis-C-Bibliothek unter den meisten Linux-Systemen)
- Spring Framework (Wahrscheinlich Basis von bis zu 20% aller
Enterprise-Java-Projekten, kommerziell wie frei)
- JBoss Application Server
- Hibernate
Sorry für die stark verspätete Antwort, aber ich würde auch nochmal gern meinen Senf dazu geben.
Wenn man freie Software fördern möchte, ist die LGPL keine gute Wahl. Die FSF selbst rät sogar davon ab.
Strategisch gesehen ist die LGPL nur für solche Projekte sinnvoll, die es wie Sand am Meer gibt. Die oben genannten Beispiel glibc, JBoss, Hibernate zählen dazu, denn LIBCs, J2EE-Application-Server und ORMs gibt es viele. Daher geht man mittels LGPL einen Kompromiss ein, um die Verwendung der freien Alternative zu fördern, indem man auch proprietäre Software mit ins Boot holt.
Wenn man hingegen eine einzigartige, innovative Library hat, dann sollte man sie in jedem Fall unter GPL stellen. Zum Beispiel hat es mir geholfen, dass die Exiv2-Bibliothek unter GPL steht. Ein darauf aufbauendes Projekt kann nicht im Nachhinein proprietär gemacht werden, es sei denn, man baut die Exiv2-Bibliothek nach, und das wäre ein imenser Aufwand, zumal es keine professionelle Alternative zu Exiv2 gibt, die auch nur annähernd so ausgereift ist.
Das Spring Framework könnte man als Gegenbeispiel anführen, da es unter LGPL steht, obwohl es recht einzigartig ist. Hier muss man jedoch sehen, dass diese Entscheidung von Sun getroffen wurde, einer Firma, der es nicht primär um die Förderung Freier Software gibt. Für Sun die Markt- durchdringung und damit eine möglichst weite Verbreitung ihres Spring-Frameworks wichtiger als die Unterstützung Freier Software.
Bis auf die glibc wird mit allen diesen Projekten vorrangig Geld von den dahinter stehenden Firmen erwirtschaftet. Du brauchst dir also um die kommerziellen Nutzungsmöglichkeiten keine Sorgen machen. ;-)
Es ist vielleicht abgedroschen, aber ich würde gern noch ergänzen, dass das Gegenteil von "frei" nicht "kommerziell", sondern "proprietär" ist.
Gruß,
Volker