![]() |
Frage zu LGPL und Delphi
Hallo,
wie ihr vielleich wisst schreibe ich gerade eine kleine 2D Engine. Da dachte ich mir: Stelle ich sie doch unter die LGPL, denn diese Lizenz erfüllt alles was ich haben möchte:
Problem ist jetzt aber folgendes...: Zitat:
![]() Erst einmal zum Aufbau meiner Engine: Es gibt verschiedene Render-Plugins (zum Beispiel für OpenGL und DirectX) die Dynamisch in das Programm geladen werden (Über DLLOpen oder wie die Funktion heißt). Nun wird aber der Großteil meiner Engine direkt in das Programm hinein kompiliert (statisch gelinkt) und ist somit ein Bestandteil des "Programms, das die Bibliothek nutzt". (Wer sich meinen Code mal anschauen möchte kann ![]() Es kann natürlich sein, dass ich den oben Zitierten abschnitt gänzlich falsch verstehe. Deshalb meine Fragen (ich will natürlich keine rechtsgültige Rechtsauskunft (die ihr mir eh nicht geben könnt)): 1. Verstehe ich das Falsch, oder ist es so wie oben Beschrieben richtig? 2. Kennt ihr eventuell eine "bessere" Lizenz für meine (oben genannten) Absichten? 3. Gibt es in Delphi einen Weg die ganzen Units (siehe Link oben) in eine Bibliothek (DLL, nicht BPL) zu Packen, ohne das dies die Komfortabilität der Verwendung (also über Klassen) einschränkt? Eine Headerdatei in der die Klassen deklariert sind dürfte es natürlich schon geben... Danke für eure Aufmerksamkeit, Igel457 PS: Es gab hier zwar schon einige Diskusionen zu dem Thema, aber meistens aus der anderen Sicht (also der des Benutzers einer Bibliothek). |
Re: Frage zu LGPL und Delphi
Es gibt bei diesem Thema verschiedene Ansichten. Ich würde aber zur Sicherheit dein Programm als Bibilothek anbieten.
|
Re: Frage zu LGPL und Delphi
Zitat:
Delphi-Quellcode:
IMHO kann ich eine Klasse nicht aus einer DLL exportieren...
TAdDraw = class
private [ist eh egal] protected procedure CallNotifyEvent(AEventState:TSurfaceEventState); public AdDllLoader : TAndorraDllLoader; AdAppl:TAdApplication; Display : TAdDisplay; constructor Create(AParent : TWinControl); destructor Destroy; override; property Parent : TWinControl read FParent; property DisplayRect:TRect read FDisplayRect; function Initialize: boolean; procedure Finalize; procedure ClearSurface(Color:TColor); procedure BeginScene; procedure EndScene; procedure Setup2DScene; procedure Flip; function CanDraw:boolean; procedure LogProc(LogItem:TAdLogItem); procedure RegisterNotifyEvent(AProc:TSurfaceEvent); procedure UnRegisterNotifyEvent(AProc:TSurfaceEvent); property Options : TAdOptions read FOptions write SetOptions; property DllName : string read FDllName write SetDllName; property Initialized : boolean read FInitialized; property AmbientColor:TColor read FAmbientColor write SetAmbientColor; property OnFinalize : TNotifyEvent read FFinalize write FFinalize; property OnInitialize : TNotifyEvent read FInitialize write FInitialize; property Log : TAdLog read FLog; property AutoLoadLog: boolean read FAutoLoadLog write SetAutoLoadLog; property LogFileName:string read FLogFileName write FLogFileName; end; [EDIT]Dem Syntaxhighlighter bekam Pfälzisch nicht so gut[/EDIT] |
Re: Frage zu LGPL und Delphi
Die einzige Lizenz die nach meinen Recherchen so ungefär das erfüllt, was ich haben möchte, ist die
![]() Muss ich bei dieser Lizenz noch etwas beachten? In dem verlinkten Artikel steht, dass diese Lizenz mit der GPL inkompatibel ist. Was bedeutet dies? Darf ich in meinem Projekt keine GPL/LGPL Source-Codes verwenden oder darf jemand mein Projekt nicht in einem GPL/LGPL Projekt verwenden? Kennt ihr vieleicht noch eine "bessere" Lizenz, die meine "Bedürfnisse", besser erfüllt? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz