Standard third party imports

"Jérôme M. Berger" jeberger at free.fr
Sun Nov 14 00:00:52 PST 2010


jfd wrote:
> == Quote from Adam D. Ruppe (destructionator at gmail.com)'s article
>> The problem with BSD/GPL code in the main Phobos is any D program will link with
>> it, and thus the license goes viral to all D programs.
>> But since this is just interface files, separate from the stdlib aside from
>> sharing a distribution zip, no compiled code will be shoved into Phobos proper,
>> the copyright restrictions shouldn't affect anyone who is not specifically using
>> that library anyway.
>> If we're concerned that merely importing the file may cause license
>> taint, we could add pragma(msg, "License Taint Warning: etc.c.mylib is GPL
> licensed");
> 
> Question 1. Nearly-Verbatim Translation:  Make nearly one-to-one translation, for
> example, use a D function for a .h macro, and a D const for a .h #define of a
> constant.  That looks close to the original .h, in visual form and style.  Does
> that fall under the .h license?
> 
> And that is the example on the D web site!  One doesn't usually consider that
> subject to the .h license terms.  Or is that assumption wrong?
> 
> Question 2. Preprocessing .h: If one preprocesses the .h, instead of verbatim
> one-to-one translation, would that be still subject to the .h license?  It doesn't
> look very much like the original .h, in terms of visual style and form, certainly
> less than the "verbatim" way above.
> 
> Question 3. Automation: If a program produces a .di file that is identical to what
> would write by hand, then does automation make any difference in license terms
> than a hand-written one?
> 
> I'm not a lawyer, but I tend to think that a translation of .h is not subject to
> the original license.  If I'm not mistaken, I seem to recall that some libc
> headers on some platforms (Mac?) are pretty much re-written glibc headers, and the
> new headers are under proprietary license.
> 
> It's good to clarify that, before I start spending lots of time building headers.
>  Thank you for bringing this up.

	I am not a lawyer either, but I believe that from a strictly legal
standpoint, the original license applies in all three cases.

	From a practical standpoint, there are two possible situations:

 * The header file contains only interface declarations. In that
case, the important license to consider is that of the actual
library it is an interface for. Nobody will blame you for
translating the header in order to access the library provided you
respect the license of the library. Moreover, a good lawyer would
probably be able to argue the case convincingly if it came to that
(but as I said, IANAL);

 * The header file contains implementation (for a C++ template-heavy
library for example). In that case, the header license definitely
applies to any translation. The situation is complicated by the fact
that most open source licenses do not take this situation into
account (AIUI, it is one of the big differences between LGPLv2 and
LGPLv3).

		Jerome
-- 
mailto:jeberger at free.fr
http://jeberger.free.fr
Jabber: jeberger at jabber.fr

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20101114/c01a0355/attachment-0001.pgp>


More information about the Digitalmars-d mailing list