On Fri, 08 Jul 2011 16:02:39 -0400, Johannes Pfau <s...@example.com> wrote:

Steven Schveighoffer wrote:
On Fri, 08 Jul 2011 15:39:22 -0400, Johannes Pfau <s...@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.

Reply via email to