Closed merlijn-sebrechts closed 4 years ago
Hello Merlijn, I'm now on a train so I don't have too much time to investigate, however I'll summarize what's the core of the problem: Adwaita-Qt is not an original theme, it's based on Breeze by KDE, that is GPL, not LGPL, which makes it a derivative work and I cannot change the license unless Breeze changes it. I'll do some research when I come back home to make sure about this. Personally, I'm definitely not opposed to changing the license but it depends on the other authors.
the theme engine is "incorporated" into the application.
Unless an application explicitly bundles this theme engine (kinda how Krita bundles home-grown themes in addition to system themes), I see this as a mere aggregation. See also https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.en.html#MereAggregation
To quote: "If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program." – Qt applications are not not designed to run with this engine, therefore their authors have not designed to combine applications and theme.
According to Canonical shipping GPLed Linux kernel and CDDLed ZFS is also totally OK and nobody sued them over that.
Qt applications are not not designed to run with this engine, therefore their authors have not designed to combine applications and theme.
I can follow this logic, and this is indeed similar to the logic Canonical uses for ZFS:
And zfs.ko, as a self-contained file system module, is clearly not a derivative work of the Linux kernel but rather quite obviously a derivative work of OpenZFS and OpenSolaris. Equivalent exceptions have existed for many years, for various other stand alone, self-contained, non-GPL kernel modules.
https://ubuntu.com/blog/zfs-licensing-and-linux
According to this logic, an application linked to this theme engine at runtime is not a derivative work of the theme engine, even though the theme engine shares the address space with the application. I consider this issue closed.
Hi, I'm part of the community effort to create a new Ubuntu theme and we're really interested in this theme.
We'd like to include this theme in Ubuntu's "default Gnome" session to better support Qt applications and we're thinking of using this theme as the basis for Qt support for our own Communitheme but we're a bit hesitant about the license of the theme engine code, specifically that it's GPLv2 instead of LGPLv2.
Since this theme engine's code gets linked to every Qt application in order to theme it, the application and the theme become a "combined work", which means that the application needs to be GPLv2 compatible. We can't control which applications a user will run, so the theme engine will probably be linked to proprietary applications. This means that we will be infringing on your rights by using this theme. For this reason, most theme engines use LGPL instead of GPL:
gtk2-murrine-engine
andgtk2-pixbuf-engine
I included a detailed explanation of the issues below. It's important to fully comply with the GPL, even inside of the FLOSS community. Sadly, this means that we cannot use this theme in Ubuntu while it is licensed GPL. Are you open to change the license to LGPLv2?
Detailed explanation
This explanation references the GPL FAQ section from the GNU website. I tried to include as much info as possible, let me know if you have further questions.
and further
A theme engine is a library that themes an application so all applications it themes need to be GPL compatible.
What about the system library exception?
The system library exception only works in one way: a GPL application is allowed to link to a proprietary system library. However, this exception does not work the other way around.
But the theme engine is dynamically linked.
The copyleft text of the GPL applies to all software linked to a GPL work, even dynamically linked software.
Isn't a theme engine a separate application from the app it themes?
The theme engine runs as part of the same process of the application and the app is linked to it just like it is linked to the GTK or Qt toolkit and just like it is linked to any system library. They do not communicate at an arms length, they are very much intertwined. As a result, the theme engine is "incorporated" into the application.
What about the themes themselves?
The Q&A clearly states that an interpreter and the interpreted application are two separate programs. So a nonfree program is allowed to use a CSS or SVG theme, as long as the license of the theme engine is compatible with the application.