Die entscheidenden Hinweise stehen wohl hier
Zitat:
Nachtrag:
Wenn man den wrapper unter folgende Lizenz stellt:
GNU Library or "Lesser" General Public License (
LGPL) 2.0/2.1/3.0
Wie auch in der FOSS genehmigt, darf die auf den Wrapper basierende Software auch closed und commerical sein. Lediglich der Wrapper ist dann OSS, was zu verkraften wäre.
Wie schon bemerkt bleibt auch der native Zugriff. Wie der funktioniert kann man aus den Quellen der libmysql ersehen. Ist aber schon ein wenig Arbeit...
TheRealFafnir, 25. November 2010
#12
TheRealFafnir
TheRealFafnir
New Member
Nachtrag 2:
Voraussetzung ist auch das der Wrapper nicht statisch gelinkt ist. Ein Mimimal-Code wie Header darf jedoch im Project drin sein.
Wenn die Wrapper Library komplett statisch eingebunden ist muss auch die nutzende Software wieder
LGPL oder
GPL sein.
MySQL (
GPL) <-> libmysql (
GPL) <-> Wrapper (Mittels FOSS zu
LGPL) <-> Software die den Wrapper dynamisch lädt (Eigene Lizenz, auch Closed Source)
TheRealFafnir, 26. November 2010
#13
TheRealFafnir
TheRealFafnir
New Member
Nachtrag 3:
Wer Wrapper kann auch unter Mozilla Public License (
MPL) 1.1 gestellt werden, was am besten für closed source Projekte wäre.
Die ursprüngliche Frage hat sich mir eben auch gestellt, und jetzt ist alles klar, für mich soweit.
Eine alternative zur original libmysql wäre die libmysql von Michael "Monty" Widenius, dem ursprüngliche Autor der
MySQL DB, der inzwischen ja mit einigen anderen "ursprünglichen" Autoren, das MariaDB Projekt aufgezogen hat.
Seine Version baut auf die letzte
LGPL Version der libmysql auf, kann bis
MySQL 5.5 und der MariaDB verwendete werden, und steht bereits unter der
LGPL. Das wird meine persönliche alternative werden. Da mein derzeitiges Projekt in Delphi unter Windows ist, habe ich mir eine
mysql.pas besorgt welche unter der
MPL 1.1 steht, die eben durch die FOSS
exception die original
MySQL libmysql.dll importiert.
Alles Unklar? :mauer:
Das ein Wrapper nicht statisch gelinkt werden sollte ist mir schon klar, aber die Fragen wären noch:
- was wird als eigentlich dynamisches Linken akzeptiert ?
1. Ich denke es sollte in jedem Fall ist OK einen eigenen OpenSource-Wrapper als externen Prozess zu starten
und über StandardPipes des
OS zu kommunizieren. Oder über Messaging Schnittstellen via
OS.
2. Aber das ist mit einer Library wie libVLC schwierig, weil hier nicht nur ein paar Bytes verschoben werden,
sondern ganze Videobilder gestreamt werden müssen.
Es könnte ja sein das ein Windows-
Handle von libVLC bedient wird auch als externes Linken akzeptiert wird,
weil es quasi über die eigene Anwendung gelegt wird.
3. Das Einbinden via LoadDll ist wohl schon statisches Linken im Sinne der
GPL. oder etwa nicht ?
Was ich mich an den oberen Beispielen nur generell Frage:
- Wie kann ich einen externen Wrapper von einer
GPL Library auf
LGPL oder
MPL umstellen ?
Ich denke das verbietet die
GPL, weil der Wrapper davon abgeleitet wird.
Aber es wird ja immer viel von der "Kompatibilität" dr Lizenzen geredet, ist das vielleicht damit gemeint,
und das "Umlizensieren" auch OK ?
Rollo