https://github.com/dlang/dmd/blob/master/LICENSE.txt
I don't mean this to start a fight over licenses I'm just curious how it works when gcc lets other projects in.
GDC (and LDC, the LLVM D compiler) use the frontend (lexer, parser,semantic) provided by the DMD reference compiler. GDC and LDC then map the AST produced by the frontend to something GCC and LLVM understand.
The DMD frontend has always been boost licensed. So the licensing question is valid here as we'll include boost frontend code into GCC. But I don't really have an answer to the question ;-)
I don't know the details of the D compiler frontend that has now become part of GCC, but I'd imagine its something like that. E.g. the GCC Go frontend is, AFAIK, BSD licensed.
The frontend has been Free Software since the beginning. The reference backend was only Open Source (not freely redistributable).
So, alternative backends were plugged to the frontend, LLVM and GCC. They all share the same frontend still, although LLVM and GCC slightly lag behind the reference in version (LLVM is nearly in sync).
This announcement is official recognition after Iain and helpers did the grunt work consistently for years now.
Free redistributibility is part of the Open Source Definition. It is literally the first item: https://opensource.org/osd-annotated
The one major thing you can't do is redistribute the base source code. That's a big thing, and disqualifies it from being open source, but let's not pretend there is no value in the source code access.
Collins still has the old definition "free to use or modify". Merriam-Webster and Oxford has since included "redistribution" in the definition.
The term "shared source" is not in any dictionary though.
The notion that the phrase "open source" started out with broader definition but was later revised by OSI is itself revisionism.
OSI's definition is important because the phrase "open source" originates with the folks behind OSI—the term did not exist before 1998 when they created it. The phrase resulted from a public awareness effort leading up to the release of the Mozilla code on March 31, because the only alternative that had legs at the time was the FSF's term "free software", which had marketability problems. A few months later, a bunch of those involved in the brainstorming session where "open source" was coined went on to start the OSI as an advocacy group primarily concerned with:
a) marketing the term "open source" to get the public to adopt it en masse
b) advocating for the adoption of open source ideals themselves
To sum up, there has never been a time when "open source" meant something besides how the OSI defined it, except for sloppy usage in instances of someone co-opting the OSI's term but not their definition for it.
(Disagree with whether it's a good definition or not, but telling history and facts wrong is something to be avoided.)
http://jordi.inversethought.com/blog/5-things-we-have-forgot...
https://en.wikipedia.org/wiki/Shared_Source_Common_Language_...
That said, it's a surprisingly good term, because it's so accurate - the source is shared with you, but there isn't much you can do with it other than look at it.
Pedantically, you are correct. But making the whole thing Free Software has cleared up a lot of confusion about this issue, and has undoubtedly helped. Perception matters.
For example, an acquaintance plays (at least used to) a large role in the AVR (8 bit) back-end. He went to a gcc summit to lobby for avr-gcc being upgraded to a support tier where functional (not performance) regressions would be release show-stoppers. His argument: Over a million downloads per month. It took that much to get the gcc steering committee to even consider it. gcc is a big project, they can't afford to make commitments lightly.
Great work, Iain!!!
<sarcasm (or something)> Because they need an alternative to the mess that is C++ and Rust is already married to LLVM.</sarcasm>