May 09, 2012
On Wednesday, May 09, 2012 16:04:14 H. S. Teoh wrote:
> Dumb question: what prevents someone from rewriting dmd's backend with new code that isn't entangled by the previous license?

It's a _ton_ of work for arguably little benefit. What we have for dmd works just fine, and if you want a fully open source backend, you can use gdc or ldc.

- Jonathan M Davis
May 09, 2012
On 10/05/12 01:14, H. S. Teoh wrote:
> There are both. Some proprietary developers avoid GPL like the plague
> due to the whole "you must publish all your precious source code if you
> distribute the binary" issue. Some other developers, admittedly in the
> minority compared to the first group, refuse to have anything to do with
> non-GPL'd code (or at least, have an OSS-compliant license) because of
> idealogical concerns. (For example, you will not be able to convince an
> FSF developer to adopt dmd.)

Well, "OSS-compliant licence" covers a LOT of options, not all of them GPL-compatible, not all of them copyleft.  I can't see there being a huge problem if DMD were distributed under a permissive license such as Apache, BSD/MIT or Boost.  Yes, there might be some hardcore people who would like a strong copyleft approach, but that's a much smaller number of people than the numbers who care about it being a licence that meets the FSF criteria for a free licence.

As for the "avoid GPL" folks, you may already be buggered there. :-)  Or you could multi-license so that everyone's happy.  (MPL/GPL/LGPL tri-licence?)

> So are you proposing that we rewrite the dmd backend with fresh code
> that's not encumbered by the current license?

I think there are a number of possible solutions, including not just a rewrite but also just blessing either GDC or LDC as the reference implementation once their D2 support has reached maturity/parallel with DMD.  I'd favour LDC, to avoid the negative associations some people have with the GNU project.
May 09, 2012
On Wed, May 09, 2012 at 07:16:22PM -0400, Jonathan M Davis wrote:
> On Wednesday, May 09, 2012 16:04:14 H. S. Teoh wrote:
> > Dumb question: what prevents someone from rewriting dmd's backend with new code that isn't entangled by the previous license?
> 
> It's a _ton_ of work for arguably little benefit. What we have for dmd works just fine, and if you want a fully open source backend, you can use gdc or ldc.
[...]

Right, so what's the reason behind not adopting gdc or ldc as the reference compiler?


T

-- 
Не дорог подарок, дорога любовь.
May 09, 2012
On Wednesday, 9 May 2012 at 23:31:26 UTC, H. S. Teoh wrote:
> Right, so what's the reason behind not adopting gdc or ldc as the reference compiler?

Have you actually used them? I've tried and never got
far.

dmd just works.
May 09, 2012
On Thu, 10 May 2012, Joseph Rushton Wakeling wrote:

> Yesterday or the day before I pulled the latest Phobos into my dev branch and tried to compile it, only for some unittests to fall over rather nastily.  Of course, it was because the latest Phobos updates relied on some recent updates to DMD and/or Druntime: I had to pull and compile the latest versions of those before Phobos would compile and pass tests.
> 
> It's unlikely that GDC and/or LDC could pick up those sorts of updates quickly enough to not impact on developers, unless there's a deliberate policy of keeping feature parity.  So that means (for now) there's no way that one can reliably hack on Phobos using one of the fully open source compilers.

If you're using ldc or gdc, you should develop agains the gdc/ldc provided druntime and phobos too.
May 09, 2012
Le 10/05/2012 00:22, Jonathan M Davis a écrit :
> On Wednesday, May 09, 2012 23:47:57 deadalnix wrote:
>> Le 09/05/2012 23:31, Joseph Rushton Wakeling a écrit :
>>> On a more practical level, the inability of 3rd parties to distribute
>>> DMD could have an effect in limiting points of access to the software,
>>> with corresponding effects on the possible channels of contribution. The
>>> ability to scale up the number of distribution and contribution channels
>>> is going to be increasingly important as D develops.
>>
>> And even more practical : I can't bundle dmd with an IDE for D to
>> provide an easy setup for a user. I can't create a repository where dmd
>> sit in to make it easy t install on linux. This make it harder for
>> beginner to get started with D.
>>
>> I can't even fork dmd. And this is probably the most important one.
>>
>> FOSS typically work in a dictatorship manner. This is ok, because the
>> dictator HAVE TO do the right thing, or the project will fork and a new
>> dictator will take the lead.
>>
>> Having a non open source compiler as reference implementation is a major
>> issue. Unless you are microsoft, google or some other huge company, you
>> can't afford that.
>>
>> Walter is arming his baby by trying to protect it.
>
> Umm. No. While Walter is the original creator of the backend, it was owned by
> the company that released it (Zortech) not him. Semantec bought Zortech, so
> they own the compiler. Digital Mars uses it with their permission (via
> licensing or leasing or whatever they did). So, Walter is bound by the license
> that Semantec uses for the backend.
>
> http://en.wikipedia.org/wiki/Zortech
> http://en.wikipedia.org/wiki/Digital_Mars
>
> Walter can give redrisribution permissions if you ask (which he typically does
> quite freely), but I don't believe that he can give blanket permissions, and
> he definitely can't change the license. He's tried. As I understand it, if
> Walter could make the backend GPL, he would, but he can't.
>
> - Jonathan M Davis

Understood. That is quite sad.
May 09, 2012
On 10/05/12 01:33, Adam D. Ruppe wrote:
> Have you actually used them? I've tried and never got
> far.

Yes, but that's because right now they are playing perpetual catch-up with DMD.  With the frontend stabilized, it'll be a different situation.

GDC works extremely well for me in general, and also produces significantly faster executables than DMD.
May 09, 2012
On 10/05/12 01:43, Brad Roberts wrote:
> If you're using ldc or gdc, you should develop agains the gdc/ldc provided
> druntime and phobos too.

No, that's a recipe for fragmentation.  Phobos should be developed in consort with the DMD frontend.  The problem is that DMD frontend updates take time to percolate across to GDC/LDC.
May 09, 2012
On Wednesday, 9 May 2012 at 23:47:38 UTC, Joseph Rushton Wakeling wrote:
> GDC works extremely well for me in general, and also produces significantly faster executables than DMD.

How did you install it? That's the stumbling block for me.
May 09, 2012
On Wednesday, 9 May 2012 at 23:49:42 UTC, Adam D. Ruppe wrote:
> On Wednesday, 9 May 2012 at 23:47:38 UTC, Joseph Rushton Wakeling wrote:
>> GDC works extremely well for me in general, and also produces significantly faster executables than DMD.
>
> How did you install it? That's the stumbling block for me.

Haha... getting GNU _anything_ working is always a stumbling block for me.

Either you have the 'right' version or you're blessed with incomprehensible errors.

/rant