Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#1

Frage zu LGPL und Delphi

  Alt 5. Jan 2007, 21:29
Hallo,

wie ihr vielleich wisst schreibe ich gerade eine kleine 2D Engine.
Da dachte ich mir: Stelle ich sie doch unter die LGPL, denn diese Lizenz erfüllt alles was ich haben möchte:
  • Man darf meine "Bibliothek" frei verwenden
  • Ändert jemand den SourceCode so muss er die Änderungen wieder in mein Projekt zurückfließen lassen (indem er gezwungen ist den SourceCode meiner Bibliothek zu veröffentlichen)
  • Und das wichtigste (dachte ich): Wenn man meine "Bibliothek" verwendet muss man das Programm nicht als GPL oder LGPL veröffentlichen

Problem ist jetzt aber folgendes...:
Zitat von Die deutsche Übersetzung der LGPL:
§5. Ein Programm, das nichts von irgendeinem Teil der Bibliothek Abgeleitetes enthält, aber darauf ausgelegt ist, mit der Bibliothek zusammenzuarbeiten, indem es mit ihr compiliert oder gelinkt wird, nennt man ein „Werk, das die Bibliothek nutzt“. Solch ein Werk, für sich allein genommen, ist kein von der Bibiliothek abgeleitetes Werk und fällt daher nicht unter diese Lizenz.

Wird jedoch ein „Werk, das die Bibliothek nutzt“, mit der Bibliothek gelinkt, so entsteht ein ausführbares Programm, das ein von der Bibliothek abgeleitetes Werk (weil es Teile der Bibliothek enthält) und kein „Werk, das die Bibliothek nutzt“ ist. Das ausführbare Programm fällt daher unter diese Lizenz. Paragraph 6 gibt die Bedingungen für die Weitergabe solcher ausführbarer Programme an.

Wenn ein „Werk, das die Bibliothek nutzt“, Material aus einer Header-Datei verwendet, die Teil der Bibliothek ist, dann kann der Objektcode für das Werk ein von der Bibliothek abgeleitetes Werk sein, selbst wenn der Quelltext dies nicht ist. Ob dies jeweils zutrifft, ist besonders dann von Bedeutung, wenn das Werk ohne die Bibliothek gelinkt werden kann oder wenn das Werk selbst eine Bibliothek ist. Die genaue Grenze, von der an dies zutrifft, ist rechtlich nicht genau definiert.
(Siehe auch: http://www.gnu.de/documents/lgpl.de.html)

Erst einmal zum Aufbau meiner Engine:
Es gibt verschiedene Render-Plugins (zum Beispiel für OpenGL und DirectX) die Dynamisch in das Programm geladen werden (Über DLLOpen oder wie die Funktion heißt).
Nun wird aber der Großteil meiner Engine direkt in das Programm hinein kompiliert (statisch gelinkt) und ist somit ein Bestandteil des "Programms, das die Bibliothek nutzt". (Wer sich meinen Code mal anschauen möchte kann hier schauen (Alles im Ordner "dll" ist ein Plugin und wird dynamisch gelinkt, der Rest nicht)). Aus diesem Grund (da es sich ja nicht nur um "Header" Dateien handelt), denke ich das jeder, der meine "Bibliothek" (damit meine ich mein Gesammtwerk) verwendet seine eigene Applikation trotzdem unter der LGPL lizensieren muss, was ich unter keinen Umständen will.

Es kann natürlich sein, dass ich den oben Zitierten abschnitt gänzlich falsch verstehe.
Deshalb meine Fragen (ich will natürlich keine rechtsgültige Rechtsauskunft (die ihr mir eh nicht geben könnt)):

1. Verstehe ich das Falsch, oder ist es so wie oben Beschrieben richtig?
2. Kennt ihr eventuell eine "bessere" Lizenz für meine (oben genannten) Absichten?
3. Gibt es in Delphi einen Weg die ganzen Units (siehe Link oben) in eine Bibliothek (DLL, nicht BPL) zu Packen, ohne das dies die Komfortabilität der Verwendung (also über Klassen) einschränkt? Eine Headerdatei in der die Klassen deklariert sind dürfte es natürlich schon geben...

Danke für eure Aufmerksamkeit,
Igel457

PS: Es gab hier zwar schon einige Diskusionen zu dem Thema, aber meistens aus der anderen Sicht (also der des Benutzers einer Bibliothek).
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat