News for hackers. Stuff that matters.
Re:D Language accepted for inclusion in GCC by theandrewbailey on Wednesday June 21, 2017 @10:18AM (#14603982)
The reference compiler got open sourced about 2 months ago.

https://news.ycombinator.com/item?id=14060846

Re:D Language accepted for inclusion in GCC by qznc on Wednesday June 21, 2017 @11:02AM (#14604368)
The reference compiler is unrelated.

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.

Re:D Language accepted for inclusion in GCC by WalterBright on Wednesday June 21, 2017 @07:29PM (#14608914)
> unrelated

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.

Re:D Language accepted for inclusion in GCC by amyjess on Wednesday June 21, 2017 @11:14AM (#14604485)
> The reference backend was only Open Source (not freely redistributable).

Free redistributibility is part of the Open Source Definition. It is literally the first item: https://opensource.org/osd-annotated

Re:D Language accepted for inclusion in GCC by boondaburrah on Wednesday June 21, 2017 @11:27AM (#14604595)
I think they meant lower case "open source" (as in the source is open (anyone can read/compile it)). There are plenty of software that are open source but not freely distributable, such as Unreal Engine.
Re:D Language accepted for inclusion in GCC by davexunit on Wednesday June 21, 2017 @11:33AM (#14604653)
"open source", no matter the capitalization, means what the OSI has defined. Unreal Engine is neither Open Source nor open source. It is simply proprietary. To say otherwise is a practice known as "open washing" that companies use to appear community friendly when in fact they are not.
Re:D Language accepted for inclusion in GCC by mindcrime on Wednesday June 21, 2017 @11:46AM (#14604781)
This. While OSI may not have been successful in getting an official trademark on the phrase "Open Source", in practice almost everybody treats "Open Source" or "open source" as meaning what the Open Source Definition states. Other "source available" approaches are more correctly termed "shared source" or something.
Re:D Language accepted for inclusion in GCC by wfunction on Wednesday June 21, 2017 @03:21PM (#14607047)
Since when does "open-source" mean "community-friendly"? Why insist on using words that don't say what you want them to mean, when you can use ones that do?
Re:D Language accepted for inclusion in GCC by syockit on Wednesday June 21, 2017 @12:41PM (#14605383)
The first time I said that on HN somewhere else I got quite a flak. I don't know when OSI's definition became mainstream. The first time I heard open source, it meant the same as what you said. Nowadays you have to use a different term for that.

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.

Re:D Language accepted for inclusion in GCC by carussell on Wednesday June 21, 2017 @04:30PM (#14607626)
> I don't know when OSI's definition became mainstream. The first time I heard open source, it meant the same as what you said. Nowadays you have to use a different term for that.

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.)

Re:D Language accepted for inclusion in GCC by jordigh on Wednesday June 21, 2017 @04:40PM (#14607720)
Re:D Language accepted for inclusion in GCC by int_19h on Wednesday June 21, 2017 @05:01PM (#14607928)
"Shared source" seems to originate from Microsoft, from the time period before it embraced OSS proper. At least the first time I've seen it in any context was the "shared source CLI", which was released under the look-but-do-not-touch license as a reference implementation to back the ECMA CLI and C# standards.

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.

Re:D Language accepted for inclusion in GCC by yellowapple on Wednesday June 21, 2017 @12:08PM (#14604994)
The usual term for that sort of arrangement would be "shared source".
Re:D Language accepted for inclusion in GCC by _delirium on Wednesday June 21, 2017 @01:43PM (#14606119)
I've seen "source-available" as well. But yes, it's not "open source" if it's proprietary source that you can only look at.
Re:D Language accepted for inclusion in GCC by Dylan16807 on Wednesday June 21, 2017 @05:22PM (#14608071)
You can do a lot more than look at it. You can modify it, compile it, share your modifications, and share your binaries with your game.

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.

Re:D Language accepted for inclusion in GCC by CogitoCogito on Wednesday June 21, 2017 @10:57AM (#14604313)
How does this work exactly from a licensing perspective? Will they merge the dmd sources into the gcc tree? Does this mean that the D compiler in gcc will now be GPL(v?) licensed? This is certainly possible since dmd is licensed permissively.

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.

Re:D Language accepted for inclusion in GCC by jabl on Thursday June 22, 2017 @06:13AM (#14611171)
In general, it's possible to create a combined work made from parts with different licenses, provided that the licenses are compatible. So if you have part A licensed under, say, the MIT license, and part B licensed under the GPL, then the combined work falls under the GPL (due to the GPL "virability", and since the GPL and MIT are compatible in the sense that the GPL restrictions are a superset of MIT ). You can still later on extract part A and distribute that under the MIT license.

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.

Re:D Language accepted for inclusion in GCC by ben-schaaf on Wednesday June 21, 2017 @12:02PM (#14604943)
I don't see how dmd would be mergable with gcc, completely different backends. gdc however is a different story.
Re:D Language accepted for inclusion in GCC by jpf91 on Wednesday June 21, 2017 @01:06PM (#14605677)
Although the recent DMD backend license change does not affect GDC, GDC is not a complete standalone implementation of a D compiler.

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 ;-)