Programming Windows D Examples are now Online!

Steven Schveighoffer schveiguy at yahoo.com
Fri Jul 8 13:43:04 PDT 2011


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.

-Steve

> But looking at the LGPL license:
> ------------------------
>   3. Object Code Incorporating Material from Library Header Files.
>
>   The object code form of an Application may incorporate material from
> a header file that is part of the Library.  You may convey such object
> code under terms of your choice, provided that, if the incorporated
> material is not limited to numerical parameters, data structure
> layouts and accessors, or small macros, inline functions and templates
> (ten or fewer lines in length), you do both of the following:
>
>    a) Give prominent notice with each copy of the object code that the
>    Library is used in it and that the Library and its use are
>    covered by this License.
>
>    b) Accompany the object code with a copy of the GNU GPL and this
>    license document.
> ------------------------
> Seems like (simple) header files can be used without restrictions.
> Looking at other cairo bindings luacairo is public domain, so I think
> I'll just release the everything under the boost license.


More information about the Digitalmars-d-announce mailing list