Autor Beitrag
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 692
Erhaltene Danke: 92



BeitragVerfasst: Mo 10.07.17 20:44 
Hallo Leute,

ich habe eine Frage zu eventuellen Lizenzierungskosten für ein Delphi-Programm mit Zugriff auf MariaDB.

Zuerst einmal meine Sicht der Dinge (die nicht stimmen muss):

Ich habe vor einigen Jahren ein Delphi-Programm geschrieben, das über ZEOS auf eine MySQL-DB (alte XAMPP-Version) zugreift. Läuft alles zufriedenstellend.
Wenn ich dieses Programm verkaufen möchte, müsste ich den Quelltext meines Delphi-Programms unter GPL freigeben oder eine MySQL-Lizenz erwerben.
Um diesen Zustand zu vermeiden, würde ich gerne mein Programm mit einer MariaDB-Version der libmysql.dll gegen eine MariaDB (neuere XAMPP-Version) verlinken.
Programmiertechnisch scheint das auch zu funktionieren.

Nun zu meiner eigentlichen Frage:
Kann ich mein Programm mit Verlinkung gegen die Maria-DB verkaufen, ohne meinen Quelltext unter GPL zu stellen und ohne eine DB-Lizenz zu erwerben?

Vielen Dank schon mal.
ub60

Crosspost: www.delphipraxis.net...adb.html#post1376409
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18686
Erhaltene Danke: 1619

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 10.07.17 23:48 
Kurze Antwort:
Ja, sofern du z.B. nicht nur MariaDB unterstützt, sondern unabhängig von einer bestimmten Datenbank bist.

Sobald du direkt gegen die Clientbibliotheken von MariaDB kompilierst oder dein Programm ohne MariaDB nicht funktioniert, geht das nicht mehr so ohne weiteres.

Das ist aber bis ins kleinste Detail beim Hersteller beschrieben:
mariadb.com/kb/en/mariadb/licensing-faq/

_________________
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
ub60 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 692
Erhaltene Danke: 92



BeitragVerfasst: Di 11.07.17 16:41 
Zuerst einmal vielen Dank für die Antwort (im Crosspost stand Ähnliches).

Beide Antworten beziehen sich auf

Zitat:
When you are distributing your application together with MariaDB or MySQL you are bound (or can be seen to be bound by some lawyers) by the GPL if some of the following statements apply:
  • You are using GPL code from MySQL linked directly to your application. (Like the MySQL GPL client library).
  • Your application requires the MariaDB server to work and without the MariaDB server it doesn't start or it has very limited functionality.

Nun meine Frage: Wenn ich den Kunden die DB selber installieren lasse, und nur das reine Programm vertreibe, gilt dann diese Klausel für mich?

Etwas weiter vorn steht auch noch
Zitat:
If your application is using a license that is not covered by the FLOSS exception, then you should use the new LGPL client libraries or C. The LGPL license allows you to distribute these MariaDB client library freely with any application.

Also doch kostenlose Nutzung? Ich verstehe irgendwie diese ganzen (GPG, LGPL, LPL, MPL, ...) Lizenzen nicht. Wenn ich die LGPL-Library libmariadb.dll installiere und in libmysql.dll umbenenne, funktionioert alles.

Und wenn meine Einwände falsch sind: Gibt es noch irgendeine freie Datenbank ähnlich MySQL, die ich ohne Wenn und Aber professionell nutzen kann?

ub60
Tankard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 172
Erhaltene Danke: 29



BeitragVerfasst: Di 11.07.17 17:17 
Hallo,
ja die gibt es. Ich nutze dafür entweder SQLite oder Postgres.

Q: How is PostgreSQL licensed? How much does it cost?
A: PostgreSQL is released under the OSI-approved PostgreSQL License. There is no fee, even for use in commercial software products. Please see the PostgreSQL License

Zitat von dir:
Also doch kostenlose Nutzung? Ich verstehe irgendwie diese ganzen (GPG, LGPL, LPL, MPL, ...) Lizenzen nicht. Wenn ich die LGPL-Library libmariadb.dll installiere und in libmysql.dll umbenenne, funktioniort alles.

Du kannst aber auch in der ZEOSlib die MariaDB auswählen. Dann nutzt er die libMariadb.dll. Der Server kann dann ruhig ein MySQL Server sein, da die beiden SQL Server noch ziemlich identisch sind. Du kannst halt nur keine Funktionen nutzen, die spezifisch zu einer der beiden SQL Server sind.

Gruß
Kim
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18686
Erhaltene Danke: 1619

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 11.07.17 19:35 
ZEOS ist ja genau die Zwischenschicht, die dich von einer bestimmten Datenbank löst. Du musst nur schauen, dass deine Anwendung auch mit anderen Datenbanken funktioniert, mindestens einer jedenfalls. (Ich würde MS SQL testen, weil das viel schon drauf haben und deshalb evtl. deine Anwendung gerne dort hineinpacken wollen.)
Schon funktioniert deine Anwendung auch ohne MariaDB und da du ZEOS nutzt, linkst du auch nicht direkt gegen die MariaDB DLLs.

user profile iconub60 hat folgendes geschrieben Zum zitierten Posting springen:
Gibt es noch irgendeine freie Datenbank ähnlich MySQL, die ich ohne Wenn und Aber professionell nutzen kann?
Frei nicht, aber kostenlos ist MS SQL Express auch, auch für kommerzielle Nutzung.

_________________
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Für diesen Beitrag haben gedankt: ub60
Slipstream
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 26
Erhaltene Danke: 5



BeitragVerfasst: Mi 12.07.17 21:31 
Die meiner Kenntnis nach einzig wirklich kostenlose und an keinerlei Bedingungen gebundene Datenbank ist Firebird. Da gibt es für knapp 100 Euro die Devart-Komponenten (ohne Quellcode), und die neueren Delphi-Versionen bieten direkten Zugriff über ihre FireDac-Komponenten. Aber auch mit Zeos kannst du problemlos auf eine Firebird-DB zugreifen, auch mit Lazarus. Bei Zeos muss man lediglich beachten, dass sie nicht bidirectional arbeiten. Baut man sich seine eigene SQL-Engine, spielt das keine Rolle.
ub60 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 692
Erhaltene Danke: 92



BeitragVerfasst: Do 13.07.17 10:15 
Danke erst mal für alle Tipps!

In der DP (Crosspost) habe ich den Tipp bekommen, die "MySQL Data Access Components" zu erwerben (kosten 200 Euronen) und dort den direkten Zugriff auf MariaBD (ohne die DLL) einzustellen. Dann würde man nicht in die GPL-Falle tappen. Diese Lösung werde ich erst einmal antesten.
Das wäre zumindest für mich der geringste Umschreibe-Aufwand.

Die anderen genannten DBs werde ich mir auch noch mal ansehen.

Prinzipiell hätte ich damit erst mal eine Lösung und markiere das Thema als beantwortet, sollten noch ergänzende Hinweise oder andere Aspekte kommen, ich bin weiterhin interessiert.

ub60