Kommerzielle Closed-Source-Software mit Qt bzw. wxWidgets erlaubt?



  • Kann mir jemand sagen, ob man mit Qt bzw. wxWidgets
    kommerzielle Closed-Source-Software entwickeln darf?



  • Mit wxWidgets ja.
    Mit Qt eingeschrängt, hängt von Lizenz ab:

    1. LGPL (kostenlos): ja, aber nur dynamisches Linken der Qt-DLLs erlaubt
    2. kommerziell (einige TEUR): ja.

  • Mod

    Kommt drauf an.

    wxWidgets: Ja, die Lizenz ist BSD like, daher recht liberal. Kommerziell recht gut zu verwenden.

    Qt:

    LGPL: jein. Der nicht-Qt-Code sollte dann in DLLs. Man muss den Qt Teil der Anwendung auch nicht offenlegen im Quellcode, aber ein neues Linken der Anwendung gegen Qt erlauben, sprich notfalls die Linkerdateien herausgeben (oder den code, alternativ). So stehts in der LGPL.

    Qt Commercial: ja. Aber is nicht ganz billig, da solltest du schon gute gründe für haben. Von LGPL lässt sich auch nicht auf Commercial wechseln. Also zumindest so offiziell nicht.



  • @phlox81

    LGPL: jein. Der nicht-Qt-Code sollte dann in DLLs.

    Ich verstehe nicht was du damit meinst.
    Wenn ich nichts an Qt selbst verändere, sondern Qt nur so wie es ist benutze, dann ist mein Code in der Exe (Win), der Qt-Teil darf dort aber nicht mit rein (statisches Linken), sondern ist in DLLs (qtcore4.dll, qtgui4.dll) welche die Exe zur Laufzeit lädt (dynamisches Linken). Laut LGPL muss ein Fremder den LGPL-Teil des Codes austauschen können (z.B. gegen eine modifizierte Version) und das kann er, da der Qt-Teil in den DLLs liegt.

    Wenn man etwas an Qt verändert, dann muss man diese Änderungen laut LGPL offenlegen.

    So sehe ich das, kann mich aber auch irren 🙄 , glasklare Äußerungen zu den Bedingungen bei Qt und LGPL habe ich leider noch nicht gesehen (selbst von Nokia nicht). Leider fallen in der LGPL nicht die Begriffe "dynamisch" und "statisches Linken", sondern werden nur "umschrieben".



  • phlox81 schrieb:

    Kommt drauf an.

    wxWidgets: Ja, die Lizenz ist BSD like, daher recht liberal. Kommerziell recht gut zu verwenden.

    Qt:

    LGPL: jein. Der nicht-Qt-Code sollte dann in DLLs. Man muss den Qt Teil der Anwendung auch nicht offenlegen im Quellcode, aber ein neues Linken der Anwendung gegen Qt erlauben, sprich notfalls die Linkerdateien herausgeben (oder den code, alternativ). So stehts in der LGPL.

    Qt Commercial: ja. Aber is nicht ganz billig, da solltest du schon gute gründe für haben. Von LGPL lässt sich auch nicht auf Commercial wechseln. Also zumindest so offiziell nicht.

    Die LGPL räumt mir greade den Luxus ein, dass ich mein Anwendungscode unter meine beliebige Lizenz stellen darf, daher versteh ich es nicht, kommt diese Aussage von Qt/Nokia?



  • @Zeus
    Ich denke phlox81 hat sich ungünstig ausgedrückt. Die Aussage von Softwaremaker ist richtig.



  • Die GPL und LGPL sind viral. D.h. wenn du Code mit solchen lizensierten Code vermischt bzw. (statisch) linkst, wird dein Code angesteckt und somit auch GPL/LGPL. Folglich bei Closedsource illegal.

    Wo ist jetzt das Problem, einfach die Lizenz zu akzeptieren oder nicht zu akzeptieren? Was sollen die dauernden "Aber man könnte doch..."?

    Es gibt nicht umsonst solche Lizenzen wie BSD, MIT, MsPL, MsRL u.a. Eben weil die GNU Lizenzen nicht immer passen.



  • @Artchi
    Das Problem bei Qt und LGPL ist ja, das keiner eine genaue Aussage macht, wie jetzt genau die Bedingungen sind. Ich habe den Eindruck von Nokia ist das auch so gewollt (damals, jetzt machts ja Digia), der Entwickler soll sich nicht ganz sicher sein und lieber doch zur kommerziellen Lizenz greifen.

    Nokia Qt LGPL Exception version 1.0
    As a special exception to the GNU Lesser General Public License version 2.1, the object code form of a "work that uses the Library" may incorporate material from a header file that is part of the Library. You may distribute such object code under terms of your choice, provided that the incorporated material (i) does not exceed more than 5% of the total size of the Library; and (ii) is limited to numerical parameters, data structure layouts, accessors, macros, inline functions and templates.

    5% of the total size of the Library, wie überprüft man dass (Anzahl Codezeilen, der gesamten Qt oder nur die Teile die man nutzt) ?

    Befragt man einen Rechtsexperten, dann versteht der sicher nicht die Umschreibungen von statisch und dynamischem Linken in der LGPL und wird seinem Kunden zur kommerziellen Lizenz raten, um nicht in die Gefahr einer Falschberatung zu kommen.



  • Man muss aber auch dazu sagen, dass wenn man eine kommerzielle Lizenz nimmt, man keine z.B. LGPL Bibliotheken benutzen kann.

    Ich denke mit der LGPL und dynamisch gelinkten Qt Lib's sollte man auf der sicheren Seite seien.



  • Artchi schrieb:

    Die GPL und LGPL sind viral. D.h. wenn du Code mit solchen lizensierten Code vermischt bzw. (statisch) linkst, wird dein Code angesteckt und somit auch GPL/LGPL. Folglich bei Closedsource illegal.

    Das Stimmt für GPL, aber nicht für LGPL.

    http://de.wikipedia.org/wiki/GNU_Lesser_General_Public_License schrieb:

    Im Gegensatz zur GPL dürfen alle Programme, welche die LGPL-lizenzierte Software nur extern benutzen, zum Beispiel als Programmbibliothek, ihre eigene Lizenz behalten. Damit eignet sich die LGPL besonders als Lizenz für Bibliotheken, deren Benutzung man auch Programmierern proprietärer Programme erlauben will.



  • Zeus! Was heißt "extern benutzen"? Sicherlich nur als dynamische Library, also z.B. DLL. Was passiert bei C++ Templates? Das ist Code der unbestritten intern ist, da er doch direkt in das eigene Projekt erzeugt wird. Nicht mal statisch gelinkt wird.

    Es gibt natürlich eine Grenze, wo Trivialcodeteile nicht einer Lizenz unterliegen. Aber wenn ich viele oder ganze Qt-Templates reinkompiliere, ist es nicht mehr Trivialcode.

    Hier ist man auf eine Ausnahme-Bedingung des Inhabers angewiesen, so wie es z.B. das FOX-Toolkit und auch FLTK tun. Die haben auch die LGPL, sagen aber in einem Lizenz-Anhang, das man ausdrücklich statisch linken kann. Damit alles für den Anwender in trockenen Tüchern ist.


Anmelden zum Antworten