Official compiler

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Fri Feb 19 01:06:28 PST 2016


On Thursday, 18 February 2016 at 21:39:45 UTC, Ola Fosheim 
Grøstad wrote:
> On Thursday, 18 February 2016 at 21:30:29 UTC, Jonathan M Davis 
> wrote:
>> It's not a strawman. Walter has state previously that he's 
>> explicitly avoided looking at the source code for other 
>> compilers like gcc, because he doesn't want anyone to be able 
>> to accuse him of stealing code, copyright infringement, etc.
>
> Isn't this much more likely to happen if you don't look at the 
> codebase for other compilers? How do you know if someone 
> submitting code isn't just translating from GCC if you haven't 
> looked at GCC?  If you have looked at GCC, then you can just 
> choose a different implementation. :-)
>
> Anyway, the clean-virgin thing in programming is related to 
> reverse engineering very small codebases where the 
> implementation most likely is going to be very similar (like 
> BIOS). So you have one team writing the spec and another team 
> implementing the spec (with no communication between them).

Walter has stated previously that there have been cases of 
lawyers coming to him about him possibly violating someone else's 
copyright, and when he tells them that he's never even looked at 
the source code, that satisfies them. And when the GPL is 
involved, that' paranoia is probably a very good idea. With the 
BSD license, and the license that LLVM uses (which is very close 
to the BSD license), it's nowhere near the same level of issue, 
since it really only comes down to giving attribution. But we had 
problems with that at one point with Tango code (which is 
BSD-licensed), so the dmd and Phobos devs as a whole have avoided 
even looking at Tango so that we could always, legitimately say 
that we hadn't looked at it and therefore could not possibly have 
copied from it.

So, this can be a real problem, even if it's just an issue with 
someone thinking that you should be giving attribution when 
you're not. And while the LLVM license would definitely allow 
LLVM code to be mixed into dmd's backend as long as the 
appropriate attribution was given, I don't know if Symantec would 
be okay with that or not. The fact that Symantec owns the dmd 
backend just makes things weird all around.

Regardless, whether Walter is willing to look at LLVM/LDC or work 
on it at all is up to him. I doubt that he'll choose to based on 
what he's said previously, but he might. However, I think that 
it's quite safe to say that GCC/GDC are completely off the table 
for him, because that's GPL-licensed, and folks definitely get 
unhappy when they think that you might have copied GPL code, and 
it's _not_ as simple as giving attribution to be able to take 
GPL-licensed code and mix it into your own, since it's a copyleft 
license (and one of the most extreme of them at that).

- Jonathan M Davis


More information about the Digitalmars-d mailing list