FeedSpot Recognizes the GtkDcoding Blog
Les De Ridder
les at lesderid.net
Fri Feb 7 21:00:10 UTC 2020
On Friday, 7 February 2020 at 19:51:52 UTC, Andre Pany wrote:
> On Friday, 7 February 2020 at 18:16:37 UTC, Les De Ridder wrote:
>> On Friday, 7 February 2020 at 14:23:58 UTC, Andre Pany wrote:
>>> [...]
>>>
>>> Now the sad part. I would like to use GtkD at work but I
>>> can't. The license is really dangerous for companies (you
>>> compile lGpl source code into your application), therefore it
>>> is a complete no go from the IP department. The license is a
>>> huge blocker for GtkD commercial usage.
>>
>> I'm not sure why LGPL is an issue. Does GtkD not allow dynamic
>> linking?
>
> I am not an expert at all in the topic of licensing. This is my
> understanding:
>
> Gtk has the license lgpl. As long as you link dynamically to
> the shared object files, you can use it in commercial products.
>
> GtkD is a D wrapper for GTK. It is D source code which ease the
> access to the C api of Gtk. GtkD has also the license lgpl. To
> use GtkD in my application I have to statically link the D
> source code.
> Now it gets more complicated, GtkD has some additions to the
> lgpl rules.
>
> I cannot judge how high the risk is for companies to use this
> component, but as an employee I do anything to avoid any risk
> for the company I work for.
>
> Kind regards
> Andre
GtkD's COPYING file contains the following:
> 2. Static linking of applications or any other source to the
> GtkD
> library does not constitute a modified or derivative work and
> does not
> require the author(s) to provide source code for said work, use
> the
> shared GtkD libraries, or link their applications against a
> user-supplied version of GtkD.
Looking at the GtkD code, it seems much of it was written in a way
specifically to avoid licensing issues, e.g. by loading libraries
and
populating function pointers at runtime[1][2]. I'm not sure it
even
*supports* static linking with GTK libraries.
I compiled one of the GtkD examples[3] on Linux with dub, and was
able
to confirm with `ltrace` that it indeed loads the GTK libraries at
runtime using `dlopen` when compiling with the default
configuration.
[1]
https://github.com/gtkd-developers/GtkD/blob/master/src/gtkd/Loader.d
[2]
https://raw.githubusercontent.com/gtkd-developers/GtkD/master/generated/gtkd/gtk/c/functions.d
[3]
https://github.com/gtkd-developers/GtkD/tree/master/demos/gtkD/TestWindow
More information about the Digitalmars-d-announce
mailing list