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.