Official compiler

Radu via Digitalmars-d digitalmars-d at puremagic.com
Fri Feb 26 01:47:29 PST 2016


On Friday, 26 February 2016 at 06:19:27 UTC, Walter Bright wrote:
> 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.

Please don't get me wrong, we all apreciate what you offered to 
the D community, but all these legal arguments are strongly tied 
to you, and less so to the community.

Your LLVM license nit pick is hilarious, you can't do that when 
the "oficial" D compiler has a non-liberal licensed backend, you 
just can't. Speaking of which, I think realistically DMD's 
backend will generally have ~ 1 major contributor, I think you 
guessed who that is.

But setting things aside, we all need to acknowledge that the 
current setup is not fair to motivated and proven third party 
compilers, their contributors, and their users.

The D ecosistem must create and foster a friendly environment to 
anyone wanting to have a good compiler that is current with the 
language/runtime/phobos developments.

I'm not seeing you, or Andrei, exploring and encouraging this 
actively, what I see is a defensive approach on DMD's merits.


More information about the Digitalmars-d mailing list