Programming Windows D Examples are now Online!

Mike Parker aldacron at gmail.com
Fri Jul 8 22:56:39 PDT 2011


On 7/9/2011 5:43 AM, Steven Schveighoffer wrote:
> On Fri, 08 Jul 2011 16:02:39 -0400, Johannes Pfau <spam at example.com> wrote:
>
>> Steven Schveighoffer wrote:
>>> On Fri, 08 Jul 2011 15:39:22 -0400, Johannes Pfau <spam at example.com>
>>> wrote:
>>>
>>>> Andrej Mitrovic wrote:
>>>>> What's the license on the bindings?
>>>>
>>>> Have not thought about that yet, but I think I'll use the boost
>>>> license. (I'm not sure if that's possible, as
>>>> cairo is LGPL, maybe I'll have to release the binding part at least
>>>> as LGPL, as that's based on the cairo headers? Stupid licensing
>>>> stuff... )
>>>>
>>>
>>> I'm not a lawyer, but I think LGPL just covers the library code, not
>>> the bindings, as long as the link is dynamic. In other words, LGPL
>>> specifically allows dynamically linking with any license, as long as
>>> the library remains LGPL.
>>>
>>> For reference, the C standard library (which phobos uses extensively)
>>> is LGPL on Linux (glibc).
>>>
>>> -Steve
>>
>> True, but in this case the bindings were translated from the cairo c
>> headers. I wasn't sure if the bindings could be considered a derivate
>> work.
>
> Well, if we look at this logically -- if the C headers contain so much
> code that using them would require releasing your software under LGPL,
> then why even use LGPL? The only point for using LGPL is to allow other
> licensed code to use your library, yet still have your library be under
> the GPL. If linking a C application using the C headers doesn't require
> GPL'ing your code (or LGPL'ing), then I can't see how a translation of
> them would require it.
>
> But almost certainly a translation of the headers is a derived work, so
> the bindings themselves should have the same license as the headers
> (LGPL). I think this should cause no problems with linking proprietary
> code. I don't think it would qualify as a phobos module though.
>

A few years back I was concerned about this same issue with my SDL 
bindings in Derelict. SDL was licensed under the LGPL. So I posted a 
question to the SDL mailing list. The maintainer, Sam Lantinga, answered 
thus:

"The API is not copyrighted, only the SDL implementation is.  I would 
consider this a work that uses the library, rather than a derivative 
work.  You'll notice that using inline functions in LGPL headers, which 
technically places code from those headers in your object code, also 
does not change your work into a derivative work - it remains a work 
that uses the library."

That reinforced my own understanding. So for years now the license for 
Derelict's bindings has usually been different from the C libraries. 
That's especially true for Derelict 2, which is licensed under Boost.

Realistically, I'd like to release Derelict with no license at all. I'm 
not sure exactly what it is I'm licensing. The lion's share of original 
code in the project is in the utility package. The bindings themselves 
generally have very little non-interface code, just what's required to 
implement the loader. But I've learned that people get nervous when 
there's no license attached to a library. So Boost it is.


More information about the Digitalmars-d-announce mailing list