Lazarus

Miscellaneous => Other => Topic started by: dbannon on July 14, 2021, 03:14:26 am

Title: Free Pascal and Lazarus packages on Debian
Post by: dbannon on July 14, 2021, 03:14:26 am
Linux - (eg) Debian Bullseye

On the topic of fppgk, the IDE has a nice tool that offers to write new fppkg.cfg files (2?). But its unusable if you are using a Distro Packaged FPC because the ($%#!) Distro Package Maintainers insist in restructuring the FP install. The tool in the Lazarus IDE appears to look for particular FP directory structures that do exist if you do a SourceForge   deb install or an install from a Tarball but the distros change all that and put things where they think is a good idea.

Seems we have several options -

1) Go back to Debian and say that you have packaged FPC wrongly. Bullseye is in late freeze, quite certain they will not change it at this late stage.

2) Make the fppkg aware of the "alternative" structure ?

3) We just tell people "please don't use the distro packages of FPC, ever". This makes sense in an number of other aspects too, the directory changes make building cross compilers difficult, and they don't always bundle everything in one install (ie, choose GTK or QT5). The standard FPC Bullseye install right now leaves out the RTL and does not depend on gdb. Sigh ...

Davo
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on July 15, 2021, 09:57:01 am
Linux - (eg) Debian Bullseye

On the topic of fppgk, the IDE has a nice tool that offers to write new fppkg.cfg files (2?). But its unusable if you are using a Distro Packaged FPC because the ($%#!) Distro Package Maintainers insist in restructuring the FP install. The tool in the Lazarus IDE appears to look for particular FP directory structures that do exist if you do a SourceForge   deb install or an install from a Tarball but the distros change all that and put things where they think is a good idea.

Seems we have several options -

1) Go back to Debian and say that you have packaged FPC wrongly. Bullseye is in late freeze, quite certain they will not change it at this late stage.

2) Make the fppkg aware of the "alternative" structure ?

3) We just tell people "please don't use the distro packages of FPC, ever". This makes sense in an number of other aspects too, the directory changes make building cross compilers difficult, and they don't always bundle everything in one install (ie, choose GTK or QT5). The standard FPC Bullseye install right now leaves out the RTL and does not depend on gdb. Sigh ...

Davo
Dear Davo,

As you already know: being a Debian maintainer is a time consuming hard voluntary task done by volunteers that usually are not programmers.

Free Pascal and Lazarus directory structure and tools are neither intuitive nor easy to understand even for experienced professional programmers that are not core developers of Free Pascal and/or Lazarus.

Please, consider that there are core developers that contribute to only Free Pascal and others to only Lazarus and they rarely contribute to both because it's hard and time consuming to learn all that.

Also consider that Debian has its own logic to be built and to work in the same way as Free Pascal and Lazarus do.

And finally, consider that if it would be easy to build a compiler or an IDE, we would have thousands of core developers contributing to Free Pascal and/or Lazarus.

So, please, be more kind and respectful to Debian volunteers that had to learn how Debian, Free Pascal and Lazarus work internally to freely offer them to a community that demands them and usually doesn't have the ability to put all the pieces together.

That said, you can easily reach all the noble people involved in maintaining Debian packages related to Free Pascal and Lazarus to gracefully help them out:
Pascal Packaging Team, Abou Al Montacir, Paul Gevers, Peter Michael Green
https://packages.qa.debian.org/f/fpc.html
https://packages.qa.debian.org/l/lazarus.html
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: dbannon on July 16, 2021, 06:47:36 am
......But its unusable if you are using a Distro Packaged FPC because the ($%#!) Distro Package Maintainers insist in restructuring the FP install.
......
....
So, please, be more kind and respectful to Debian voluntiers that had to learn how Debian, Free Pascal and Lazarus work internally to freely offer them to a community that demands them and usually doesn't have the ability to put all the pieces toghether.
....

Valdir, I accept you gentle smack on the hand and agree that overall, the Debian project is both very valuable and incredibly big !  So, I withdraw totally my silly ($%#!). But, while what you say is true but it does not alter the situation. The way that FPC and Lazarus are packaged in Debian does make an introduction to FPC/Lazarus very hard for new comers.

Because the Debian version conflicts with the advice we give those new comers in the Forum and Wiki, we need to decide, collectively how to minimize the confusion.  And thats why I wrote the initial post. Its too late to get the FPC/Lazarus debs changed, even if they were willing to change their model. So, we need to either change Lazarus to accommodate the Debian model or agree that we will tell every new comer that they should not use the Debian packages, ever. Both are a big call !

Incidentally, I maintain a Lazarus app in Debian and have had lots of very willing help from the people there.

Davo
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on July 18, 2021, 02:35:03 am
......But its unusable if you are using a Distro Packaged FPC because the ($%#!) Distro Package Maintainers insist in restructuring the FP install.
......
....
So, please, be more kind and respectful to Debian volunteers that had to learn how Debian, Free Pascal and Lazarus work internally to freely offer them to a community that demands them and usually doesn't have the ability to put all the pieces together.
....
Valdir, I accept you gentle smack on the hand and agree that overall, the Debian project is both very valuable and incredibly big !  So, I withdraw totally my silly ($%#!). But, while what you say is true but it does not alter the situation. The way that FPC and Lazarus are packaged in Debian does make an introduction to FPC/Lazarus very hard for new comers.

Because the Debian version conflicts with the advice we give those new comers in the Forum and Wiki, we need to decide, collectively how to minimize the confusion.  And thats why I wrote the initial post. Its too late to get the FPC/Lazarus debs changed, even if they were willing to change their model. So, we need to either change Lazarus to accommodate the Debian model or agree that we will tell every new comer that they should not use the Debian packages, ever. Both are a big call !

Incidentally, I maintain a Lazarus app in Debian and have had lots of very willing help from the people there.

Davo
Davo, thanks for understanding.

I am striving to offer a new packaging proposal for Free Pascal and Lazarus in Debian.

I am looking for a balance between the Free Pascal and Debian philosophies as it is not possible to fully please both.

https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20amd64%20DEB/

https://packages.qa.debian.org/f/fpc.html
https://packages.qa.debian.org/l/lazarus.html

https://packages.debian.org/search?searchon=contents&keywords=fpc&mode=path&suite=stable&arch=any
https://packages.debian.org/search?searchon=contents&keywords=pascal&mode=path&suite=stable&arch=any

There are many challenges to be solved to build this great Lego.

My current idea is to start with a basic stable package for Free Pascal, for example 3.4.0 or 3.2.2 or 3.0.4, which could only be updated via apt-get. This package would allow you to compile other things that would come later.

A dev package would come next for Free Pascal Fixes and another dev package for Trunk with the possibility to change the source code and recompile it using the stable package. It could even be uninstalled and reinstalled to start over from scratch. This would allow core developers to work easily with Debian.

Then there would be more packages related to Free Pascal, like source code or text editor, and not exactly related to Lazarus.

The SVN, GIT, GDB and FPDebug etc packages would be separated and optional.

Lazarus would be split into a group of packages without the limited [in the sense of impossibility of recompiling itself] Free Pascal built-in in the current Lazarus model offering the possibility of adding easily more versions of Free Pascal via apt-get.

It's a lot of work for the next years.


Because the Debian version conflicts with the advice we give those new comers in the Forum and Wiki, we need to decide, collectively how to minimize the confusion.
And thats why I wrote the initial post. Its too late to get the FPC/Lazarus debs changed, even if they were willing to change their model.
So, we need to either change Lazarus to accommodate the Debian model or agree that we will tell every new comer that they should not use the Debian packages, ever.
Both are a big call !
First, we need to separate the vast majority programmers that uses Free Pascal and Lazarus to only produce software and the few people that are core developers building Free Pascal, Lazarus, libraries or components.

Those two audiences have different needs.

Even though I don't see Free Pascal and Lazarus models [directory tree and binaries] as intuitive, I don't believe they will ever change. So, obviously, the Debian packages would difficultly comply with that.

Similar to that, Debian people - me included - have their own ecosystem. They have learned and are used to the way things work on Debian and expect that behavior.

So, my idea is to build something between those two worlds, starting from prioritizing the bigger audience.

One important future feature is that Lazarus needs to build itself smoothly in Debian and this is currently over complicated.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: dbannon on July 18, 2021, 05:40:00 am
OK Valdir, I think we agree on a lot of things.

I, personally use a compiler from tarball and Lazarus from source but recognise that lots of user do need to start out on a Distro versions.  I believe that being able to build Lazarus from source should should be practicable when using the distro FPC. It used to be easy but not any more.

I would be very happy to work with you in achieving that if you think that would useful.

Another issue is cross compilers, again, changes made to (Debian) Distro version of FPC prevent making a cross compiler, at least in the way we are familiar with.  I am currently rewriting the Wiki page on that subject after helping a person who followed the old instructions but started out with Distro FPC, then got lost in an over edit page !

I suspect cross compiling is a bridge too far away however, if we can just get Lazarus easy build-able, it would be a win.

Anyway, we are way, way, off topic in this thread. Happy to continue on a new thread if you desire.

Davo
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on July 19, 2021, 09:28:52 pm
As suggested by Davo (@dbannon), the idea of this topic is to discuss Free Pascal and Lazarus packages on Debian.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: ChrisR on July 19, 2021, 09:47:57 pm
I do think this is an important topic. Improving Debian integration would help.

For one small specific issue: I know that dbannon has been championing this, but one area where things could be improved is the support for the Lazarus QT5 widgetset. Briefly, Lazarus can target GTK2, GTK3 or QT5. GTK2 is end of life, the Lazarus GTK3 support is improving but still not great (and GTK3 has some regressions versus GTK2 that make it unsuitable for many tasks, like lack of legacy OpenGL support, and the fact that it is unable to support multi-sampling for OpenGL Core). The QT5 widgets is mature, but requires the user to install libqt5pas. However, the Debian versions of this library are out of date, and this causes users confusion:
  https://www.nitrc.org/forum/message.php?msg_id=32480
at the moment, users need to get this version
  https://github.com/davidbannon/libqt5pas/releases
Perhaps Shannon can clarify, perhaps with the release of the upcoming Lazarus 2.2, we can coordinate Debian to include this updated library.

While I am not an expert in either Lazarus or Debian, it seems like someone should outline the Debian way for application and library paths, and compare this to the default FPC/Lazarus behavior. That might lead to some discussions regarding how to move forward.

Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on July 19, 2021, 10:18:30 pm
OK Valdir, I think we agree on a lot of things.

I, personally use a compiler from tarball and Lazarus from source but recognise that lots of user do need to start out on a Distro versions.  I believe that being able to build Lazarus from source should should be practicable when using the distro FPC. It used to be easy but not any more.

I would be very happy to work with you in achieving that if you think that would useful.

Another issue is cross compilers, again, changes made to (Debian) Distro version of FPC prevent making a cross compiler, at least in the way we are familiar with.  I am currently rewriting the Wiki page on that subject after helping a person who followed the old instructions but started out with Distro FPC, then got lost in an over edit page !

I suspect cross compiling is a bridge too far away however, if we can just get Lazarus easy build-able, it would be a win.

Anyway, we are way, way, off topic in this thread. Happy to continue on a new thread if you desire.

Davo
Davo, I can work on this project only on my little spare time and this large task will take years to be fullfiled.

If you and others can contribute, we can accelerate things a bit more.

Cross-compiling people is a third - even more complex - audience I am not familiar with since I do that job using VMs and CI/CD.

If you don't mind, we should start by revisiting the Free Pascal debs files on Sourceforge and Debian fpc packages and its lots of dependencies:
https://packages.qa.debian.org/f/fpc.html

First thing is to offer more compiler options, including the recently retired ones:
fpc-3.4-trunk
fpc-3.4-fixes
fpc-3.4.0
fpc-3.2-trunk
fpc-3.2-fixes
fpc-3.2.4
fpc-3.2.2 [default today]
fpc-3.2.0
fpc-3.0.4
fpc-3.0.2
fpc-3.0.0
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on July 19, 2021, 11:00:22 pm
I do think this is an important topic. Improving Debian integration would help.
@ChrisR
I think you have missed the point here and you have been rude.
If you didn't understand it yet, I will explain it again for you: this is a volunteer project. If you want something done, you should do it or pay for it.
If you can't do or pay for, you should - at least - be polite and patient in requesting it to someone else.


Quote
For one small specific issue: I know that dbannon has been championing this, but one area where things could be improved is the support for the Lazarus QT5 widgetset. Briefly, Lazarus can target GTK2, GTK3 or QT5. GTK2 is end of life, the Lazarus GTK3 support is improving but still not great (and GTK3 has some regressions versus GTK2 that make it unsuitable for many tasks, like lack of legacy OpenGL support, and the fact that it is unable to support multi-sampling for OpenGL Core). The QT5 widgets is mature, but requires the user to install libqt5pas. However, the Debian versions of this library are out of date, and this causes users confusion:
  https://www.nitrc.org/forum/message.php?msg_id=32480
at the moment, users need to get this version
  https://github.com/davidbannon/libqt5pas/releases
Perhaps Shannon can clarify, perhaps with the release of the upcoming Lazarus 2.2, we can coordinate Debian to include this updated library.
First of all, I still don't use QT on Linux.
I use GTK, Enlightenment and Moksha:
https://www.gtk.org/
https://www.enlightenment.org/
https://www.bodhilinux.com/moksha-desktop/
https://github.com/JeffHoogland/moksha

Even though I agree with you about GTK3 and GTK4, it will take some time until I have time to learn what is needed to help there.

Although I can understand your needs on QT5, my priorities - as you can see - are different than yours.

Quote
While I am not an expert in either Lazarus or Debian, it seems like someone should outline the Debian way for application and library paths, and compare this to the default FPC/Lazarus behavior.
That might lead to some discussions regarding how to move forward.
Since GTK3, GTK4, and QT5 integration to LCL suffers from lack of developers and you are also saying that is an important matter, my suggestion is that you learn that subject to be helpful and get things done.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: dbannon on July 20, 2021, 04:00:54 am
@ChrisR
I think you have missed the point here

I feel that Chris is being quite polite and positive with his suggestions. When we discuss things, we need to be able to point out problems as we see them, we won't get anything done if we have things that we are not allowed to say.  (We do need to recognise that some cultures can be more frank and forthright that others but as long as the intention is not to offend, I try and understand that.)

Quote
.....The QT5 widgets is mature, but requires the user to install libqt5pas. However, the Debian versions of this library are out of date, and this causes users confusion:

Chris, The commit to Qt5 widset that triggered that problem has been reversed but that event sure flags an issue that will almost certainly pop up again. I believe we have a problem with version numbering with libqt5pas1, if we had a clear release and number model, it would be easy to convience Distro Packagers to confirm to it. Distro Packagers love version number !  At present, the 'working' version of libqt5pas1 might be only the one in Lazarus trunk. But there is no way Distro Packagers will take code from a trunk. Sensible ! 

I established that github clone of libqt5pas1 to try and separate it from Lazarus trunk and stamp a sequential version number but that did not, apparently, work.  This is probably a separate issue, maybe needs to be in a separate thread.

Quote
First of all, I still don't use QT on Linux.
I use GTK, Enlightenment and Moksha:

valdir, from memory (I don't have a viable Enlightenment VM at the moment) E can use the Qt widget set too. One of the people that help me with tomboy-ng is  big fan of E, always trying to convert me.  I find it too complicated ....

When I was asked to package tomboy-ng for Debian, they told me that new GTK2 apps were not welcome, the only option was Qt5 (that later changed in a complicated story). Right now, there seems to be quite a lot of progress in GTK3 but sadly, still a long way the go. So, really, any new app trying to get into the Debian repo needs to be Qt5. So, we have our work cut out for use !

Quote
Since GTK3, GTK4, and QT5 integration to LCL suffers from lack of developers and you are also saying that is an important matter, my suggestion is that you learn that subject to be helpful and get things done.

yep, that applies to us all !  Incidentally, Chris was very helpful in facilitating some of the work involved in adapting to the "Apple Silicon".

The big issue in Debian packaging is they have a policy of breaking things down to small modules to enable reuse.  And that makes very good sense most of the time. However, with FPC/Lazarus there is little or no 'cross use', very few other tools can use LCL for example and the IDE is really Pascal (probably FPC) only.  But a mob like Debian absolutely has to have rules and must, as much as possible stick to them. Its the only way a project like that can work.

Our standard install of FPC for example puts executable binaries under /usr/lib/fpc..., we then symlink it to /usr/bin.  In the debian install, when you call fpc, you get /usr/bin/fpc which is a symlink to /etc/alternatives/fpc that is a symlink to /usr/bin/x86_64-linux-gnu-fpc

That works fine for a fpc user who just wants to build native apps, we could, with some effort, write instructions to use the Debian model to make a cross compiler. Should we ?

The debian model does not work for 'our' Lazarus built, for example from source. Again, the problem is just that Lazarus does not recognise where things are, it could be made to work, again, should we do that ?

Things to do -

I am very happy to spend some time documenting the differences between how Debain package FPC/Lazarus compared to 'our' SourceForge model.  That may help us decide if there is sufficient common ground to work towards a compromise.  I do, however feel it may be too hard ...

I recently re-wrote the instructions to cross compile from Linux ot Windows, at the top I now say, very clearly, "Do not use a Repo version of FPC to do this" - that may well be our only long term solution.



Davo




Title: Re: Free Pascal and Lazarus packages on Debian
Post by: RememberTP on August 11, 2021, 02:04:15 pm
One thing that would help move people off repo versions would be if there was a trivial way to check for updates in fpc / Lazarus and install them if any are available. Using git and compiling the source doesn't count! Fpcupdeluxe is an attempt at this, but still an extra layer of faff, had to be updated itself via checking to cope with the move to git, and still involves compiling the source.

At the moment, I think you need to manually visit two websites, see if there are any, be taken to Sourceforge if so, currently wonder if fpc 3.2.2 is compatible with Lazarus which is offering fpc 3.2.0-x, download one to three .debs and install them.

That's more of a pain than just having it occur as part of the automatic daily apt-get update / upgrade.

Would a first step be having a Lazarus repository available rather than just .deb files?
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: dbannon on August 11, 2021, 03:42:40 pm
RememberTP, its actually a lot easier than you think !  Firstly, FPC changes very slowly and its unlikely that you will be updating FPC in any 12 month period.

Lazarus on the other hand, does change and if you are using trunk you can be pretty sure 'something' has changed each day !  But you really do not need to track that unless you choose to do so. If you stick to Lazarus releases, its, not more than twice a year ???  And lots of noise on the forum when its about to happen. So, no checking needed !

( I personally believe that building from git src is not really any harder than the deb packages. Its just two short commands and no websites to visit (once setup).  And makes for a lot more flexible install. )

Actually, few developers like their compiling tools to auto update, while incompatibilities are rare with FPC/Lazarus, it something developers like to determine the timing themselves.

Are you likely to want to be using trunk versions of either Lazarus or FPC, that may increase to workload if done frequently ?

Davo





 
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: RememberTP on August 12, 2021, 11:41:17 am
If I wanted bleeding edge, I wouldn't be using a Debian-based distro :)

But it is annoying when I have had a problem that turned out to be fixed in a minor update that I hadn't seen.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: trev on August 12, 2021, 12:24:35 pm
If I wanted bleeding edge, I wouldn't be using a Debian-based distro :)

Apart from releases and the development version, there's also the "fixes" versions of both Lazarus + FPC which could be compared to "stable" releases - they get fixes for issues in the release versions faster than the subsequent release versions and could not be considered "bleeding edge" like the development versions.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on August 18, 2021, 05:33:48 am
@ChrisR
I think you have missed the point here
I feel that Chris is being quite polite and positive with his suggestions.
I don't agree, but I'll move on.

Quote
When we discuss things, we need to be able to point out problems as we see them, we won't get anything done if we have things that we are not allowed to say.  (We do need to recognise that some cultures can be more frank and forthright that others but as long as the intention is not to offend, I try and understand that.)
I agree.

Quote
Quote
.....The QT5 widgets is mature, but requires the user to install libqt5pas. However, the Debian versions of this library are out of date, and this causes users confusion:
Chris, The commit to Qt5 widset that triggered that problem has been reversed but that event sure flags an issue that will almost certainly pop up again. I believe we have a problem with version numbering with libqt5pas1, if we had a clear release and number model, it would be easy to convience Distro Packagers to confirm to it. Distro Packagers love version number !  At present, the 'working' version of libqt5pas1 might be only the one in Lazarus trunk. But there is no way Distro Packagers will take code from a trunk. Sensible ! 

I established that github clone of libqt5pas1 to try and separate it from Lazarus trunk and stamp a sequential version number but that did not, apparently, work.  This is probably a separate issue, maybe needs to be in a separate thread.
I agree.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on August 18, 2021, 06:03:10 am
First of all, I still don't use QT on Linux.
I use GTK, Enlightenment and Moksha:
valdir, from memory (I don't have a viable Enlightenment VM at the moment) E can use the Qt widget set too. One of the people that help me with tomboy-ng is  big fan of E, always trying to convert me.  I find it too complicated ....

When I was asked to package tomboy-ng for Debian, they told me that new GTK2 apps were not welcome, the only option was Qt5 (that later changed in a complicated story). Right now, there seems to be quite a lot of progress in GTK3 but sadly, still a long way the go. So, really, any new app trying to get into the Debian repo needs to be Qt5. So, we have our work cut out for use !
Qt demands buying commercial license for commercial applications:
--------
"Qt for Application Development is dual-licensed under commercial and open source licenses. The commercial Qt license gives you the full rights to create and distribute software on your own terms without any open source license obligations. With the commercial license you also have access to the official Qt Support and close strategic relationship with The Qt Company to make sure your development goals are met.
Qt for Application Development is also available under GPL and LGPLv3 open source licenses. Qt tools and some libraries are only available under GPL. See the comparison chart for details. The Qt open source licensing is ideal for use cases such as open source projects with open source distribution, student/academic purposes, hobby projects, internal research projects without external distribution, or other projects where all (L)GPL obligations can be met."
https://www.qt.io/licensing/
----------

This is a no go to me.

About Enlightenment and Moksha: old personal habits die hard...
But I use GTK on my work.

About Debian packages, we can work on building Lazarus using both Qt and GTK.
I believe that GTK3 support will be ready before we finish our job on refacoring Lazarus packages on Debian.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: avra on August 18, 2021, 08:42:52 am
Qt demands buying commercial license for commercial applications
This is not true. You can develop commercial and closed source proprietary software with QT LGPL3 if you comply with the license terms. I know they have made their best to hide that info, but it can be found and it was made in such a way to scare businesses to play on the safe side and make them pay to avoid the risk. I am not a lawyer and this is not a legal advice, but reading the following it is very clear:

At https://www.qt.io/faq/tag/qt-open-source-licensing?hsLang=en you can find this:
https://www.qt.io/faq/3.5.-can-i-use-the-community-open-source-version-to-develop-my-commercial-product
Quote
Q: Can I use the Community open source version to develop my commercial product?
A: It depends on how you license and distribute your product. The open source version of Qt is mainly distributed under the LGPL, version 3 and GPLv2/v3. You will need to fulfill the license obligations for these licenses when using Qt in your product.

https://www.qt.io/faq/3.7.-what-are-my-obligations-when-using-qt-under-the-lgpl
Quote
Q: What are my obligations when using Qt under the LGPL?
A: If you are using Qt under the LGPLv3, there are a couple of obligations you will need to fulfill :

Firstly, you have to note that some Qt open source modules are not available for LGPLv3 license, for example Qt Charts, Qt Data Visualization and Qt Virtual Keyboard. These modules are only available under GPLv3 for open source usage.
You will need to deliver the complete source code of Qt (including all modifications you did or applied) to your users/customers. Alternatively you need to provide a written offer with instructions on how to get the source code. Please also note that this has to be under your control, so a link to the source code provided by the Qt Project or Qt Company is not sufficient.
The LGPL allows you to keep the source code of your application private as long as it is “work that uses” the library. Dynamic linking is usually recommended here.
The user of your application has to be able to re-link your application against a different or modified version of the Qt library. With LGPLv3 it is also explicitly stated that the user needs to be able to run the re-linked binary on it’s intended target device. It is your obligation to provide the user with all necessary tools to enable this process. For embedded devices, this includes making the full toolchain used to compile the library available to users. For parts licensed under LGPLv3 you are obliged to provide full instructions on how to install the modified library on the target device (this is not clearly stated with LGPLv2.1, although running the application against the modified version of the library clearly is the stated intention of the license).
The user of an application or device using LGPL licensed software has to be notified of their rights by providing a copy of the LGPL license to the end user and displaying a prominent notice about your usage of LGPL licensed software.
The above freedoms cannot in any way be restricted by other licensing terms. If an application is not fully following all the obligations as outlined above, it is not allowed to be distributed at all.

You will also need to make sure that you are not using any GPL licensed modules.

https://www.qt.io/faq/3.12.-is-it-possible-to-distribute-applications-developed-with-open-source-version-of-qt-via-public-application-stores
Quote
Q: Is it possible to distribute applications developed with open source version of Qt via public application stores?
A: Each application store has their own unique terms and conditions, which may or may not be compatible with distributing applications under LGPL or GPL licenses.

The commercial license of Qt is compatible with the terms and conditions of all the leading application stores and thus typically the best choice for distributing a closed source application in various application stores.

https://www.qt.io/licensing/open-source-lgpl-obligations
Quote
Developing with LGPL
These four degrees of freedom are very important for the success of the open-source Qt Project, and it is important that all users of Qt under LGPL adhere to these and fully meet all the requirements set by the LGPL. It is recommended that a thorough legal analysis is conducted when choosing to use any open-source licenses. In many cases, the LGPL is a viable solution to use, but it is important that the freedoms of the LGPL are not restricted from the user of an application or device using an LGPL library such as Qt, which may be difficult to achieve in some use cases. For such cases the commercial licensing option is typically a better choice. The following requirements should be fulfilled when, for example, creating an application or a device with Qt using the LGPL:

Complete corresponding source code of the library used with the application or the device built using LGPL, including all modifications to the library, should be delivered with the application (or alternatively provide a written offer with instructions on how to get the source code). It should be noted that the complete corresponding source code has to be delivered even if the library has not been modified at all.
In case of dynamic linking, it is possible, but not mandatory, to keep application source code proprietary as long as it is “work that uses the library” – typically achieved via dynamic linking of the library. In case of static linking of the library, the application itself may no longer be “work that uses the library” and thus become subject to LGPL. It is recommended to either link dynamically, or provide the application source code to the user under LGPL.
The user is allowed to change and re-link the library used in the application or device – including reverse engineering. With LGPLv3 it is explicitly stated that the user also needs to be able to run the re-linked binary, and that sufficient installation information must be provided. In practice, this forbids the creation of closed devices, also known as tivoization.
If the application or device is not fully following all requirements of the LGPL, it is not allowed to be distributed at all. This includes, for example, possible patent license restricting distribution of the application in which case there is no right to distribute.
The freedoms provided by the LGPL license cannot be in any way negotiated upon or restricted from any of the recipients – i.e. it is not possible to make such terms for an application or a device using the LGPL library that would in any way restrict the rights provided by the LGPL. For example some means of distribution, such as online application stores, may have rules that are in conflict with LGPL, in which case those cannot be used with the LGPL licensing option of Qt.
The user of an application or device created with LGPL library has to be notified of their rights by providing a copy of the LGPL license text to the user and displaying a prominent notice about using the LGPL library – i.e. it is not allowed to hide the fact the LGPL library is used.
The LGPLv3 doesn’t forbid anyone from implementing any kind of DRM technology. However, if someone breaks the DRM, the license says that he will be free to distribute his software. For more details, see the (L)GPLv3 license FAQ.
The LGPLv3 contains explicit patent clauses in order to prevent people from trying to enforce patent claims against other licensees of the open source libraries. The clauses are rather complex but extremely relevant especially for larger corporations with software patents. So, it is always recommended to go through the patent clauses carefully with a legal counsel to make sure this would not be an issue if deciding to use LGPLv3. For more information and details, please see the (L)GPLv3 FAQ.
This is not a complete list of LGPL requirements – please refer to the LGPL for complete list of requirements – it is always recommended to contact an experienced legal counsel to clarify detailed licensing suitability. Please note that The Qt Company does not offer legal guidance on whether or not a certain license is suited for your need, or if your application or device meets the LGPL requirements. In case there is any doubt whether or not the requirements of LGPL can be met in full, the commercial licensing option of Qt is often the best choice.
Quote
The Fine Print — Exceptions
The Qt Company has made the following exceptions from LGPL licensing:

Third party software already included in Qt is governed by the separate Open Source license terms under which the third party software has been distributed. All third party software is listed in the documentation, along with their licensing terms. For example, here you can find list of third party licenses used in Qt.
Libraries that must be statically linked, such as the QtMain Library (QaX Server, QaX Container) have been licensed under a BSD-style license.
Application code as part of examples, which can be used by Qt contributors in the application creation is generally licensed under a BSD-style license
Documentation is licensed under the GNU Free Documentation License

https://doc.qt.io/qt-5/qtgui-index.html
Quote
Licenses and Attributions
Qt GUI is available under commercial licenses from The Qt Company. In addition, it is available under free software licenses. Since Qt 5.4, these free software licenses are GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.

Furthermore, Qt GUI in Qt 5.15.5 may contain third-party modules under following permissive licenses:
...

List of QT framework essentials and add ons compatible with LGPL3:
https://www.qt.io/product/features#js-6-3

This is quick summary of LGPL 3.0 from https://tldrlegal.com/license/gnu-lesser-general-public-license-v3-(lgpl-3) (https://tldrlegal.com/license/gnu-lesser-general-public-license-v3-(lgpl-3)):
Quote
This license is mainly applied to libraries. You may copy, distribute and modify the software provided that modifications are described and licensed for free under LGPL. Derivatives works (including modifications or anything statically linked to the library) can only be redistributed under LGPL, but applications that use the library don't have to be.

If I remember well, the only serious drawback of using QT under LGPL3 license on Windows for commercial applications was that only QT paying customers were allowed to distribute LTS prebuilt binaries and offline installer: https://www.qt.io/blog/qt-offering-changes-2020. It can be solved by building your own DLLs and distributing them instead.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: DonAlfredo on August 18, 2021, 09:47:32 am
Fpcupdeluxe might be of help.
It has a QT5 version that will install FPC and Lazarus together with a bit of smart linking.
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases/download/v2.0.1b/fpcupdeluxe-x86_64-linux-qt5.zip

And an install script for the needed extra packages.
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/blob/master/installscripts/debian_x86-64.sh
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: dbannon on August 18, 2021, 10:53:03 am
.....
Qt demands buying commercial license for commercial applications:

Yes, but the discussion is about Debian Packaging, anything that goes into Debian is definitely not encumbered by a commercial restrictions. Debian does more, IMHO than any other operation to ensure they don't step over any licensing line. For example, you could use the QT5 version of the IDE to make commercial GTK2 applications (no, I don't know why you would want to, but you could)

Quote from: valdir.marcos
This is a no go to me.

Possibly (but read avra's writing) but not for a good proportion of Debian users. My point was that if you are writing a new app now and want it in the Debian Repository, it needs to be a QT app, not GTK2 one. While that will change as GTK3 matures, it where we are now.

Quote from: valdir.marcos
About Enlightenment and Moksha: old personal habits die hard...

Yeah ! I sure agree. I use a Mate desktop because its like the desktop I used 20 years ago !  And I love it !

Quote from: valdir.marcos
About Debian packages, we can work on building Lazarus using both Qt and GTK.
I believe that GTK3 support will be ready before we finish our job on refactoring Lazarus packages on Debian.

Thats an interesting statement. Are you saying we are close to completing GTK3 or are you saying we are a very long way from refactoring Lazarus Debian packages ?  (thats a joke by the way).

On the topic of refactoring Lazarus, perhaps a useful question to ask is "does anyone find the Debian approach preferable" ?  That particularly applies to the model of presenting Lazarus as six or eight packages, the IDE, GTK2LCL, GTK3LCL, QT5LCL etc ?  In practice, in my personal experience, that does not help in any way. I have never found a situation where I wanted just one or two of those packages. (But I did stop using Debian packages quite early in my "Lazarus career".) If we could speak on behalf of a significant proportion of Linux Lazarus users who all say "keep it together man!" maybe we could make some progress ?

Davo

Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on August 18, 2021, 01:32:33 pm
Quote
Quote
Since GTK3, GTK4, and QT5 integration to LCL suffers from lack of developers and you are also saying that is an important matter, my suggestion is that you learn that subject to be helpful and get things done.
yep, that applies to us all !  Incidentally, Chris was very helpful in facilitating some of the work involved in adapting to the "Apple Silicon".

The big issue in Debian packaging is they have a policy of breaking things down to small modules to enable reuse.  And that makes very good sense most of the time. However, with FPC/Lazarus there is little or no 'cross use', very few other tools can use LCL for example and the IDE is really Pascal (probably FPC) only.  But a mob like Debian absolutely has to have rules and must, as much as possible stick to them. Its the only way a project like that can work.

Our standard install of FPC for example puts executable binaries under /usr/lib/fpc..., we then symlink it to /usr/bin.  In the debian install, when you call fpc, you get /usr/bin/fpc which is a symlink to /etc/alternatives/fpc that is a symlink to /usr/bin/x86_64-linux-gnu-fpc

That works fine for a fpc user who just wants to build native apps, we could, with some effort, write instructions to use the Debian model to make a cross compiler. Should we ?

The debian model does not work for 'our' Lazarus built, for example from source. Again, the problem is just that Lazarus does not recognise where things are, it could be made to work, again, should we do that ?

Things to do -

I am very happy to spend some time documenting the differences between how Debain package FPC/Lazarus compared to 'our' SourceForge model.  That may help us decide if there is sufficient common ground to work towards a compromise.  I do, however feel it may be too hard ...

I recently re-wrote the instructions to cross compile from Linux ot Windows, at the top I now say, very clearly, "Do not use a Repo version of FPC to do this" - that may well be our only long term solution.

Davo
I am still managing on Gitlab timeouts.
Convertion of FPC from svn/mantis to Gitlab has been completed. [August 09, 2021, 07:29:46 am]
https://forum.lazarus.freepascal.org/index.php/topic,55750.0.html

First:
1. We need an explanation and guide on how to install stable Free Pascal from Gitlab sources on a clean Debian 11 Bullseye [just released in 14/08/2021] similar to https://wiki.freepascal.org/Installing_the_Free_Pascal_Compiler;
2. Same for fixes Free Pascal on a secondary directory;
3. Same for trunk Free Pascal on a tertiary directory;
4. last one is cross-compilling.

Then, same for Lazarus from sources.

Afterwards, we need to strip down and understand how to install from he three simple huge DEB files:
fpc-laz_3.2.2-210709_amd64.deb   2021-07-09   39.3 MB
fpc-src_3.2.2-210709_amd64.deb   2021-07-09   30.6 MB
lazarus-project_2.2.0RC1-0_amd64.deb   2021-07-09   121.9 MB
https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20amd64%20DEB/Lazarus%202.2RC1/

Only after understanding and documenting all that, we can start working on new Free Pascal and Lazarus Debian packages.

Extra information:
https://wiki.freepascal.org/Installing_Lazarus
https://wiki.freepascal.org/Installing_Lazarus_on_Linux
https://wiki.freepascal.org/Multiple_Lazarus
https://wiki.lazarus.freepascal.org/Install_on_Ubuntu_from_.deb_files

https://stackoverflow.com/questions/48003652/lazarus-link-failed-on-linux-mint-18-3-cinnamon
https://www.edivaldobrito.com.br/como-instalar-ide-lazarus-1-2-4-ubuntu/
http://pgopher.chm.bris.ac.uk/Help/compiling.htm
https://lazarus.lazarus.freepascal.narkive.com/qbwoiFLO/wiki-instructions-for-installing-fpc-trunk
https://github.com/LongDirtyAnimAlf/fpcupdeluxe
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on August 18, 2021, 01:36:40 pm
Qt demands buying commercial license for commercial applications
This is not true. You can develop commercial and closed source proprietary software with QT LGPL3 if you comply with the license terms. I know they have made their best to hide that info, but it can be found and it was made in such a way to scare businesses to play on the safe side and make them pay to avoid the risk. I am not a lawyer and this is not a legal advice, but reading the following it is very clear:

At https://www.qt.io/faq/tag/qt-open-source-licensing?hsLang=en you can find this:
https://www.qt.io/faq/3.5.-can-i-use-the-community-open-source-version-to-develop-my-commercial-product
Quote
Q: Can I use the Community open source version to develop my commercial product?
A: It depends on how you license and distribute your product. The open source version of Qt is mainly distributed under the LGPL, version 3 and GPLv2/v3. You will need to fulfill the license obligations for these licenses when using Qt in your product.

https://www.qt.io/faq/3.7.-what-are-my-obligations-when-using-qt-under-the-lgpl
Quote
Q: What are my obligations when using Qt under the LGPL?
A: If you are using Qt under the LGPLv3, there are a couple of obligations you will need to fulfill :

Firstly, you have to note that some Qt open source modules are not available for LGPLv3 license, for example Qt Charts, Qt Data Visualization and Qt Virtual Keyboard. These modules are only available under GPLv3 for open source usage.
You will need to deliver the complete source code of Qt (including all modifications you did or applied) to your users/customers. Alternatively you need to provide a written offer with instructions on how to get the source code. Please also note that this has to be under your control, so a link to the source code provided by the Qt Project or Qt Company is not sufficient.
The LGPL allows you to keep the source code of your application private as long as it is “work that uses” the library. Dynamic linking is usually recommended here.
The user of your application has to be able to re-link your application against a different or modified version of the Qt library. With LGPLv3 it is also explicitly stated that the user needs to be able to run the re-linked binary on it’s intended target device. It is your obligation to provide the user with all necessary tools to enable this process. For embedded devices, this includes making the full toolchain used to compile the library available to users. For parts licensed under LGPLv3 you are obliged to provide full instructions on how to install the modified library on the target device (this is not clearly stated with LGPLv2.1, although running the application against the modified version of the library clearly is the stated intention of the license).
The user of an application or device using LGPL licensed software has to be notified of their rights by providing a copy of the LGPL license to the end user and displaying a prominent notice about your usage of LGPL licensed software.
The above freedoms cannot in any way be restricted by other licensing terms. If an application is not fully following all the obligations as outlined above, it is not allowed to be distributed at all.

You will also need to make sure that you are not using any GPL licensed modules.

https://www.qt.io/faq/3.12.-is-it-possible-to-distribute-applications-developed-with-open-source-version-of-qt-via-public-application-stores
Quote
Q: Is it possible to distribute applications developed with open source version of Qt via public application stores?
A: Each application store has their own unique terms and conditions, which may or may not be compatible with distributing applications under LGPL or GPL licenses.

The commercial license of Qt is compatible with the terms and conditions of all the leading application stores and thus typically the best choice for distributing a closed source application in various application stores.

https://www.qt.io/licensing/open-source-lgpl-obligations
Quote
Developing with LGPL
These four degrees of freedom are very important for the success of the open-source Qt Project, and it is important that all users of Qt under LGPL adhere to these and fully meet all the requirements set by the LGPL. It is recommended that a thorough legal analysis is conducted when choosing to use any open-source licenses. In many cases, the LGPL is a viable solution to use, but it is important that the freedoms of the LGPL are not restricted from the user of an application or device using an LGPL library such as Qt, which may be difficult to achieve in some use cases. For such cases the commercial licensing option is typically a better choice. The following requirements should be fulfilled when, for example, creating an application or a device with Qt using the LGPL:

Complete corresponding source code of the library used with the application or the device built using LGPL, including all modifications to the library, should be delivered with the application (or alternatively provide a written offer with instructions on how to get the source code). It should be noted that the complete corresponding source code has to be delivered even if the library has not been modified at all.
In case of dynamic linking, it is possible, but not mandatory, to keep application source code proprietary as long as it is “work that uses the library” – typically achieved via dynamic linking of the library. In case of static linking of the library, the application itself may no longer be “work that uses the library” and thus become subject to LGPL. It is recommended to either link dynamically, or provide the application source code to the user under LGPL.
The user is allowed to change and re-link the library used in the application or device – including reverse engineering. With LGPLv3 it is explicitly stated that the user also needs to be able to run the re-linked binary, and that sufficient installation information must be provided. In practice, this forbids the creation of closed devices, also known as tivoization.
If the application or device is not fully following all requirements of the LGPL, it is not allowed to be distributed at all. This includes, for example, possible patent license restricting distribution of the application in which case there is no right to distribute.
The freedoms provided by the LGPL license cannot be in any way negotiated upon or restricted from any of the recipients – i.e. it is not possible to make such terms for an application or a device using the LGPL library that would in any way restrict the rights provided by the LGPL. For example some means of distribution, such as online application stores, may have rules that are in conflict with LGPL, in which case those cannot be used with the LGPL licensing option of Qt.
The user of an application or device created with LGPL library has to be notified of their rights by providing a copy of the LGPL license text to the user and displaying a prominent notice about using the LGPL library – i.e. it is not allowed to hide the fact the LGPL library is used.
The LGPLv3 doesn’t forbid anyone from implementing any kind of DRM technology. However, if someone breaks the DRM, the license says that he will be free to distribute his software. For more details, see the (L)GPLv3 license FAQ.
The LGPLv3 contains explicit patent clauses in order to prevent people from trying to enforce patent claims against other licensees of the open source libraries. The clauses are rather complex but extremely relevant especially for larger corporations with software patents. So, it is always recommended to go through the patent clauses carefully with a legal counsel to make sure this would not be an issue if deciding to use LGPLv3. For more information and details, please see the (L)GPLv3 FAQ.
This is not a complete list of LGPL requirements – please refer to the LGPL for complete list of requirements – it is always recommended to contact an experienced legal counsel to clarify detailed licensing suitability. Please note that The Qt Company does not offer legal guidance on whether or not a certain license is suited for your need, or if your application or device meets the LGPL requirements. In case there is any doubt whether or not the requirements of LGPL can be met in full, the commercial licensing option of Qt is often the best choice.
Quote
The Fine Print — Exceptions
The Qt Company has made the following exceptions from LGPL licensing:

Third party software already included in Qt is governed by the separate Open Source license terms under which the third party software has been distributed. All third party software is listed in the documentation, along with their licensing terms. For example, here you can find list of third party licenses used in Qt.
Libraries that must be statically linked, such as the QtMain Library (QaX Server, QaX Container) have been licensed under a BSD-style license.
Application code as part of examples, which can be used by Qt contributors in the application creation is generally licensed under a BSD-style license
Documentation is licensed under the GNU Free Documentation License

https://doc.qt.io/qt-5/qtgui-index.html
Quote
Licenses and Attributions
Qt GUI is available under commercial licenses from The Qt Company. In addition, it is available under free software licenses. Since Qt 5.4, these free software licenses are GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.

Furthermore, Qt GUI in Qt 5.15.5 may contain third-party modules under following permissive licenses:
...

List of QT framework essentials and add ons compatible with LGPL3:
https://www.qt.io/product/features#js-6-3

This is quick summary of LGPL 3.0 from https://tldrlegal.com/license/gnu-lesser-general-public-license-v3-(lgpl-3) (https://tldrlegal.com/license/gnu-lesser-general-public-license-v3-(lgpl-3)):
Quote
This license is mainly applied to libraries. You may copy, distribute and modify the software provided that modifications are described and licensed for free under LGPL. Derivatives works (including modifications or anything statically linked to the library) can only be redistributed under LGPL, but applications that use the library don't have to be.

If I remember well, the only serious drawback of using QT under LGPL3 license on Windows for commercial applications was that only QT paying customers were allowed to distribute LTS prebuilt binaries and offline installer: https://www.qt.io/blog/qt-offering-changes-2020. It can be solved by building your own DLLs and distributing them instead.
I don't use Qt and I just took information from its official site.
I dind't know about all the information you provided.
Thanks, @avra.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on August 18, 2021, 01:40:48 pm
Fpcupdeluxe might be of help.
It has a QT5 version that will install FPC and Lazarus together with a bit of smart linking.
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases/download/v2.0.1b/fpcupdeluxe-x86_64-linux-qt5.zip

And an install script for the needed extra packages.
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/blob/master/installscripts/debian_x86-64.sh
Thanks @DonAlfredo.
And special thanks for your great effort and excellent work in fpcupdeluxe.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: valdir.marcos on August 19, 2021, 01:56:08 am
.....
Qt demands buying commercial license for commercial applications:
Yes, but the discussion is about Debian Packaging, anything that goes into Debian is definitely not encumbered by a commercial restrictions. Debian does more, IMHO than any other operation to ensure they don't step over any licensing line. For example, you could use the QT5 version of the IDE to make commercial GTK2 applications (no, I don't know why you would want to, but you could)
I agree with you and said that in the final lines (= "About Debian packages, we can work on building Lazarus using both Qt and GTK.").

Quote
Quote from: valdir.marcos
This is a no go to me.
Possibly (but read avra's writing) but not for a good proportion of Debian users. My point was that if you are writing a new app now and want it in the Debian Repository, it needs to be a QT app, not GTK2 one. While that will change as GTK3 matures, it where we are now.
Refactoring Debian packages wil take years, same as Lazarus' integration to GTK3 to mature.

Quote
Quote from: valdir.marcos
About Enlightenment and Moksha: old personal habits die hard...
Yeah ! I sure agree. I use a Mate desktop because its like the desktop I used 20 years ago !  And I love it !

Quote
Quote from: valdir.marcos
About Debian packages, we can work on building Lazarus using both Qt and GTK.
I believe that GTK3 support will be ready before we finish our job on refactoring Lazarus packages on Debian.
Thats an interesting statement. Are you saying we are close to completing GTK3 or are you saying we are a very long way from refactoring Lazarus Debian packages ?  (thats a joke by the way).
Refactoring Debian packages is a huge task and it wil take years to be done, same as Lazarus' integration to GTK3 to mature.

Quote
On the topic of refactoring Lazarus, perhaps a useful question to ask is "does anyone find the Debian approach preferable" ?  That particularly applies to the model of presenting Lazarus as six or eight packages, the IDE, GTK2LCL, GTK3LCL, QT5LCL etc ?  In practice, in my personal experience, that does not help in any way. I have never found a situation where I wanted just one or two of those packages. (But I did stop using Debian packages quite early in my "Lazarus career".) If we could speak on behalf of a significant proportion of Linux Lazarus users who all say "keep it together man!" maybe we could make some progress ?

Davo
Those are difficult questions to answer now.
The best we can do is to start the process and see what happens in its way.
The fastest timeframe to have this huge job done would be the release of Debian 12 Bookworm in two years from now, but this is not likely to happen.
https://wiki.debian.org/DebianBookworm

Then, we would have to wait until Debian 13 Trixie is released in four years from now:
https://wiki.debian.org/DebianTrixie
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: prof7bit on September 25, 2021, 01:08:48 pm
I don't use Qt and I just took information from its official site.
I dind't know about all the information you provided.
Thanks, @avra.
Actually all you need to know is that it is available under LGPL.

These 4 letters alone tell you that you can link a commercial closed source application against it, no need to read all the surrounding legalize. LGPL grants a well known set of rights and all they can do with additional license texts is to grant additional rights on top of that but they can NEVER take any of the existing LGPL rights away, no matter how much they write.
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: Thaddy on September 25, 2021, 01:46:26 pm
what you need to know is lgpl with linker exception.
There is a huge difference,
Title: Re: Free Pascal and Lazarus packages on Debian
Post by: prof7bit on September 25, 2021, 02:07:07 pm
what you need to know is lgpl with linker exception.
There is a huge difference,

You mean the STATIC linking exception.

You only need the static linking exception if you want to link someone's libraries statically into your ececutable (as it is for example the case with FCL/LCL packages, they all grant the static linking exception on top of the normal LGPL because they will be baked into your binary). Otherwise (with normal LGPL) you just install their unmodified DLLs as separate files (and their LGPL license text and copyright) and link dynamically at runtime which is what the LGPL was made for (and what LibQT5Pas will do anyways).

I have not yet heard about anybody seriously trying to link the entire Qt5 framework statically into their Lazarus executable, so you end up with a 100MB .exe. It might be possible but I would not even try to do this because ONLY then you would need the commercial license which grants the static linking right.
TinyPortal © 2005-2018