Reddit post Qt license

Discuss anything related to product development
crispina
Posts: 22
Joined: Tue Nov 17 2020 2:57 pm

Reddit post Qt license

Post by crispina »

There has been a new post on Reddit regarding the Qt license entitled “The small company I work for decided that a commercial license is too expensive and restrictive..” with an image outlining restrictions. Surely these restrictions can’t be true.

https://www.reddit.com/r/QtFramework/comments/17kewcg/the_small_company_i_work_for_decided_that_a/
barbara
Posts: 454
Joined: Sat Apr 04 2015 2:32 am
Contact:

Re: Reddit post Qt license

Post by barbara »

Other companies are allowed to charge any amount their user base is willing to pay. You would need to contact them to verify if these monetary values are accurate.

As one person mentioned, you can link your closed sourced ( as in you charge money for using the program ) application with GPL or LGPL. However they did not clarify that it should be version 2 for the most freedom. If the library is licensed as GPL 3 or LGPL 3, there are more restrictions and it takes a lot more work to know if you are compliant. The company you mentioned releases under version 3.

The CopperSpice libraries are licensed as LGPL 2.1 which is extremely flexible and nonrestrictive. We do not want to charge our users for linking their applications with CopperSpice. Our income model is based on consulting services and paid CopperSpice support.

Barbara
CopperSpice Project Co-Founder
crispina
Posts: 22
Joined: Tue Nov 17 2020 2:57 pm

Re: Reddit post Qt license

Post by crispina »

I still find licensing including open source licensing difficult to follow at times. I have released my (hobby) CopperSpice Casper Calendar app as LGPLv2.1.

https://gitlab.com/crispinalan/caspercalendar

Currently it uses its own built-in speech synthesizer. However, if I wanted to install and the use an external speech synthesizer such as espeak which is GPLv3 I guess I would need to change the Casper Calendar license to GPLv3 to be compatible so that both use the same license?

According to lawyers, some open source licences are just not compatible with each other and so cannot be used together. This is discussed in the video link below.

[ link redacted as we can not endorse legal advice by third parties ]

The Qt open source license seems very restrictive given open source developers are not allowed to use LTS versions. See post below.

https://www.phoronix.com/news/Qt-6.5-LTS-Commercial-Only
Last edited by crispina on Wed Nov 22 2023 12:11 pm, edited 2 times in total.
barbara
Posts: 454
Joined: Sat Apr 04 2015 2:32 am
Contact:

Re: Reddit post Qt license

Post by barbara »

released my CopperSpice Casper Calendar app as GPLv2.
Did you pick GPL because of other libraries you are using?

. . external speech synthesizer such as espeak which is GPLv3 I guess I would need to change the Casper Calendar license to GPLv3 to be compatible so that both use the same license?
1 We strongly believe that if you switch to using a GPL 3 library you must change your application to GPL 3.

2 Here is another consideration to think about. Based on our research from the Free Software Foundation, it is perfectly fine to link your GPL 3 application with a GPL 3 library and CS (which is LGPL 2.1).

Barbara
crispina
Posts: 22
Joined: Tue Nov 17 2020 2:57 pm

Re: Reddit post Qt license

Post by crispina »

Sorry I meant released with LGPLv2.1.

While the Free Software Foundation recommends using the latest version LGPLv3 I thought that LGPLv2.1 would be compatible with CopperSpice. I have read that derivative works of LGPLv2.1 code must be licensed under the same or GPLv2 or later. However, derivative works of LGPLv3 code must be licensed under the LGPLv3 or GPLv3 or later.

I have decided not use an external formant speech synthesizer with a GPLv3 license and started work on my own C++ CopperSpice diphone speech synthesizer posting the first version on my github page with a LGPLv2.1 license so that everything is compatible as far as I understand it.

Back to my concerns over the Qt open source license which seems to be mainly based around LGPLv3. If the Qt Company are using LGPLv3, why do open source users have extra restrictions (not in the license) such as not being able to use LTS versions and can only have updates after 12 months. I do not understand how it is possible to impose extra restrictions on the LGPL license? I have read that KDE has a special legal agreement with Qt which seems to be of a peculiar nature which means they get access to Qt code for developing their desktop with Qt6. Another observation is that Gtk still uses the LGPLv2.1 license and not LGPLv3. Why?
ansel
Posts: 153
Joined: Fri Apr 10 2015 8:23 am

Re: Reddit post Qt license

Post by ansel »

While the Free Software Foundation recommends using the latest version LGPL v3 I thought that LGPL v2.1 would be compatible with CopperSpice.
Yes, they do usually recommend LGPL 3 but the FSF is looking to address other concerns. In the real world, true open source developers prefer LGPL 2.1 when it is feasible.

You need to be very careful with the term “compatible” since it has a very specific meaning. In software licensing it means “two licenses which, when linked together, produce an executable which can be distributed”.

I have read that derivative works of LGPLv2.1 code must be licensed under the same or GPLv2 or later.
The idea of derivative work is when you take a project or library and expand upon it or change the source code. In most cases you must use the same license as the original work.

When you are creating an application that uses LGPL 2 library, your source code is not considered derivative work. In this scenario you can release your program as LGPL 2, GPL 2, BSD, MIT, or possibly others.

However, derivative works of LGPLv3 code must be licensed under the LGPLv3 or GPLv3 or later.
If we are talking here about derivative work, then yes it must use the same or similar license.
Ansel Sermersheim
CopperSpice Cofounder
barbara
Posts: 454
Joined: Sat Apr 04 2015 2:32 am
Contact:

Re: Reddit post Qt license

Post by barbara »

If the Qt Company are using LGPL v3, why do open source users have extra restrictions (not in the license) such as not being able to use LTS versions and can only have updates after 12 months.
Later versions of Qt 5 and all of Qt 6 are released under the dual license of GPL 3 and LGPL 3. They moved away from version 2 to align with the increased restrictions and encourage more people to buy a commercial license.

There is no license restriction about using an LTS version. However, they have elected not to release certain new versions as open source and instead provide them only to commercial customers. Since they hold the legal copyright the company is free to do this, even if it upsets their base.

There is a very subtle issue going on with the “12 month” timeline and not everyone understands why this span of time is so critical. KDE has a special legal agreement with the Qt company. It states that if Qt does not release a new open source version every 12 months, with substantial changes and improvements, KDE has the right to obtain the last released recent version of Qt under a BSD license. This is referred to as “The Poison Pill”.

Many developers incorrectly believe that if the 12 months elapses the switch to BSD is automatic. This is simply not true. KDE would most likely need to pursue this in court to enforce the agreement and could take a long time.

That means open source developers would need to wait the 12 months with no updates (as they are doing now) and then possibly another year or two for the legal process to be worked out. The next question is if KDE really wants to maintain a BSD version for all platforms, since they are mostly Unix.

Politics like this are sad to witness and one of the reasons the CopperSpice team will never play these games.
crispina
Posts: 22
Joined: Tue Nov 17 2020 2:57 pm

Re: Reddit post Qt license

Post by crispina »

Thank you for your replies. I have decided to focus on using CopperSpice rather than Qt for my "hobby" projects. It is a pity that the CopperSpice library is not in the Debian repositories.
barbara
Posts: 454
Joined: Sat Apr 04 2015 2:32 am
Contact:

Re: Reddit post Qt license

Post by barbara »

Just so you know, adding CS to the Debian repository is not practical. We do not guarantee ABI stability for minor version updates. This would be an issue for the maintainers of Debian.

Can you let us know us what issue would be solved by having CS in Debian? Maybe we can address your concern in some other way.

Barbara
crispina
Posts: 22
Joined: Tue Nov 17 2020 2:57 pm

Re: Reddit post Qt license

Post by crispina »

If CS was in the Debian repositories I think it would make it easier for new users to get started and might increase adoption. The last time I looked at BSD (GhostBSD a while back) I noticed that CS had been packaged

https://euroquis.nl/freebsd/2022/02/20/copperspice.html

and CopperSpice could be easily installed using the terminal command below.

Code: Select all

sudo pkg install copperspice
However, one of the issues with having software in the repositories is that it can become out of date between releases and so you end up building newer versions. To give an example I believe the Geany IDE in the Debian repositories is version 1.74 while the latest version is 2.0 which uses Gtk3 rather than Gtk2. So to get the latest version I had to build it from source (you have to install Autotools).

Anyhow now that I have installed CopperSpice from source on Debian 12 I can use that. I have updated my guide on how I did this with your suggestions. My guide was intended as a record (in chronological order) on how I did this which I thought might be of help to other Debian users.

I have been thinking further on what you said about the Qt open source license. Did they move to GPL3, LGPL3 so that it was easier for them to impose restrictions on open source use? I was not aware that there was “The Poison Pill” clause in the KDE Qt legal agreement.

The comment by Ansel
When you are creating an application that uses LGPL 2 library, your source code is not considered derivative work. In this scenario you can release your program as LGPL 2, GPL 2, BSD, MIT, or possibly others.
was helpful and cleared things up regarding what the lawyer was saying in her Youtube video (link not posted as previously redacted)
Last edited by crispina on Sat Nov 04 2023 8:10 pm, edited 1 time in total.
Post Reply