Lazarus-Gtk oer -Qt?

Rund um die LCL und andere Komponenten
Benutzeravatar
photor
Beiträge: 443
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
CPU-Target: 64Bit

Lazarus-Gtk oer -Qt?

Beitrag von photor »

Hallo Forum,

ich habe hier mitgelesen. Da meine Frage aber mit der eigentlichen Frage dort wenig zu tun hat, mache ich hier ein neues Thema auf.

Es ging dort zuletzt auch um die Frage Lazarus mit Gtk oder mit Qt als zugrundeliegendem Grafik-Interface. Da ich selbst Gnome und XFCE als DE unter Linux einsetzte (und eigentlich auch Qt und KDE nicht mag), habe ich immer Lazarus-Gtk installiert; habe das auch nie in Frage gestellt.

Jetzt habe ich aber gelesen/gehört, dass der Gtk-Zweig mit der Entwicklung von Gtk selbst nicht ganz mithält (Lazarus: Gtk-2; aktuell Gtk-3; Entwicklung: Gtk-4 - und Gnome kommt da auch an). Erste Frage: ist das so?

Gleichzeitig scheint Lazarus-Qt mittlerweile auf Qt5 zu basieren, was deutlich jünger (moderner?) ist als Gtk-2, richtig?

Meine Frage wäre also: sollte ich vielleicht auch Lazarus mit Qt als GUI-Unterlage nutzen? Wäre das nicht der modernere Weg? Was das dann programmiertechnisch bedeutet, müsste ich mir dann anschauen. Und wie sich die Programme dann ordentlich in meine Gnome-Oberfläche einfügen, müsste man auch sehen. Es geht darum, was in Zukunft wohl der bessere Weg ist.

Oder ist es am Ende vielleicht grundsätzlich egal, weil man einfach nur den selben Source-Code entweder so oder so compiliert (je nachdem, welches Lazarus installiert ist) - und dann sieht es halt entsprechend aus.

Ciao,
Photor


PS: bitte jetzt keinen QT- gegen Gtk- Krieg anfangen - viel davon ist Geschmackssache und den diskutiert man nicht. Ich möchte nur einfach wissen, was ich für meine Lazarus-Projekte am besten einsetzen sollte.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Lazarus-Gtk oer -Qt?

Beitrag von theo »

photor hat geschrieben:
Mo 31. Okt 2022, 13:43
Jetzt habe ich aber gelesen/gehört, dass der Gtk-Zweig mit der Entwicklung von Gtk selbst nicht ganz mithält (Lazarus: Gtk-2; aktuell Gtk-3; Entwicklung: Gtk-4 - und Gnome kommt da auch an). Erste Frage: ist das so?
Naja, das ist eine längere Geschichte. Da gibt es einiges zu lesen.
Vielleicht veranschaulicht ein Zusammenhang, der mit Lazarus gar nichts zu tun hat die Sache etwas:

GTK 3 (GTK=GIMP-Toolkit) wurde 2011 veröffentlicht. GIMP selber wurde erst 2022 auf GTK 3 umgestellt.
Also nicht nur Lazarus hat ein Problem mit der Umstellung.

S.a. https://forum.lazarus.freepascal.org/in ... 26.45.html

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Lazarus-Gtk oer -Qt?

Beitrag von Warf »

Also kurz zum Stand von GTK allgemein, GTK 2 ist seit dem Release von GTK 4 EOL, es gibt also keinen support mehr dafür und sollte daher eigentlich auch wenn möglich nicht mehr verwendet werden. Auch die großen OpenSource Projekte die auf GTK2 aufgebaut haben wie XFCE oder GIMP sind mittlerweile (zumindest größtenteils) auf GTK3 oder sogar 4 geupgraded. GTK3 hat noch eine LTS version, welche so bald nicht abgestellt wird wenn es wie bei GTK2 ist, dann erst mit der veröffentlichung der nächsten major GTK version also GTK5.

Bei QT ist die Aktuelle version QT6, wobei QT5 immernoch supportet wird. Allerdings da sich seit QT6 die Lizensbedingungen von QT geändert haben, kann ich mir vorstellen das nach support ende eventuell community versionen von QT5 weiterbestehen werden.

Lazarus hat widgetsets für QT4, QT5, GTK2 und GTK3 wobei das letzte (noch) nicht stabil ist. Ich glaube der Entwickler der das QT5 widgetset baut ist auch der GTK3 widgetset maintainer, von daher wurde QT5 bevorzugt. Wenn ich mich richtig erinnere lag das daran das anscheinend GTK3 die APIs komplett umgeworfen hat was echt viele Probleme gemacht hat.

Da QT4 und GTK2 EOL sind, würde ich empfehlen die nicht zu verwenden. Zum einen weil man sich dann immer rechtfertigen darf warum man abandonware verwendet, zum anderen weil wenn bugs, grade kritische bugs gefunden werden sollten in diesen bibliotheken, dann werden die vermutlich gar nicht oder zumindest nicht offiziell gefixt.
Tatsächlich fordert sowohl DSGVO als auch IT Sicherheitsgesetz umsetzungen nach Stand der Technik. In wie weit diese Anforderungen auf die entsprechende Software zutreffen ist natürlich von Anwendungsfall zu Anwendungsfall unterschiedlich, allerdings ist in Fällen wo dies gilt, die Verwendung von Bibliotheken deren Support geendet hat potentiell ein Bruch der Anforderung und kann mit einem Bußgeld gestraft werden.
Außerdem muss seit anfang des Jahres durch die einführung von § 327e/f BGB Anforderungen an digitale güter wie:
§327e BGB hat geschrieben:(3) Das digitale Produkt entspricht den objektiven Anforderungen, wenn
[...]
2. es eine Beschaffenheit, einschließlich der Menge, der Funktionalität, der Kompatibilität, der Zugänglichkeit, der Kontinuität und der Sicherheit aufweist, die bei digitalen Produkten derselben Art üblich ist und die der Verbraucher unter Berücksichtigung der Art des digitalen Produkts erwarten kann,
und
§327f BGB hat geschrieben:(1) Der Unternehmer hat sicherzustellen, dass dem Verbraucher während des maßgeblichen Zeitraums Aktualisierungen, die für den Erhalt der Vertragsmäßigkeit des digitalen Produkts erforderlich sind, bereitgestellt werden und der Verbraucher über diese Aktualisierungen informiert wird. Zu den erforderlichen Aktualisierungen gehören auch Sicherheitsaktualisierungen. Der maßgebliche Zeitraum nach Satz 1 ist
1. bei einem Vertrag über die dauerhafte Bereitstellung eines digitalen Produkts der Bereitstellungszeitraum,
2. in allen anderen Fällen der Zeitraum, den der Verbraucher aufgrund der Art und des Zwecks des digitalen Produkts und unter Berücksichtigung der Umstände und der Art des Vertrags erwarten kann.
Beides kann bei der verwendung von EOL Bibliotheken nicht gewährleistet werden. Wer also Lazarus verwendet um Kommerzielle Software herzustellen, sollte sich falls möglich sowieso davon fernhalten.

Ein bisschen Problematisch wirds allerdings bei Bugs. So funktioniert z.B. SynEdit manchmal nicht richtig auf QT5 (der Abstand zwischen den Zeichen ist manchmal viel zu groß). Deshalb kann ich den QT5 Build von Lazarus z.B. nicht auf meinem Linux verwenden, sondern muss den GTK2 build benutzen. Es ist allerdings natürlich trozdem möglich mit dem GTK2 build QT5 Anwendungen zu bauen. Allerdings stellt sich da natürlich dann die berechtigte Frage, wie man damit umgehen soll wenn man für einen Kunden Features braucht die das QT5 Widgetset nicht korrekt bereitstellen kann, GTK2 allerdings schon. In diesem Falle müsste das dann natürlich mit dem Kunden entsprechend abgeklärt werden ob die verwendung von GTK2 in dieser Situation so möglich ist.

Von daher mein Tipp: Benutz Lazarus GTK build wegen dem Editor, und bau damit QT5 anwendungen soweit wie möglich, und wenn nicht klär das immer zu erst mit den Kunden ab wenn du auf eine EOL Bibliothek setzt. Oder machs einfach wie ich, bau nur kostenlose oder OpenSource Projekte, dann kannst du machen was du willst :)

PS: Die BGB Paragraphen sind die Nationale umsetzung einer EU Richtlinie (deren nummer ich immer wieder vergesse), von daher gelten vergleichbare anforderungen auch Europaweit. Genauso natürlich für die DSGVO anforderung an den Stand der Technik. Das sind also nicht nur rein Deutsche anforderungen sondern gilt für Softwareentwicklumg im gesammten EU Raum

Benutzeravatar
photor
Beiträge: 443
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
CPU-Target: 64Bit

Re: Lazarus-Gtk oder -Qt?

Beitrag von photor »

theo hat geschrieben:
Mo 31. Okt 2022, 14:01
Naja, das ist eine längere Geschichte. Da gibt es einiges zu lesen.
Vielleicht veranschaulicht ein Zusammenhang, der mit Lazarus gar nichts zu tun hat die Sache etwas:

GTK 3 (GTK=GIMP-Toolkit) wurde 2011 veröffentlicht. GIMP selber wurde erst 2022 auf GTK 3 umgestellt.
Also nicht nur Lazarus hat ein Problem mit der Umstellung.

S.a. https://forum.lazarus.freepascal.org/in ... 26.45.html
Hab den Thread gerade mal überflogen (kannte den aber nicht konkret). Im Prinzip entspricht das ja ungefähr meinem Stand (was Gtk angehrt). Ich frage mich halt trotzdem, wie es weiter geht. Ein Aspekt, den ich ja noch gar nicht erwähnt hatte: ich bin u.A. wegen Wayland (als nächstem Schritt bzgl. Interface zu Gnome zurück. Ich frage mich halt, ob die GUI von Lazarus-Programmen (und vielleicht auch andere Software) hinter der Entwicklung zurück bleibt und deshalb obsolet werden könnte.

Ich sehe auch, dass das bestimmt viel Arbeit ist. Aber meine Fähigkeiten sind leider bei Weitem nicht gut genug, um selbst beitragen zu können. Ich sehe aber ein bisschen die Gefahr, dass der "Rückstand" irgendwann sehr groß wird, und sich dann Lazarus-Programme wie ein Fremdkörper in den dann sehr fortschrittlichen (nicht wertend gemeint) DE verhalten (müssen).

Ciao,
Photor

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Lazarus-Gtk oder -Qt?

Beitrag von theo »

photor hat geschrieben:
Mo 31. Okt 2022, 15:25
Ich sehe auch, dass das bestimmt viel Arbeit ist. Aber meine Fähigkeiten sind leider bei Weitem nicht gut genug, um selbst beitragen zu können. Ich sehe aber ein bisschen die Gefahr, dass der "Rückstand" irgendwann sehr groß wird, und sich dann Lazarus-Programme wie ein Fremdkörper in den dann sehr fortschrittlichen (nicht wertend gemeint) DE verhalten (müssen).
Ich sehe das Problem nicht darin, dass GTK2 Anwendungen veraltet wirken (Das merkt kaum jemand), sondern wie Warf schon sagt, dass die zugrunde liegenden Bibliotheken nicht mehr gepflegt werden und auch nicht mehr standardmässig installiert sind oder auf Distributionen überhaupt noch installierbar sind.
Man könnte natürlich GTK3 einfach aussitzen - da es auch schon alt ist und auf Lazarus immer noch nicht "gescheit" läuft - und gleich auf GTK4 aufsteigen.
Aber es braucht natürlich immer jemanden, der das macht.
Entweder freiwillig oder notfalls gegen Geld.

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Lazarus-Gtk oer -Qt?

Beitrag von Winni »

Hi!
So wie ich die Diskussion im internatioalen Forum verfolgt habe, fehlt es einfach an Manpower.

Die letzten Bindings sind vom Januar 2021, das sind nun knapp 2 Jahre:

https://wiki.lazarus.freepascal.org/GTK3_Interface

Wobei man sagen muss: Manche Dinge funktionieren klaglos. Andere fliegen einem gleich um die Ohren. WEnn man wüsste, welche funktionieren ....

Winni

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Lazarus-Gtk oder -Qt?

Beitrag von Warf »

theo hat geschrieben:
Mo 31. Okt 2022, 17:10
Ich sehe das Problem nicht darin, dass GTK2 Anwendungen veraltet wirken (Das merkt kaum jemand), sondern wie Warf schon sagt, dass die zugrunde liegenden Bibliotheken nicht mehr gepflegt werden und auch nicht mehr standardmässig installiert sind oder auf Distributionen überhaupt noch installierbar sind.
Der letzte Teil ist der Knackpunkt, bisher wird GTK2 noch für die meisten Systeme über die Paketverwaltung bereitgestellt, aber das wird immer weniger werden. Sobald es nicht mehr in den Main repositories zu finden ist ist es praktisch für den "normalen" Linux Nutzer praktisch nicht mehr vorhanden, und höchstens aus sekundär repositories zu laden sein. Spätestens wenn die LibC ABI kompatibilität bricht (und die LibC ist leider nicht sonderlich ABI stabil), ist der Aufwand zum nachinstallieren im grunde nicht mehr tragbar für die Endnutzer.

Natürlich könnte man das mit Containerization (Snap, flatpack, etc.) versuchen zu umgehen, aber Linux systeme sind einfach (im gegensatz zu windows) für gewöhnlich nicht auf ewigen support von Uraltanwendungen ausgelegt.

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Lazarus-Gtk oer -Qt?

Beitrag von hum4n0id3 »

Warf hat geschrieben:
Mo 31. Okt 2022, 15:11
Oder machs einfach wie ich, bau nur kostenlose oder OpenSource Projekte, dann kannst du machen was du willst :)
Soweit ich es weiß ist dem nicht so. Du haftest für deine "Geschenke" wenn du diese öffentlich anbietest und kannst haftbar gemacht werden, wenn dir "böser vorsatz" nachgewiesen wird.

Wie die Open Source Lage in USA ist, weiß ich nicht.

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Lazarus-Gtk oer -Qt?

Beitrag von hum4n0id3 »

hum4n0id3 hat geschrieben:
Di 1. Nov 2022, 13:10
Warf hat geschrieben:
Mo 31. Okt 2022, 15:11
Oder machs einfach wie ich, bau nur kostenlose oder OpenSource Projekte, dann kannst du machen was du willst :)
Soweit ich es weiß ist dem nicht so. Du haftest für deine "Geschenke" wenn du diese öffentlich anbietest und kannst haftbar gemacht werden, wenn dir "böser vorsatz" nachgewiesen wird. Hier sollte man einen Juristen konsultieren.

Wie die Open Source Lage in USA ist, weiß ich nicht.
Edit: ... falschen Icon erschwirscht. Nun muss es so bleiben... Text um Juristenkonsultation ergänzt.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Lazarus-Gtk oer -Qt?

Beitrag von Warf »

hum4n0id3 hat geschrieben:
Di 1. Nov 2022, 13:10
Soweit ich es weiß ist dem nicht so. Du haftest für deine "Geschenke" wenn du diese öffentlich anbietest und kannst haftbar gemacht werden, wenn dir "böser vorsatz" nachgewiesen wird.

Wie die Open Source Lage in USA ist, weiß ich nicht.
Böser vorsatz ist da aber schon weit hergeholt, geht hierbei ja eher um nachlässigkeit. Solang man keine falschen versprechungen macht, ist jeder selbst dafür verantwortlich welche software man verwendet. Ansonsten müssten die hersteller von software sobald diese nichtmehr maintained wird ja auch komplett entfernen, damit niemand ausversehen sie benutzt und die ersteller dann verklagt. Das ist ja auch nicht Sinn der Übung

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Lazarus-Gtk oer -Qt?

Beitrag von Winni »

hum4n0id3 hat geschrieben:
Di 1. Nov 2022, 13:10
Warf hat geschrieben:
Mo 31. Okt 2022, 15:11
Oder machs einfach wie ich, bau nur kostenlose oder OpenSource Projekte, dann kannst du machen was du willst :)
Soweit ich es weiß ist dem nicht so. Du haftest für deine "Geschenke" wenn du diese öffentlich anbietest und kannst haftbar gemacht werden, wenn dir "böser vorsatz" nachgewiesen wird.

Wie die Open Source Lage in USA ist, weiß ich nicht.
Bullshit.

Jedem Open Source Projekt liegt der juristische Text bei, der verkürzt besagt:

Wenn Du diese Software benutzt, gibt es keinerlei Gewährleistung und keinerlei Garantie, dass die Software funktioniert.

Solange Du keine Viren programmierst, kann Dir also nix passieren. Und selbst da müssen sie Dir erstmal Vorsatz nachweisen. Der philipinische Informatik-Student, der mit seinem "I love you"-Virus im Jahr 2000 das halbe Internet lahmgelegt hat, hat sich rausgeredet, er habe nur was testen wollen. Er ist nie verknackt worden.

Mal nach "Open Source", "Copyleft" und "GNU public licence" surfen. Selbst Wikipedia ist hier relativ gut.


Winni

PS.: Stell Dir mal vor, alle Firmen der Welt würden vo MicroSoft Schadenersatz verlangen, für all die Stunden, in denen Windows nicht funzte. M$ wäre pleite. In der Software gibt es keine Gewährleistung. Mal abgesehen von Medizin, Börse und Fließbändern. Aber das sind Spezialfälle.

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Lazarus-Gtk oer -Qt?

Beitrag von hum4n0id3 »

Warf hat geschrieben:
Di 1. Nov 2022, 13:18
Böser vorsatz ist da aber schon weit hergeholt, geht hierbei ja eher um nachlässigkeit. Solang man keine falschen versprechungen macht, ist jeder selbst dafür verantwortlich welche software man verwendet. Ansonsten müssten die hersteller von software sobald diese nichtmehr maintained wird ja auch komplett entfernen, damit niemand ausversehen sie benutzt und die ersteller dann verklagt. Das ist ja auch nicht Sinn der Übung
Darum mal einen Juristen konsultieren. Ich habe es auch nur von Beiträgen so aufgenommen, das bei uns die Gesetzgebung anders und strenger ist. Teile der GPL, oder anderer OS Lizenzen gilt bei uns auch nicht. War selbst erstaunt und erschrocken. Seit dem bin ich zumindest vorsichtiger geworden.

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Lazarus-Gtk oer -Qt?

Beitrag von hum4n0id3 »

Winni hat geschrieben:
Di 1. Nov 2022, 18:15
Bullshit.

Jedem Open Source Projekt liegt der juristische Text bei, der verkürzt besagt:

Wenn Du diese Software benutzt, gibt es keinerlei Gewährleistung und keinerlei Garantie, dass die Software funktioniert.
Wie gesagt. Juristen fragen.
Winni hat geschrieben:
Di 1. Nov 2022, 18:15
Solange Du keine Viren programmierst, kann Dir also nix passieren. Und selbst da müssen sie Dir erstmal Vorsatz nachweisen. Der philipinische Informatik-Student, der mit seinem "I love you"-Virus im Jahr 2000 das halbe Internet lahmgelegt hat, hat sich rausgeredet, er habe nur was testen wollen. Er ist nie verknackt worden.
Ich kann mich noch an Beispiel erinnern. Du hast ein Tool programmiert, welches Daten verarbeitet. Nebenbei werden Daten halt gelöscht und der Benutzer erfährt Datenverlust. Dafür kann man in Deutschland dann verklagt werden und die OSS Klauseln helfen dann nicht.

Ich schreibe selber Open Source. Aber nach gewissen Rechtsbeiträgen zum Thema Open Source in Europa und Deutschland, bin ich vorsichtiger geworden. GPL und Co. sind nach US-Rechtsprechung gültig und bei uns ist es halt anders. Bin kein Jurist und würde ich auch entsprechenden Fachmann fragen. Soll aber tatsächlich nicht so einfach sein.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Lazarus-Gtk oer -Qt?

Beitrag von Warf »

Dafür gibt es ja die EUPL, eine anpassung der GPL um in allen mitgliedsstaaten der EU kompatibel zu sein (und übersetzt in alle 27 Sprachen der EU). Und wie gesagt, Böser Vorsatz zu unterstellen benötigt schon eine gewisse Beweislast. Und die Benutzung veraltete Softwarekomponenten alleine reicht da Definitiv nicht aus

hum4n0id3
Beiträge: 301
Registriert: So 5. Mai 2019, 15:23

Re: Lazarus-Gtk oer -Qt?

Beitrag von hum4n0id3 »

Warf hat geschrieben:
Di 1. Nov 2022, 19:54
Und die Benutzung veraltete Softwarekomponenten alleine reicht da Definitiv nicht aus
Das weiß ich nicht. Mir ging es nur darum hinzuweisen das weder kostenlose noch Open Source vor Haftung schützen. Ich habe das früher auch gedacht. Mit der Zeit informiert man sich halt und stellt fest, das es nicht so ist.

Ich bin aber kein Jurist und weiß es nicht genau. Wollte nur hinweisen.

Antworten