Re: GTKmm usage rules

Perfect, Robert. Thanks a lot for your patience to provide assistance.

I got some clarification from a GTKmm developer and it goes in the same direction as your explanation.
So I have my ground covered after, as we say, drinking from the source.

You all have a great day.
Best regards,

On Wed, Jul 11, 2018 at 3:38 PM, Robert McQueen <ramcq gnome org> wrote:
Hi Saulo,

The GNOME libs in question, Gtk+, gtkmm, etc are not GPL, they are LGPL which stands for Lesser (formerly Library) GPL. It's similar to the GPL in that all of the requirements of keeping the source available etc are applicable, but it's different in that it explicitly permits combination with non-GPL code, provided the terms I explained (about the substitution of new copies) are observed.

If the code in question was GPL (and not LGPL) then yes, you have no right to use it from a larger work unless you apply a GPL or GPL-compatible license to the whole work. That's not the case for Gtk+ and similar libraries however, as they have the LGPL license to explicitly permit such combinations.


On Wed, 2018-07-11 at 14:28 +0200, Saulo Silva wrote:
Good morning, Robert, and thanks a lot for your time to look into it and provide a more than helpful reply.

I will definitely contact the GTKmm team for the specifics on its usage.
But just to make sure I more or less understood your explanation, as Gnome libs use is governed by this licensing:

- I have libs/dlls that are either proprietary or not meant to be open-source. So they are not subject to GPL enforcement.
- I use GTK as the interface for the methods from these libs/dll. GTK or its variants are subject to GPL, so this is what I should care about? The pieces of software that are covered by GPL must have the source made available, in ways that you described.

Is my understanding correct that, just mixing GPL and proprietary code doesn't make the whole thing GPL/open-source? The license doesn't have this kind of power.
However, if I choose to use whatever GPL packages along the program, then THESE need to be made available. In my particular case, since I am not modifying anything, I can just tell the user "install this and this from the original suppliers, compile if you want, and the program will run".

Are these assumptions correct or incorrect?
Really, thanks a lot for your time and patience, Robert.

On Wed, Jul 11, 2018 at 1:07 PM, Robert McQueen <ramcq gnome org> wrote:
Dear Saulo,

Thanks for your message.

Before I reply, I must clarify two things:
  • I am not a lawyer, and I cannot give you legal advice. If you are unsure about your license compliance requirements, you must form your own opinion or seek your own legal advice so that they can understand your specific situation.
  • The GNOME Foundation is not the copyright owner of gtkmm so I and anybody else on the board cannot speak on their behalf. For the opinion of the authors and main copyright holders you must contact them directly. The requests that you contact the gtkmm team on their mailing list.

However, I can give you my personal opinion, in the hope that it will help you to understand the license. The LGPL license applied to Gtk+ and gtkmm does indeed allow you to use the libraries together with any proprietary program, provided two main requirements are met:
  • The first is that the end user can replace the copy of Gtk+ or gtkmm that they receive from you, with their own modified copy that they have rebuilt from source. The easiest way to achieve this is through dynamic linking - so if you provide .dll files which are installed to provide Gtk+ and the other LGPL components (for example you could include and run the MSI installer provided by the gtkmm project) then the user is able to rebuild that installer and replace the .dll files with their own easily. In the Linux case, if you are not distributing Gtk+ or gtkmm yourself, but are just dynamic linking to the system libraries, you need not concern yourself with the license compliance and source requirements in this case.
  • The other requirement is that if you are distributing LGPL code such as Gtk+ or gtkmm you make it possible for the user to get the LGPL source code. The ways you are allowed to do this are listed in the license. One way to do this is to include the source code every time with the software, another is to either include a written offer (valid for 3 years) that the user can contact you and you send them the source code for a reasonable distribution fee. The final and most common/easy way is to distribute the LGPL source code from the same site/server/etc as the original program is downloaded, which also satisfies the license.

Hopefully this is of assistance!

GNOME Board Member

On Wed, 2018-07-11 at 12:20 +0200, Saulo Silva via board-list wrote:
Good morning, all.

I hope this email finds you well, as I couldn't see other contacts potentially more suitable for the question I need to ask.

I am developing a cross-platform application, to be compiled in both Windows and Linux with minimum code changes, and chose GTKmm 3 as interface builder. It is in completely stock, unmodified shape as all I need is a window and some buttons, nothing fancy.
In Windows I compile it in a MSYS2 environment with MingW and link to other DLLs made with Visual C++. In Linux the complete compilation is in g++, using GTK libs that are already installed in the system.

Many parts of the application have non-GPL code, proprietary, either mine or from the company I work for. The application, when ready, will be free of charge for use.
However, I need to know if, by using GTKmm, is there any obligation to distribute source code along with it. The front page of procides some information:

Are there any licensing restrictions?
GTK+ is free software and part of the GNU Project. However, the licensing terms for GTK+, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties."
However, it doesn't specifically talk about code. Just that proprietary software can be made with it! And since I am no expert in GPL-LGPL, I prefer not to extend the freedom of usage to anything that is not said.

So I'd like to kindly ask for your advice on it.

Thank you and have a great day.
Saulo Silva

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]