== Quote from Adam D. Ruppe ([email protected])'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.
