An idea for commercial support for D
Joakim via Digitalmars-d
digitalmars-d at puremagic.com
Sun Jan 4 10:51:37 PST 2015
On Sunday, 4 January 2015 at 17:18:22 UTC, Iain Buclaw via
Digitalmars-d wrote:
> On 4 January 2015 at 14:50, Joakim via Digitalmars-d
> <digitalmars-d at puremagic.com> wrote:
> Annoyance also extends out to maintainers too (I could write a
> book
> about Where DMD went wrong? Some more of DMD's greatest
> mistakes, and
> Just who is this DMD compiler anyway?)
I'd be interested in reading that, you should write it up
somewhere.
>> Tell that to the most widely used open-source projects these
>> days, ie hybrid
>> projects like Android, iOS/OS X, llvm/clang, Chrome, etc.
>> There are
>> advantages to both the cathedral and the bazaar model, which
>> is why it's
>> best to mate the two, as has been done by the listed highly
>> successful
>> software.
>>
>
> At least three of those projects I would see as anything but
> bazaar. :)
I'd say three are hybrids to varying degrees and iOS/OSX is
largely cathedral nowadays, despite its bazaar BSD antecedents.
> I was referring to patches from closed merging upstream.
>
> One example would be, oh, DIP-25 being implemented in the closed
> frontend - let's say Walter implemented it, then someone from
> the
> community implements DIP-25 in a differing way and raises a PR a
> couple months later. Should the PR be accepted? If it is
> should the
> closed implementation be dropped? Because of the closed nature
> there's no way to compare which one is more technically sound
> than the
> other.
There is no reason for the open source project to defer a PR
because of closed patches that aren't available yet. Once the
closed patches are opened, the two implementations can be merged
for their best aspects.
This is what happened with the AArch64 backend for llvm recently:
devs were working on an OSS backend and Apple developed their own
closed one quicker and shipped it for the recent port of iOS to
64-bit. Later, Apple opened up their closed backend, and the two
were merged. I believe they ended up going with the closed one
and merging back pieces of the existing OSS one that they wanted.
> There's also a question of timing too. Obviously such an
> undertaking
> shouldn't happen until the frontend switches to D, nor when
> there are
> still plenty of visitor re-writes being done in the frontend.
I doubt either would preclude doing it now, as the closed patches
would be continually rebased on the OSS frontend.
>> Was Walter selling a paid compiler with the then-closed dmd
>> backend? If
>> not, the comparison is not valid. The idea here is for paying
>> customers to
>> fund closed patches for a limited time, and speed up D
>> bug-fixing and
>> development much more. If Walter was not getting paid for his
>> closed
>> backend but only keeping it closed because of licensing
>> issues, the
>> situations are completely different.
>>
>
> For me, the comparison is between these key timelines:
>
> - No source code
> - D1 Frontend released as Artistic/GPL
> - Backend released under restricted license
> - Moving to Github
> - Creating a 'core' team
> - Everyone (even Walter!) switching over to the PR patch
> submission/review system
> - Re-license Frontend as Boost
>
> Each point over a 14 year history has been a step in the
> direction of
> being 'open' and each brought a boost in development. The
> number of
> changes between each release compared to back in 2.020 days is
> a clear
> sign of this - as well as the three digit open PRs.
Your point seems to be that D moving from a one-man, closed
project by Walter to an OSS project with several contributors
greatly sped up its development. Nobody is disputing that.
The question is how to attain the next level of growth, speeding
it up a lot more, and I think this hybrid approach will do that.
On Sunday, 4 January 2015 at 16:54:17 UTC, Martin Nowak wrote:
> On 01/04/2015 09:31 AM, Joakim wrote:
> I don't think anyone has an interest of closed patches.
> Building a point release with the bug fixed might be of more
> interest.
That's merely a matter of packaging, there are several ways it
can be done with the closed patches. Of course, initially only
providing closed patches against the stable OSS point releases
would be an easy way to start.
More information about the Digitalmars-d
mailing list