On Wednesday, 21 May 2014 at 00:16:07 UTC, Max Barraclough wrote:
The DMD frontend is licensed under the GPL, which is 'viral': if your code links against it, you'll have to release your code as GPL.
Not true, the DMD frontend is dual-licensed, both GPL and the Artistic license:
https://github.com/D-Programming-Language/dmd/blob/master/src/readme.txt While both are badly-written licenses that have generated a lot of debate about what they really mean because of vague terminology, the bane of legal documents, the Artistic license appears to allow redistribution in binary form without providing source: https://github.com/D-Programming-Language/dmd/blob/master/src/artistic.txt
John's idea of having the user provide DMD, rather than bundling it, may or may not be against the letter of the GPL (I'm unsure, but I don't think it's exactly safe ground - your code is still written to the DMD ABI, after all), but it's certainly against the spirit.
I don't think John was talking about linking against dmd, merely having the user download and run it standalone, which the GPL doesn't prohibit. And if you use the frontend under the Artistic license, there's no problem with modifying or linking it either.
If I were you, I'd be asking: are there working D frontends available other than DMD (from other IDE/compiler/tooling projects)? If so, what's their licence? (I'm afraid I don't know the answer to either.)
All three major D compilers, dmd, ldc, gdc, use the same dmd frontend, though probably under different licenses, chosen from the two that dmd offers. There is also sdc, under the MIT license, though I don't know how ready it is: https://github.com/deadalnix/SDC
Usual disclaimer: I'm not a lawyer, certainly not a copyright lawyer, certainly not your lawyer, etc.
I'd hope not. ;) On Wednesday, 21 May 2014 at 06:40:44 UTC, Jacob Carlborg wrote:
It's not against the GPL license [1]. Many companies do this, Apple for example. They've created Xcode which comes (did come) bundled with GCC. Xcode is absolutely not open source. It doesn't need to because it doesn't link with GCC. It uses invokes GCC as an external process to build projects.
Yes, but they moved to the UIUC-licensed (basically the BSD license) llvm eventually, partially because they wanted Xcode to directly link against it. I think it's that kind of integration that Andre and Max have in mind, though as John noted, they're not particularly precise about what they want.