Ich bin kein Anwalt, aber hier ein paar Überlegungen:
Quelltext veröffentlichen ist erstmal nicht so kompliziert. Du behältst ja bei den meisten Lizenzen deine eigenen Rechte am Quelltext. Wenn du dir aber die Option offenhalten möchtest, Commits firmenfremder Nutzer auf Github selbst zu nutzen, dann wird es kompliziert. Beispielsweise kannst du die
GPL und in im Falle von Delphi meist auch die
LGPL vergessen. Man muss aufpassen, dass man sich mit den Klauseln, die man eigentlich fremden Nutzern auflegen möchte, nicht selbst ins Bein schneidet:
- Bei der GPL müsstest du (theoretisch) dein Gesamtprodukt dann auch so veröffentlichen, sobald du den fremden Commit pullst und in dein Produkt kompilierst. Du könntest dein Gesamtprodukt zwar weiterhin verkaufen, aber musst jedem Käufer den Quelltext zum Selbstkostenpreis zugänglich machen. Jeder Käufer darf anschließend dein Gesamtprodukt verkaufen oder verschenken.
- Die LGPL sieht auf den ersten Blick besser aus. Software, die dein Modul verwendet, kann beliebig lizenziert sein. Wer dein Modul verbessert, muss jedem, der das Kompilat erhält, auch den Quelltext deines Moduls unter der LGPL geben – du müsstest dieses Produkt aber u.U. zunächst einmal erwerben. Da man in Delphi oft in eine einzige EXE kompiliert, ist die LGPL aber ebenfalls unklug, da sie fordert, dass eine durch eine eigene Version austauschbare DLL/SO deines Moduls existieren muss, damit der Nutzer sein Recht wahrnehmen kann, den Modulquelltext selbst zu kompilieren und ggf. zu verbessern. In der englischen WP wird das sehr schön als Granularity/reach bezeichnet.
- Bei der MPL steht dort „Datei“, gemeint ist Sourcecode-Datei. Das könnte – himitsu schrieb es – was für Delphianer sein. Auch hier kann jemand, der deinen Code verändert hat, fordern, dass du den Quelltext nur erhältst, wenn du sein Programm erworben hast.