Ich arbeite derzeit an einem Template Prozessor (Trickonos). Mittlerweile ist dieses Projekt derart gewachsen, dass ich über ein Pre Release nachdenke, eventuell um andere Programmierer mit einzubeziehen und frühe (funktionalitäts-bildende) Modifikationen zu erlauben und Fehler zu vermindern.
Allerdings habe ich ein Problem damit, bestimmte Fragen zu der Lizenz (FPC modified LGPLv2.1) zu beantworten. Vorerst, ein kleiner Überblick über den Template Prozessor:
- Die Hauptapplikation besteht aus einem "Bytecode" Compiler, Loader, einer Virtual Machine (die den Bytecode ausführt) und einem Script Object System welches von der VM genutzt wird (mit simplem Garbage Collector, erweiterbares System etc.). Templates werden beim ausführen direkt in Bytecode übersetzt (oder geladen, falls eine entsprechende Bytecode Datei gefunden wird), und von der VM ausgeführt, was wiederum eine Ausgabe erzeugt. (alles FPC/FPC RTL, keine Packages oder 3d Party Quellen/Libs/Packete verwendet.)
- Aktuell ist die Hauptapplikation bzw. vm/compiler/script objects nicht darauf ausgelegt, separat genutzt zu werden (bspw. als Bibliothek oder Unit), was allerdings mit wenigen Handgriffen möglich ist.
- Eine (Standard) Template Bibliothek ist vorgesehen.
Zu den Fragen. Ich würde gerne die FPC modified LGPLv2.1 (GPL mit linking exception und FPC disambiguation, die sowohl statisches als auch dynamisches linken erlaubt) nutzen, was es erlauben würde, Trickonos mit Lazarus/FPC zusammen weiter zu verbreiten.
Kann mir jemand kurz und "nicht in Anwaltssprache" erklären:
- ob es erlaubt ist, 3rd Party Module mit einer anderen Lizenz hinzuzufügen, die Klassen/ein spezifisches Interface von Trickonos nutzen um die Funktionalität zu erweitern, selbst aber keine Änderungen in Trickonos benötigen.
- ob es erlaubt ist, dual-lizensierte (bspw. FPC modified LGPLv2.1 und MPL) FPC Packages zu nutzen, ohne Explizit zu erklären, dass das entsprechende Packet unter LGPL Terms genutzt wird.
- was mit Template Packages ist. Da diese so gesehen keinen Binärcode darstellen, sondern lediglich Quelltext, der durch den Interpreter verarbeitet wird, könnte es da zu Komplikationen kommen, wenn jemand a.) ein Template erweitert, b.) ein Template nutzt, c.) die mitgelieferte Template Bibliothek teilweise eretzt/ganz ersetzt/erweitert?
- wenn 3. zutrifft, gibt es eine kompatible Lizenz/Möglichkeit diese Probleme zu umgehen um FPC/Lazarus Lizenzkompatibilität zu erreichen? (z.B. eine weitere Lizenz, speziell für das Template Package, die Nutzer/Redistributor Änderungen ohne Komplikationen erlauben würde)
