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.

Reply via email to