www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - D compiler as part of GCC

reply Jerry Quinn <jlquinn optonline.net> writes:
[also posted to D.gnu]

Hi, folks,

I'm interested in creating a D front end for GCC that would be part of the GCC
codebase.  My feeling is that a GDC that is part of GCC distributions will
likely have more life than one that must be updated whenever a new GCC release
comes out.  As with linux kernel in-tree drivers being kept up to date, an
integrated GDC would tend to move forward as well.

To do this though, copyright on the code must be assigned to the FSF.  This
means that even though the DMD front end sources are licensed under the GPL,
they cannot be directly used to write this front end as the copyright is owned
by DigitalMars.  Everyone who contributes code must not look at the DMD
compiler source code to avoid accidentally contributing code illegally. 
Therefore, this will be a completely new implementation of D.

The obvious disadvantage of doing this is that it will be a slow process to get
to a working D compiler.  However, one advantage to the D world is firming up
and validating the language specification so that the language is not defined
by what the DMD compiler does.

My personal desire is to implement (and track) the 2.0 language since I would
like to see that feature set available through GCC.  Second, by the time a
working front end becomes part of GCC, the 2.0 language will likely be complete.

One question I have (of many) is whether a different name should be used.  If
this is called GDC there will be some confusion with the current GDC.  What
thoughts do you all have?

In general is there interest in this project, especially contributing to it?

Thanks,
Jerry
Jan 17 2010
next sibling parent Walter Bright <newshound1 digitalmars.com> writes:
Jerry Quinn wrote:
 My personal desire is to implement (and track) the 2.0 language since
 I would like to see that feature set available through GCC.  Second,
 by the time a working front end becomes part of GCC, the 2.0 language
 will likely be complete.
 
 One question I have (of many) is whether a different name should be
 used.  If this is called GDC there will be some confusion with the
 current GDC.  What thoughts do you all have?
 
 In general is there interest in this project, especially contributing
 to it?

Obviously, I can't help you with a clean room reimplementation, but I do wish you every success with the project. I can also help with specification problems that will inevitably arise.
Jan 17 2010
prev sibling next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Jerry Quinn:
 I'm interested in creating a D front end for GCC that would be part of the GCC
codebase.

What about helping LDC devs create a good D2 implementation instead? It's probably 1/5 or 1/10 of the work you think about, because lot of work is already done, and surely some people will help you (me too). There's Dil, DMD, GDC, LDC, D#, etc, but one good, debugged and well optimizing fully open source D2 compiler is much better than ten broken and/or badly optimizing D compilers. Bye, bearophile
Jan 18 2010
next sibling parent reply Trass3r <un known.com> writes:
 What about helping LDC devs create a good D2 implementation instead?  
 It's probably 1/5 or 1/10 of the work you think about, because lot of  
 work is already done, and surely some people will help you (me too).

Is D2 support being worked on at all?
Jan 18 2010
parent bearophile <bearophileHUGS lycos.com> writes:
Trass3r:
 Is D2 support being worked on at all?

Just a little, a strong external help can be quite useful to push them in that direction. Bye, bearophile
Jan 18 2010
prev sibling parent reply Eldar Insafutdinov <e.insafutdinov gmail.com> writes:
bearophile Wrote:

 Jerry Quinn:
 I'm interested in creating a D front end for GCC that would be part of the GCC
codebase.

What about helping LDC devs create a good D2 implementation instead? It's probably 1/5 or 1/10 of the work you think about, because lot of work is already done, and surely some people will help you (me too). There's Dil, DMD, GDC, LDC, D#, etc, but one good, debugged and well optimizing fully open source D2 compiler is much better than ten broken and/or badly optimizing D compilers. Bye, bearophile

I agree that having such a good intent the author of the post should better concentrate his effort on helping GDC/LDC. LDC took couple of years to become usable, and you have to consider that they took an existing front-end. Also what I think even when you complete this project, it is not only the licensing issues that are preventing GDC from being included into GCC. They will do that only if they are interested in this project, as it requires maintenance. They will not update GCC-D frontend with every release of GCC just because it is a part of it. Having a solid GDC implementation you can be sure that it will be included in distributions (Debian had GDC for quite a long time).
Jan 18 2010
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Eldar Insafutdinov" <e.insafutdinov gmail.com> wrote in message 
news:hj2njd$o1g$1 digitalmars.com...
 Having a solid GDC implementation you can be sure that it will be included 
 in distributions (Debian had GDC for quite a long time).

"had"? Is that a typo or did they drop it?
Jan 18 2010
next sibling parent Jesse Phillips <jessekphillips+D gmail.com> writes:
Nick Sabalausky wrote:

 "Eldar Insafutdinov" <e.insafutdinov gmail.com> wrote in message 
 news:hj2njd$o1g$1 digitalmars.com...
 Having a solid GDC implementation you can be sure that it will be included 
 in distributions (Debian had GDC for quite a long time).

"had"? Is that a typo or did they drop it?

They have it still, v 0.25 for GCC 4.1 (if I interpreted those right)
Jan 18 2010
prev sibling next sibling parent Steve Teale <steve.teale britseyeview.com> writes:
Nick Sabalausky Wrote:

 "Eldar Insafutdinov" <e.insafutdinov gmail.com> wrote in message 
 news:hj2njd$o1g$1 digitalmars.com...
 Having a solid GDC implementation you can be sure that it will be included 
 in distributions (Debian had GDC for quite a long time).

"had"? Is that a typo or did they drop it?

I just apt-get install gdc on Ubuntu and got 4.2.4
Jan 18 2010
prev sibling parent Eldar Insafutdinov <e.insafutdinov gmail.com> writes:
Nick Sabalausky Wrote:

 "Eldar Insafutdinov" <e.insafutdinov gmail.com> wrote in message 
 news:hj2njd$o1g$1 digitalmars.com...
 Having a solid GDC implementation you can be sure that it will be included 
 in distributions (Debian had GDC for quite a long time).

"had"? Is that a typo or did they drop it?

Sorry for confusion, I meant it had when I checked it last time. I never used GDC and I believe not many people do, as D2 went to far away since the last front-end update, and for D1 a lot of people prefer LDC.
Jan 19 2010
prev sibling next sibling parent Jerry Quinn <jlquinn optonline.net> writes:
Eldar Insafutdinov Wrote:

 bearophile Wrote:
 
 Jerry Quinn:
 I'm interested in creating a D front end for GCC that would be part of the GCC
codebase.

What about helping LDC devs create a good D2 implementation instead? It's probably 1/5 or 1/10 of the work you think about, because lot of work is already done, and surely some people will help you (me too).


One reason is that I'm already positioned to contribute code to GCC. and it is more difficult for me to become an LDC dev. ANother is that GCC has very broad backend support. I know LLVM backend support is expanding but it still has some distance to go. GCC is also the default compiler for many Linux distributions, and D be part of that may help it propagate. I also do think that the construction of another front end would provide positive benefit to the D community by improving the language specification and separating it from implementation. Of course that's only true if this succeeds :-) There's also a benefit to the GCC project in terms of improving the docs on the frontend interface. That's already happened as I've tried to figure out how it works :-) But that's not so relevant to the folks here.
 There's Dil, DMD, GDC, LDC, D#, etc, but one good, debugged and well
optimizing fully open source D2 compiler is much better than ten broken and/or
badly optimizing D compilers.
 
 Bye,
 bearophile

I agree that having such a good intent the author of the post should better concentrate his effort on helping GDC/LDC. LDC took couple of years to become usable, and you have to consider that they took an existing front-end. Also what I think even when you complete this project, it is not only the licensing issues that are preventing GDC from being included into GCC. They will do that only if they are interested in this project, as it requires maintenance. They will not update GCC-D frontend with every release of GCC just because it is a part of it.

This is very true. It would require people to be interested in continuing it's existence.
 Having a solid GDC implementation you can be sure that it will be included in
distributions (Debian had GDC for quite a long time).

In my mind, the endgame for GDC would be to have the work integrated into the official GCC sources. That would provide the similar benefits to the ones I'm chasing. Everyone who touched GDC would have to assign their code to the FSF and the DMD sources would also have to be assigned. Perhaps that's the right answer in the end but I don't know. It does seem to be a substantial effort to make that happen. Jerry
Jan 18 2010
prev sibling parent reply Leandro Lucarella <llucax gmail.com> writes:
Eldar Insafutdinov, el 18 de enero a las 17:33 me escribiste:
 bearophile Wrote:
 
 Jerry Quinn:
 I'm interested in creating a D front end for GCC that would be part of the GCC
codebase.

What about helping LDC devs create a good D2 implementation instead? It's probably 1/5 or 1/10 of the work you think about, because lot of work is already done, and surely some people will help you (me too). There's Dil, DMD, GDC, LDC, D#, etc, but one good, debugged and well optimizing fully open source D2 compiler is much better than ten broken and/or badly optimizing D compilers. Bye, bearophile

I agree that having such a good intent the author of the post should better concentrate his effort on helping GDC/LDC. LDC took couple of years to become usable, and you have to consider that they took an existing front-end. Also what I think even when you complete this project, it is not only the licensing issues that are preventing GDC from being included into GCC. They will do that only if they are interested in this project, as it requires maintenance. They will not update GCC-D frontend with every release of GCC just because it is a part of it.

I agree that embarking a new front-end will be a huge effort that probably will end up abandoned before it's completed, unless there is some economic sponsorship or something, but having a front-end which copyright can be given to the FSF is a necessary condition to merge GDC (or whatever it's named) to GCC. Hitting GCC means automatic exposure to millions of people, if more people use it, more people will be interested in maintain it, etc. The maintain Nance cost will decrease too, as I think this works like in the Linux kernel, where if some "back-end" changes are done, the person who make them is responsible to update all the code relying on it. Of course those people will not fix the front-end, but at least you don't have to care anymore in updating the back-end glue. I think one of the bigger problems with GDC right now is to update it to the latest GCC version, not merging the latest DMD front-end. Being official part of GCC is nothing but a huge win. Of course GCC guy won't accept crap or things that won't get maintained, so it's a necessary condition but not sufficient to have a new front-end. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Desde chiquito quería ser doctor Pero después me enfermé y me hice músico
Jan 19 2010
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Leandro Lucarella wrote:
 I agree that embarking a new front-end will be a huge effort that probably
 will end up abandoned before it's completed, unless there is some economic
 sponsorship or something, but having a front-end which copyright can be
 given to the FSF is a necessary condition to merge GDC (or whatever it's
 named) to GCC.

Will they take a fork of the dmd source, such that they own the copyright to the fork and Digital Mars still has copyright to the original?
Jan 19 2010
next sibling parent reply Jerry Quinn <jlquinn optonline.net> writes:
Walter Bright Wrote:

 Will they take a fork of the dmd source, such that they own the 
 copyright to the fork and Digital Mars still has copyright to the original?

I'll ask, but if a snapshot is contributed to them such that it can be licensed under GPLv3 and copyright on that snapshot is assigned to FSF, then I think there would be no issues. Jerry
Jan 19 2010
parent Leandro Lucarella <llucax gmail.com> writes:
Jerry Quinn, el 19 de enero a las 13:57 me escribiste:
 Walter Bright Wrote:
 
 Will they take a fork of the dmd source, such that they own the 
 copyright to the fork and Digital Mars still has copyright to the original?

I'll ask, but if a snapshot is contributed to them such that it can be licensed under GPLv3 and copyright on that snapshot is assigned to FSF, then I think there would be no issues.

Please let us know what the answer is! -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- CONDUCTOR COREANO AGREDE A CRONICA TV -- Crónica TV
Jan 19 2010
prev sibling next sibling parent Steve Teale <steve.teale britseyeview.com> writes:
Walter Bright Wrote:

 Leandro Lucarella wrote:
 I agree that embarking a new front-end will be a huge effort that probably
 will end up abandoned before it's completed, unless there is some economic
 sponsorship or something, but having a front-end which copyright can be
 given to the FSF is a necessary condition to merge GDC (or whatever it's
 named) to GCC.

Will they take a fork of the dmd source, such that they own the copyright to the fork and Digital Mars still has copyright to the original?

Go for it Walter - the paths to fame are incomprehensible. Also, you'll still be faster than they are!
Jan 19 2010
prev sibling parent reply Jerry Quinn <jlquinn optonline.net> writes:
Walter Bright Wrote:
 Will they take a fork of the dmd source, such that they own the 
 copyright to the fork and Digital Mars still has copyright to the original?

Hi, Walter, The answer appears to be yes: http://gcc.gnu.org/ml/gcc/2010-01/msg00430.html Jerry
Jan 23 2010
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Jerry Quinn wrote:
 Walter Bright Wrote:
 Will they take a fork of the dmd source, such that they own the 
 copyright to the fork and Digital Mars still has copyright to the original?

Hi, Walter, The answer appears to be yes: http://gcc.gnu.org/ml/gcc/2010-01/msg00430.html Jerry

That's great news. I suppose I should look over the forms they talk about!
Jan 23 2010
parent reply Leandro Lucarella <llucax gmail.com> writes:
Walter Bright, el 23 de enero a las 12:54 me escribiste:
 Jerry Quinn wrote:
Walter Bright Wrote:
Will they take a fork of the dmd source, such that they own the
copyright to the fork and Digital Mars still has copyright to
the original?

Hi, Walter, The answer appears to be yes: http://gcc.gnu.org/ml/gcc/2010-01/msg00430.html Jerry

That's great news. I suppose I should look over the forms they talk about!

Great news indeed! Since DMD FE is GPL I think it won't be any trouble to fold in the new changes back to GDC as they did (and LDC too), so it won't be really a *fork*, right? Walter, please, please, please let us know how this progresses. Thanks! -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ----------------------------------------------------------------------
Jan 23 2010
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Leandro Lucarella wrote:
 Walter Bright, el 23 de enero a las 12:54 me escribiste:
 Jerry Quinn wrote:
 Walter Bright Wrote:
 Will they take a fork of the dmd source, such that they own the
 copyright to the fork and Digital Mars still has copyright to
 the original?

Hi, Walter, The answer appears to be yes: http://gcc.gnu.org/ml/gcc/2010-01/msg00430.html Jerry

That's great news. I suppose I should look over the forms they talk about!

Great news indeed! Since DMD FE is GPL I think it won't be any trouble to fold in the new changes back to GDC as they did (and LDC too), so it won't be really a *fork*, right?

Well, still I won't be supporting gdc directly. It would mean a team that would be willing to take new DMD FE updates and fold them into GDC, and then follow whatever gcc's build and release conventions are.
 Walter, please, please, please let us know how this progresses. Thanks!

Who in the FSF is a contact person about this?
Jan 23 2010
next sibling parent reply Brad Roberts <braddr puremagic.com> writes:
On 1/23/2010 4:15 PM, Walter Bright wrote:
 Leandro Lucarella wrote:
 Walter Bright, el 23 de enero a las 12:54 me escribiste:
 Jerry Quinn wrote:
 Walter Bright Wrote:
 Will they take a fork of the dmd source, such that they own the
 copyright to the fork and Digital Mars still has copyright to
 the original?

Hi, Walter, The answer appears to be yes: http://gcc.gnu.org/ml/gcc/2010-01/msg00430.html Jerry

That's great news. I suppose I should look over the forms they talk about!

Great news indeed! Since DMD FE is GPL I think it won't be any trouble to fold in the new changes back to GDC as they did (and LDC too), so it won't be really a *fork*, right?

Well, still I won't be supporting gdc directly. It would mean a team that would be willing to take new DMD FE updates and fold them into GDC, and then follow whatever gcc's build and release conventions are.

I don't think you got the answer you were looking for. You got an answer to a different question. If you assign the copyright over to the FSF, they then own the code. You'd have a license to use it as you like in return, but you would no longer be the owner. Additionally, as pointed out in the gcc thread, contributions coming into the gcc tree wouldn't have anything other than the gpl license attached to them and that would likely make them problematic to re-distribute from your tree with the dual gpl/artistic license. In simpler words, this is still far from straightforward. I'd still love for there to be fewer split efforts on the compiler front, so I do encourage trying to find a workable solution.. but tread carefully. Later, Brad
Jan 23 2010
parent reply Jerry Quinn <jlquinn optonline.net> writes:
Brad Roberts Wrote:

 On 1/23/2010 4:15 PM, Walter Bright wrote:
 Leandro Lucarella wrote:
 Walter Bright, el 23 de enero a las 12:54 me escribiste:
 Jerry Quinn wrote:
 Walter Bright Wrote:
 Will they take a fork of the dmd source, such that they own the
 copyright to the fork and Digital Mars still has copyright to
 the original?

Hi, Walter, The answer appears to be yes: http://gcc.gnu.org/ml/gcc/2010-01/msg00430.html Jerry

That's great news. I suppose I should look over the forms they talk about!

Great news indeed! Since DMD FE is GPL I think it won't be any trouble to fold in the new changes back to GDC as they did (and LDC too), so it won't be really a *fork*, right?

Well, still I won't be supporting gdc directly. It would mean a team that would be willing to take new DMD FE updates and fold them into GDC, and then follow whatever gcc's build and release conventions are.

I don't think you got the answer you were looking for. You got an answer to a different question. If you assign the copyright over to the FSF, they then own the code. You'd have a license to use it as you like in return, but you would no longer be the owner.

 Additionally, as pointed out in the gcc  thread, contributions coming into the
 gcc tree wouldn't have anything other than the gpl license attached to them and
 that would likely make them problematic to re-distribute from your tree with
the
 dual gpl/artistic license.
 
 In simpler words, this is still far from straightforward.

I think you're slightly incorrect, Brad. DigitalMars still owns the copyright to the original source (call it copy A). A fork (called copy B) is donated to the FSF. DigitalMars still gets to make changes to copy A and license them as it sees fit. Copy B is part of the GCC codebase and would evolve separately. Moving changes between them would require the same kind of donation process as the original transfer. Folks making changes to the DMD FE would have to contribute those changes to FSF as well to get them into copy B and vice versa. My apologies if that's the same as what you said. I read your comment a couple of times and was a bit confused.
 I'd still love for there to be fewer split efforts on the compiler front, so I
 do encourage trying to find a workable solution.. but tread carefully.

The GCC java front end currently uses the Eclipse compiler to produce bytecode and then compiles the bytecode to native. But that's the only front end I'm aware of that isn't fully integrated into the GCC tree. The D front end doesn't produce a portable intermediate representation like that so I think it would be harder to always use the latest DMD front end. I see this possibility as Walter giving GCC a running start so that the D ecosystem has another viable compiler option available with relatively low effort. In the end, the language spec should be the thing that unifies the D community rather than the adhoc definition provided by a particular front end implementation. It's just a matter of how to get there. Later, Jerry
Jan 24 2010
parent reply Jesse Phillips <jessekphillips+D gmail.com> writes:
Jerry Quinn wrote:

 I think you're slightly incorrect, Brad.  DigitalMars still owns the copyright
to the original source (call it copy A).  A fork (called copy B) is donated to
the FSF.   DigitalMars still gets to make changes to copy A and license them as
it sees fit.  Copy B is part of the GCC codebase and would evolve separately.

 Moving changes between them would require the same kind of donation process as
the original transfer.  Folks making changes to the DMD FE would have to
contribute those changes to FSF as well to get them into copy B and vice versa.

As best I could tell there were two options, the one Brad was referring to[1], and the one you asked about.
 In the end, the language spec should be the thing that unifies the D community
rather than the adhoc definition provided by a particular front end
implementation.  It's just a matter of how to get there.

I think Brad was refering to the "donation" process that is required for propogating changes from DM to GCC and visa versa. Since GCC will be using the same front end, it would make since that patches should be applied to both reducing duplicate effort in fixing bugs. I think that at this time, contributers to the front end would not have a problem with making these "donations." However in the feature, you might see more people contributing to GCC and not want to donate it for GPL/Artistic... And when that happens I don't think Walter would care that GCC is getting more attention. 1. http://gcc.gnu.org/ml/gcc/2010-01/msg00432.html
Jan 24 2010
parent reply Brad Roberts <braddr puremagic.com> writes:
On 1/24/2010 11:34 AM, Jesse Phillips wrote:
 Jerry Quinn wrote:
 
 I think you're slightly incorrect, Brad.  DigitalMars still owns the copyright
to the original source (call it copy A).  A fork (called copy B) is donated to
the FSF.   DigitalMars still gets to make changes to copy A and license them as
it sees fit.  Copy B is part of the GCC codebase and would evolve separately.

 Moving changes between them would require the same kind of donation process as
the original transfer.  Folks making changes to the DMD FE would have to
contribute those changes to FSF as well to get them into copy B and vice versa.

As best I could tell there were two options, the one Brad was referring to[1], and the one you asked about.
 In the end, the language spec should be the thing that unifies the D community
rather than the adhoc definition provided by a particular front end
implementation.  It's just a matter of how to get there.

I think Brad was refering to the "donation" process that is required for propogating changes from DM to GCC and visa versa. Since GCC will be using the same front end, it would make since that patches should be applied to both reducing duplicate effort in fixing bugs. I think that at this time, contributers to the front end would not have a problem with making these "donations." However in the feature, you might see more people contributing to GCC and not want to donate it for GPL/Artistic... And when that happens I don't think Walter would care that GCC is getting more attention. 1. http://gcc.gnu.org/ml/gcc/2010-01/msg00432.html

The key issue: Can one piece of code have two copyrights on it. I'm no lawyer, but I'm almost certain the answer is NO. That's the question that Walter asked to have clarified, but that's not the question that was asked. Asking the gcc developers is also a bad idea since they're not lawyers. The only way to really handle this correctly is to have lawyers do the question asking of lawyers. Having lay people (including myself) as intermediaries and interpreters is just wrong. The rest is details about dealing with code under multiple licenses and transferring changes that are licensed differently between the two code bases. That clarify anything? Later, Brad
Jan 24 2010
parent reply Walter Bright <newshound1 digitalmars.com> writes:
Brad Roberts wrote:
 That's the question that Walter asked to have clarified, but that's not the
 question that was asked.  Asking the gcc developers is also a bad idea since
 they're not lawyers.  The only way to really handle this correctly is to have
 lawyers do the question asking of lawyers.  Having lay people (including
myself)
 as intermediaries and interpreters is just wrong.

You're probably right, the only way to do this is to consult a lawyer. That's going to be thousands of dollars. And frankly, I've never worked with a lawyer who was willing to commit to any particular legal opinion anyway.
Jan 24 2010
parent reply Brad Roberts <braddr puremagic.com> writes:
On 1/24/2010 2:13 PM, Walter Bright wrote:
 Brad Roberts wrote:
 That's the question that Walter asked to have clarified, but that's
 not the
 question that was asked.  Asking the gcc developers is also a bad idea
 since
 they're not lawyers.  The only way to really handle this correctly is
 to have
 lawyers do the question asking of lawyers.  Having lay people
 (including myself)
 as intermediaries and interpreters is just wrong.

You're probably right, the only way to do this is to consult a lawyer. That's going to be thousands of dollars. And frankly, I've never worked with a lawyer who was willing to commit to any particular legal opinion anyway.

You're probably versed enough to do the talking for yourself with one of the FSF lawyers. Chances are that might actually not cost you anything.
Jan 24 2010
parent Leandro Lucarella <llucax gmail.com> writes:
Brad Roberts, el 24 de enero a las 14:23 me escribiste:
 On 1/24/2010 2:13 PM, Walter Bright wrote:
 Brad Roberts wrote:
 That's the question that Walter asked to have clarified, but that's
 not the
 question that was asked.  Asking the gcc developers is also a bad idea
 since
 they're not lawyers.  The only way to really handle this correctly is
 to have
 lawyers do the question asking of lawyers.  Having lay people
 (including myself)
 as intermediaries and interpreters is just wrong.

You're probably right, the only way to do this is to consult a lawyer. That's going to be thousands of dollars. And frankly, I've never worked with a lawyer who was willing to commit to any particular legal opinion anyway.

You're probably versed enough to do the talking for yourself with one of the FSF lawyers. Chances are that might actually not cost you anything.

Exactly, I think the FSF knows about laws and have some lawyers to help you. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ----------------------------------------------------------------------
Jan 24 2010
prev sibling parent Leandro Lucarella <llucax gmail.com> writes:
Walter Bright, el 23 de enero a las 16:15 me escribiste:
 Leandro Lucarella wrote:
Walter Bright, el 23 de enero a las 12:54 me escribiste:
Jerry Quinn wrote:
Walter Bright Wrote:
Will they take a fork of the dmd source, such that they own the
copyright to the fork and Digital Mars still has copyright to
the original?

Hi, Walter, The answer appears to be yes: http://gcc.gnu.org/ml/gcc/2010-01/msg00430.html Jerry

That's great news. I suppose I should look over the forms they talk about!

Great news indeed! Since DMD FE is GPL I think it won't be any trouble to fold in the new changes back to GDC as they did (and LDC too), so it won't be really a *fork*, right?

Well, still I won't be supporting gdc directly. It would mean a team that would be willing to take new DMD FE updates and fold them into GDC, and then follow whatever gcc's build and release conventions are.

Yes, what I meant is that the new DMD FE fork (owned by the FSF) will be allowed to fold in changes in the original DMD FE (owned by DM). I hope that can be done, to avoid duplicating a lot of effort fixing bugs in the DMD FE (or even implementing new features).
Walter, please, please, please let us know how this progresses. Thanks!

Who in the FSF is a contact person about this?

From http://gcc.gnu.org/contribute.html """ Legal Prerequisites Before we can incorporate significant contributions, certain legal requirements must be met. The FSF prefers that a contributor files a copyright assignment for large contributions. See some documentation by the FSF for details and contact us (either via the gcc gcc.gnu.org list or the GCC maintainer that is taking care of your contributions) to obtain the relevant forms. The most common forms are an assignment for a specific change, an assignment for all future changes, and an employer disclaimer, if an employer or school owns work created by the developer. It's a good idea to send assignments gnu.org a copy of your request. If a contributor is reluctant to sign a copyright assignment for a change, a copyright disclaimer to put the change in the public domain is acceptable as well. The copyright disclaimer form is different than an employer disclaimer form. A copyright assignment is more convenient if a contributor plans to make several separate contributions. [...] """ More here: http://www.gnu.org/prep/maintain/maintain.html#Legal-Matters Thanks! -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ----------------------------------------------------------------------
Jan 23 2010
prev sibling next sibling parent Lutger <lutger.blijdestijn gmail.com> writes:
On 01/18/2010 03:45 AM, Jerry Quinn wrote:
 [also posted to D.gnu]

 Hi, folks,

 I'm interested in creating a D front end for GCC that would be part of the GCC
codebase.  My feeling is that a GDC that is part of GCC distributions will
likely have more life than one that must be updated whenever a new GCC release
comes out.  As with linux kernel in-tree drivers being kept up to date, an
integrated GDC would tend to move forward as well.

 To do this though, copyright on the code must be assigned to the FSF.  This
means that even though the DMD front end sources are licensed under the GPL,
they cannot be directly used to write this front end as the copyright is owned
by DigitalMars.  Everyone who contributes code must not look at the DMD
compiler source code to avoid accidentally contributing code illegally. 
Therefore, this will be a completely new implementation of D.

 The obvious disadvantage of doing this is that it will be a slow process to
get to a working D compiler.  However, one advantage to the D world is firming
up and validating the language specification so that the language is not
defined by what the DMD compiler does.

 My personal desire is to implement (and track) the 2.0 language since I would
like to see that feature set available through GCC.  Second, by the time a
working front end becomes part of GCC, the 2.0 language will likely be complete.

 One question I have (of many) is whether a different name should be used.  If
this is called GDC there will be some confusion with the current GDC.  What
thoughts do you all have?

 In general is there interest in this project, especially contributing to it?

 Thanks,
 Jerry

I do not want to discourage such a great project, especially since I lack the skills myself to contribute. However I think helping either GDC or LDC with their D2 branches and getting them into a distro will be far more effective. Whatever you decide to embark on, wish you all the best!
Jan 18 2010
prev sibling parent reply Eldar Insafutdinov <e.insafutdinov gmail.com> writes:
Jerry Quinn Wrote:

 [also posted to D.gnu]
 
 Hi, folks,
 
 I'm interested in creating a D front end for GCC that would be part of the GCC
codebase.  My feeling is that a GDC that is part of GCC distributions will
likely have more life than one that must be updated whenever a new GCC release
comes out.  As with linux kernel in-tree drivers being kept up to date, an
integrated GDC would tend to move forward as well.
 
 To do this though, copyright on the code must be assigned to the FSF.  This
means that even though the DMD front end sources are licensed under the GPL,
they cannot be directly used to write this front end as the copyright is owned
by DigitalMars.  Everyone who contributes code must not look at the DMD
compiler source code to avoid accidentally contributing code illegally. 
Therefore, this will be a completely new implementation of D.
 
 The obvious disadvantage of doing this is that it will be a slow process to
get to a working D compiler.  However, one advantage to the D world is firming
up and validating the language specification so that the language is not
defined by what the DMD compiler does.
 
 My personal desire is to implement (and track) the 2.0 language since I would
like to see that feature set available through GCC.  Second, by the time a
working front end becomes part of GCC, the 2.0 language will likely be complete.
 
 One question I have (of many) is whether a different name should be used.  If
this is called GDC there will be some confusion with the current GDC.  What
thoughts do you all have?
 
 In general is there interest in this project, especially contributing to it?
 
 Thanks,
 Jerry
 

Google's Go will be in GCC. http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html . They are pushing it very hard.
Jan 27 2010
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Eldar Insafutdinov wrote:
 Jerry Quinn Wrote:
 
 [also posted to D.gnu]

 Hi, folks,

 I'm interested in creating a D front end for GCC that would be part of the GCC
codebase.  My feeling is that a GDC that is part of GCC distributions will
likely have more life than one that must be updated whenever a new GCC release
comes out.  As with linux kernel in-tree drivers being kept up to date, an
integrated GDC would tend to move forward as well.

 To do this though, copyright on the code must be assigned to the FSF.  This
means that even though the DMD front end sources are licensed under the GPL,
they cannot be directly used to write this front end as the copyright is owned
by DigitalMars.  Everyone who contributes code must not look at the DMD
compiler source code to avoid accidentally contributing code illegally. 
Therefore, this will be a completely new implementation of D.

 The obvious disadvantage of doing this is that it will be a slow process to
get to a working D compiler.  However, one advantage to the D world is firming
up and validating the language specification so that the language is not
defined by what the DMD compiler does.

 My personal desire is to implement (and track) the 2.0 language since I would
like to see that feature set available through GCC.  Second, by the time a
working front end becomes part of GCC, the 2.0 language will likely be complete.

 One question I have (of many) is whether a different name should be used.  If
this is called GDC there will be some confusion with the current GDC.  What
thoughts do you all have?

 In general is there interest in this project, especially contributing to it?

 Thanks,
 Jerry

Google's Go will be in GCC. http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html . They are pushing it very hard.

Who is "they"? Andrei
Jan 27 2010
parent reply Eldar Insafutdinov <e.insafutdinov gmail.com> writes:
Andrei Alexandrescu Wrote:

 Eldar Insafutdinov wrote:
 Jerry Quinn Wrote:
 
 [also posted to D.gnu]

 Hi, folks,

 I'm interested in creating a D front end for GCC that would be part of the GCC
codebase.  My feeling is that a GDC that is part of GCC distributions will
likely have more life than one that must be updated whenever a new GCC release
comes out.  As with linux kernel in-tree drivers being kept up to date, an
integrated GDC would tend to move forward as well.

 To do this though, copyright on the code must be assigned to the FSF.  This
means that even though the DMD front end sources are licensed under the GPL,
they cannot be directly used to write this front end as the copyright is owned
by DigitalMars.  Everyone who contributes code must not look at the DMD
compiler source code to avoid accidentally contributing code illegally. 
Therefore, this will be a completely new implementation of D.

 The obvious disadvantage of doing this is that it will be a slow process to
get to a working D compiler.  However, one advantage to the D world is firming
up and validating the language specification so that the language is not
defined by what the DMD compiler does.

 My personal desire is to implement (and track) the 2.0 language since I would
like to see that feature set available through GCC.  Second, by the time a
working front end becomes part of GCC, the 2.0 language will likely be complete.

 One question I have (of many) is whether a different name should be used.  If
this is called GDC there will be some confusion with the current GDC.  What
thoughts do you all have?

 In general is there interest in this project, especially contributing to it?

 Thanks,
 Jerry

Google's Go will be in GCC. http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html . They are pushing it very hard.

Who is "they"? Andrei

Good question. Not sure if it is actually Google, or some enthusiast, but certainly that's a good result for a language that was released couple of months ago. Not to mention that it's not any near to D at this stage. All I want for D, if not being included into GCC oficially, but at least to have a maintained GCC compiler.
Jan 27 2010
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Eldar Insafutdinov wrote:
 Andrei Alexandrescu Wrote:
 
 Eldar Insafutdinov wrote:
 Google's Go will be in GCC.
 http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html . They are
 pushing it very hard.

Who is "they"? Andrei

Good question. Not sure if it is actually Google, or some enthusiast, but certainly that's a good result for a language that was released couple of months ago. Not to mention that it's not any near to D at this stage. All I want for D, if not being included into GCC oficially, but at least to have a maintained GCC compiler.

I agree. Although my perception is that Google itself is not pushing Go and that the language does not have legs to resist on merit alone, that may change any time. It would be great if D were present in GCC - thanks Jerry for your initiative, and please keep it up. Andrei
Jan 27 2010
parent reply Leandro Lucarella <llucax gmail.com> writes:
Andrei Alexandrescu, el 27 de enero a las 17:40 me escribiste:
 Eldar Insafutdinov wrote:
Andrei Alexandrescu Wrote:

Eldar Insafutdinov wrote:
Google's Go will be in GCC.
http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html . They are
pushing it very hard.

Who is "they"? Andrei

Good question. Not sure if it is actually Google, or some enthusiast, but certainly that's a good result for a language that was released couple of months ago. Not to mention that it's not any near to D at this stage. All I want for D, if not being included into GCC oficially, but at least to have a maintained GCC compiler.

I agree. Although my perception is that Google itself is not pushing Go and that the language does not have legs to resist on merit alone, that may change any time. It would be great if D were present in GCC - thanks Jerry for your initiative, and please keep it up. Andrei

Just see the next message: http://gcc.gnu.org/ml/gcc/2010-01/msg00501.html 2010-01-26 Ian Lance Taylor <iant google.com> * MAINTAINERS: Add myself as Go frontend maintainer. If you think Google is not pushing Go, think again... -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ----------------------------------------------------------------------
Jan 28 2010
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Leandro Lucarella wrote:
 Andrei Alexandrescu, el 27 de enero a las 17:40 me escribiste:
 Eldar Insafutdinov wrote:
 Andrei Alexandrescu Wrote:

 Eldar Insafutdinov wrote:
 Google's Go will be in GCC.
 http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html . They are
 pushing it very hard.

Who is "they"? Andrei

Good question. Not sure if it is actually Google, or some enthusiast, but certainly that's a good result for a language that was released couple of months ago. Not to mention that it's not any near to D at this stage. All I want for D, if not being included into GCC oficially, but at least to have a maintained GCC compiler.

I agree. Although my perception is that Google itself is not pushing Go and that the language does not have legs to resist on merit alone, that may change any time. It would be great if D were present in GCC - thanks Jerry for your initiative, and please keep it up. Andrei

Just see the next message: http://gcc.gnu.org/ml/gcc/2010-01/msg00501.html 2010-01-26 Ian Lance Taylor <iant google.com> * MAINTAINERS: Add myself as Go frontend maintainer. If you think Google is not pushing Go, think again...

I'd seen that, but my understanding is that Ian is a maintainer of the frontend, not necessarily that Google is pushing Go or even that Google is paying him to spend time on Go. What am I missing? Andrei
Jan 28 2010
parent reply Leandro Lucarella <llucax gmail.com> writes:
Andrei Alexandrescu, el 28 de enero a las 09:49 me escribiste:
Just see the next message:

http://gcc.gnu.org/ml/gcc/2010-01/msg00501.html

2010-01-26  Ian Lance Taylor  <iant google.com>

       * MAINTAINERS: Add myself as Go frontend maintainer.


If you think Google is not pushing Go, think again...

I'd seen that, but my understanding is that Ian is a maintainer of the frontend, not necessarily that Google is pushing Go or even that Google is paying him to spend time on Go. What am I missing?

They are paying him to spend time on Go, at least is a "20% project". -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ----------------------------------------------------------------------
Jan 28 2010
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Leandro Lucarella wrote:
 Andrei Alexandrescu, el 28 de enero a las 09:49 me escribiste:
 Just see the next message:

 http://gcc.gnu.org/ml/gcc/2010-01/msg00501.html

 2010-01-26  Ian Lance Taylor  <iant google.com>

       * MAINTAINERS: Add myself as Go frontend maintainer.


 If you think Google is not pushing Go, think again...

I'd seen that, but my understanding is that Ian is a maintainer of the frontend, not necessarily that Google is pushing Go or even that Google is paying him to spend time on Go. What am I missing?

They are paying him to spend time on Go, at least is a "20% project".

Aw come on. I knew when I wrote the message I'll leave place for that semantic loophole, but I hoped you wouldn't be taking it so I didn't bother to preempt. Anyway... an employee spending time on a 20% project is a far cry from "Google is pushing Go". Anyone at Google could choose to do anything they please for their 20% projects. Andrei
Jan 28 2010
parent Leandro Lucarella <llucax gmail.com> writes:
Andrei Alexandrescu, el 28 de enero a las 12:29 me escribiste:
 Leandro Lucarella wrote:
Andrei Alexandrescu, el 28 de enero a las 09:49 me escribiste:
Just see the next message:

http://gcc.gnu.org/ml/gcc/2010-01/msg00501.html

2010-01-26  Ian Lance Taylor  <iant google.com>

      * MAINTAINERS: Add myself as Go frontend maintainer.


If you think Google is not pushing Go, think again...

I'd seen that, but my understanding is that Ian is a maintainer of the frontend, not necessarily that Google is pushing Go or even that Google is paying him to spend time on Go. What am I missing?

They are paying him to spend time on Go, at least is a "20% project".

Aw come on. I knew when I wrote the message I'll leave place for that semantic loophole, but I hoped you wouldn't be taking it so I didn't bother to preempt. Anyway... an employee spending time on a 20% project is a far cry from "Google is pushing Go". Anyone at Google could choose to do anything they please for their 20% projects.

Is not just one persona using his 20% project. There are a lot of Google's employees doing so (and a couple of "high-profile" Google's employees, like Rob Pike and Ken Thompson). Google's doesn't just give away a day of work, you have to present a serious project to spent your 20% and they have to approve it. I counted 10 people google and almost 20 more golang (which, being that the top developers, like Pike and Thompson are golang, one could give for granted that are all Google employees as well) in the CONTRIBUTORS file. That's about 30 people (without counting other potential Google employees using another e-mail). I think that is something... Also, they provide all the infrastructure for the project, all the marking has Google over the places, etc. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ----------------------------------------------------------------------
Jan 28 2010
prev sibling next sibling parent reply Ellery Newcomer <ellery-newcomer utulsa.edu> writes:
On 01/27/2010 03:40 PM, Eldar Insafutdinov wrote:
 Google's Go will be in GCC. http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html .
They are pushing it very hard.

I bet it helps that Go was originally implemented as a front-end to GCC
Jan 27 2010
parent reply "Joel C. Salomon" <joelcsalomon gmail.com> writes:
On 1/27/2010 5:56 PM, Ellery Newcomer wrote:
 On 01/27/2010 03:40 PM, Eldar Insafutdinov wrote:
 Google's Go will be in GCC.  <http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html>.

I bet it helps that Go was originally implemented as a front-end to GCC

I’d thought the original compiler was based on Ken Thompson’s C compiler for Plan 9. —Joel Salomon
Jan 27 2010
parent Ellery Newcomer <ellery-newcomer utulsa.edu> writes:
On 01/27/2010 11:24 PM, Joel C. Salomon wrote:
 On 1/27/2010 5:56 PM, Ellery Newcomer wrote:
 On 01/27/2010 03:40 PM, Eldar Insafutdinov wrote:
 Google's Go will be in GCC.<http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html>.

I bet it helps that Go was originally implemented as a front-end to GCC

I’d thought the original compiler was based on Ken Thompson’s C compiler for Plan 9. —Joel Salomon

Meh, one of the two
Jan 27 2010
prev sibling parent reply Bee <iteronvexor gmail.com> writes:
How the hell is Go already part of the main GCC distribution? It's only a year
old!  If
I've got this right, GDC won't make it in GCC 4.6, which is going to be
released next
year. 4.7 will be released in 2012, around April.  That's over a year from now.
WTF?
Dec 13 2010
parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
Must be a very simple language.. and Google probably pulled some
strings, or they have someone that worked/collaborated with GCC devs?
dunno..

On 12/13/10, Bee <iteronvexor gmail.com> wrote:
 How the hell is Go already part of the main GCC distribution? It's only a
 year old!  If
 I've got this right, GDC won't make it in GCC 4.6, which is going to be
 released next
 year. 4.7 will be released in 2012, around April.  That's over a year from
 now. WTF?

Dec 13 2010
parent reply Peter Alexander <peter.alexander.au gmail.com> writes:
On 13/12/10 2:31 PM, Andrej Mitrovic wrote:
 Must be a very simple language.. and Google probably pulled some
 strings, or they have someone that worked/collaborated with GCC devs?
 dunno..

 On 12/13/10, Bee<iteronvexor gmail.com>  wrote:
 How the hell is Go already part of the main GCC distribution? It's only a
 year old!  If
 I've got this right, GDC won't make it in GCC 4.6, which is going to be
 released next
 year. 4.7 will be released in 2012, around April.  That's over a year from
 now. WTF?


Is it possibly because Go is more stable than GDC? (I don't know; just speculating...) In any case, I don't think languages are added due to age. Popularity and stability are probably the most important factors.
Jan 02 2011
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 1/2/11 8:10 AM, Peter Alexander wrote:
 On 13/12/10 2:31 PM, Andrej Mitrovic wrote:
 Must be a very simple language.. and Google probably pulled some
 strings, or they have someone that worked/collaborated with GCC devs?
 dunno..

 On 12/13/10, Bee<iteronvexor gmail.com> wrote:
 How the hell is Go already part of the main GCC distribution? It's
 only a
 year old! If
 I've got this right, GDC won't make it in GCC 4.6, which is going to be
 released next
 year. 4.7 will be released in 2012, around April. That's over a year
 from
 now. WTF?


Is it possibly because Go is more stable than GDC? (I don't know; just speculating...) In any case, I don't think languages are added due to age. Popularity and stability are probably the most important factors.

The most important factor is having someone on the team pushing for it and understanding the process. Andrei
Jan 02 2011
parent Peter Alexander <peter.alexander.au gmail.com> writes:
On 2/01/11 2:43 PM, Andrei Alexandrescu wrote:
 On 1/2/11 8:10 AM, Peter Alexander wrote:
 On 13/12/10 2:31 PM, Andrej Mitrovic wrote:
 Must be a very simple language.. and Google probably pulled some
 strings, or they have someone that worked/collaborated with GCC devs?
 dunno..

 On 12/13/10, Bee<iteronvexor gmail.com> wrote:
 How the hell is Go already part of the main GCC distribution? It's
 only a
 year old! If
 I've got this right, GDC won't make it in GCC 4.6, which is going to be
 released next
 year. 4.7 will be released in 2012, around April. That's over a year
 from
 now. WTF?


Is it possibly because Go is more stable than GDC? (I don't know; just speculating...) In any case, I don't think languages are added due to age. Popularity and stability are probably the most important factors.

The most important factor is having someone on the team pushing for it and understanding the process. Andrei

Ok, maybe that as well :-)
Jan 03 2011