Die wichtigste Fremdkomponente, die wir einsetzen, ist eine TeeChart Pro Version (also nicht die mit Delphi 6 mitgelieferte Version), die wir damals bei Projektbeginn erworben haben, und die tief in den Programmen verankert ist und deshalb auch nicht so ohne weiteres durch andere Komponenten ersetzt werden kann. (Das ist u.a. auch ein Grund dafür, dass wir noch mit dem Uralt-Delphi 6 herumwerkeln, mit dem wir aber bisher alle Aufgaben unseres Programmsystems zufriedenstellend lösen können.) Hier dürfen wir natürlich nichts veröffentlichen oder weitergeben. Wäre das eventuell ein Hindernis für eine Open-Source-Veröffentlichung unserer Quelltexte?
Delphi und OpenSource ist in dieser Hinsicht generell schon ein Problemchen, weil Delphi selbst nicht OpenSource ist. Der Basis-Code der verwendeten Sprache wird daher in der Regel von der Lizenz ausgenommen. Es wird aber gerade bei der
GPL empfohlen, auch an der Stelle auf freie Software zu setzen.
Bei aktuellen Delphi-Versionen ist das ein kleineres Problem, weil die kostenfreie Community-Edition weitgehend Code-kompatibel mit den aktuellen professionellen Lizenzen ist. Man kann also (kosten)frei den Code compilieren und ggf. modifizieren. Ob es eine kostenfreie Delphi-Version gibt, die zu Delphi 6 kompatibel ist, weiß ich nicht. Hauptproblem dürfte "
Unicode" sein.
Die Frage ist, ob man diese Ausnahme für die
IDE auf die Verwendung (gängiger) unfreier Zusatzkomponenten erweitern kann. Mit ausliefern darfst du die natürlich nicht. Ihr könnt natürlich in die Voraussetzungen schreiben, dass zusätzlich zu Delphi 6 auch die Komponenten X, Y und Z benötigt werden.
Wenn der Rest des Codes von euch wäre, könntet ihr dann jede beliebige FOSS-Lizenz benutzen, und diese um die Ausnahmen ergänzen, dass euer Code mit diesen unfreien Komponenten kombiniert werden darf. Da ihr aber auch andere FOSS-Bibliotheken nutzt, wäre der sichere Weg, bei den Urhebern nachzufragen, ob diese die Kombination mit diesem nicht-freien Code erlauben. Ebenso müssten streng genommen die Inkompatibiltäten zwischen
MPL und
LGPL aufgelöst werden. Die darf man nämlich eigentlich auch nicht mischen.
Bei kleineren
OS-Komponenten von Einzelentwicklern steht die Chance dazu ganz gut. Die machen sich oft nämlich nur wenig Gedanken über die Lizenz und nutzen einfach "irgendeine". Wenn man die fragt, ob man auch eine andere nutzen kann, ist das denen oft egal.
Bei größeren Projekten, bei denen viele Entwickler mitarbeiten, ist das ggf. nicht so einfach möglich.
Zur Mit-Auslieferung des anderen
OS-Codes: Ich mach das meinem Player so, dass ich diese Komponenten mit ausliefere. Damit ist man dann auf der sicheren Seite, wenn es in diesem Fremdcode einen breaking change gibt - beim VirtualStringTree ist das z.B. ab und zu der Fall gewesen. Da haben sich dann die Signaturen der Events geändert u.Ä.
The angels have the phone box.