On Friday, 19 February 2016 at 09:06:28 UTC, Jonathan M Davis
wrote:
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
For a change he might enjoy being the one that doesn't look/work
with the backend, if those legal issues are such a major worry
for him.
I remember back when DMD was even closed licensed than today that
it sat on a different repo, so people would not look at its code
by accident. DMD had its use at the beginning when only Walter
was running the show, and things needed to be coded fast, he knew
his turf and that allowed him to implement stuff with ease, but
today that argument has little value, see the whole Dwarf EH
stuff he had to do...
There are plenty things to do in the language design, frontend
and runtime, hes work would greatly improve those parts.