Official compiler

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Thu Feb 25 22:19:27 PST 2016


On 2/18/2016 1:30 PM, 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.
> Now, that's obviously much more of a risk with gcc than llvm given their
> respective licenses, but it is a position that Walter has taken when the issue
> has come up, and it's not something that I'm making up.
>
> Now, if Walter were willing to give up on the dmd backend entirely, then
> presumably, that wouldn't be a problem anymore regardless of license issues, but
> he still has dmc, which uses the same backend, so I very much doubt that that's
> going to happen.

It's still an issue I worry about. I've been (falsely) accused of stealing code 
in the past, even once accused of having stolen the old Datalight C compiler 
from some BYU students. Once a game company stole Empire, and then had the 
astonishing nerve to sic their lawyers on me accusing me of stealing it from 
them! (Showing them my registered copyright of the source code that predated 
their claim by 10 years was entertaining.)

More recently this came up in the Tango/Phobos rift, as some of the long term 
members here will recall.

So it is not an issue to be taken too lightly. I have the scars to prove it :-/

One thing I adore about github is it provides a legal audit trail of where the 
code came from. While that proves nothing about whether contributions are stolen 
or not, it provides a date stamp (like my registered copyright did), and if 
stolen code does make its way into the code base, it can be precisely excised. 
Github takes a great load off my mind.

There are other reasons to have dmd's back end. One obvious one is we wouldn't 
have had a Win64 port without it. And anytime we wish to experiment with 
something new in code generation, it's a heluva lot easier to do that with dmd 
than with the monumental code bases of gcc and llvm.

One thing that has changed a lot in my attitudes is I no longer worry about 
people stealing my code. If someone can make good use of my stuff, have at it. 
Boost license FTW!

I wish LLVM would switch to the Boost license, in particular removing this clause:

"Redistributions in binary form must reproduce the above copyright notice, this 
list of conditions and the following disclaimers in the documentation and/or 
other materials provided with the distribution."

Reading it adversely means if I write a simple utility and include a few lines 
from LLVM, I have to include that license in the binary and a means to print it 
out. If I include a bit of code from several places, each with their own version 
of that license, there's just a bunch of crap to deal with to be in compliance.



More information about the Digitalmars-d mailing list