DConf 2013 Closing Keynote: Quo Vadis by Andrei Alexandrescu

Iain Buclaw ibuclaw at ubuntu.com
Thu Jun 27 04:17:50 PDT 2013


On 27 June 2013 09:21, Joakim <joakim at airpost.net> wrote:
> But lets assume that you are right and the optimization patches I'm talking
> about would tend to end up only in the backend. In that case, the frontend
> would not have any closed patches and the paid version of dmd would simply
> have a slightly-closed, more-optimized backend.  There go all of Joseph's
> previous arguments about the paid version not making the same OSS frontend
> available to the free reference compiler or ldc and gdc.
>
> You are making my case for me. :)
>

Now you are just re-hashing what my initial thoughts were...  ;)


>>> Never read it but I have corresponded with the author, and I found him to
>>
>> be as religious about pure open source as Stallman is about the GPL.  I
>> suggest you try examining why D is still such a niche language even with
>> "ten fold" growth.  If you're not sure why, I suggest you look at the
>> examples and reasons I've given, as to why closed source and hybrid models
>> do much better.
>>>
>>>
>>
>> Then you should read it, as the 'cathedral' in question was GCC - a
>> project
>> started by Stallman. :)
>
> I'm familiar with its arguments from a summary, not particularly interested
> in reading the whole thing.  Insofar as he made the case for various
> benefits of open source, some of the arguments I've heard make sense and I
> have no problem with it.  Insofar as he and others believe that it is an
> argument for _pure_ open source or that _all_ source will eventually be
> open, I think history has shown that argument to be dead wrong along with
> the reasons why.
>
> It boils down to the facts that there is nowhere near as much money in pure
> OSS models and volunteers cannot possibly provide all the materials
> necessary for a full product, both of which I've mentioned before.  This is
> why hybrid models are now taking off, blending the benefits of open and
> closed source.
>

But it's not blending the benefits at all.  Open-core, however you try
to sway or pitch it, does not qualify as open source. It is closed
source. It is the opposite of open source.

Personally, it is not acceptable that you market yourself as an open
source product when in fact your business model is to sell closed
source. This is confusing, I'd say it is border line lying. Well,
marketing often is lying, but in the open source community we call out
such lies, however subtle.

Most open core vendors still market themselves as open source leaders,
then come to you to sell closed source software. (They deserve to be
critizised if you ask me).


>>> Not sure what point you are trying to make, as both gdc and dmd are open
>>
>> source.  I'm suggesting closing such patches, for a limited time.
>>>
>>>
>>
>> Closing patches benefit no one.  And more to the point,  you can't say
>> that
>> two compiler's implement the same language if both have different language
>> features.
>
> The closed patches benefit those making money from the paid compiler and
> since the free compiler would get these patches after a time limit, they
> eventually benefit the community also.  As for your purist approach to
> compiler implementation, by that rationale, no two C++ compilers and all the
> D compilers do not implement the "same language," since there are always
> differences in the features supported by the different compilers.
>
> I'd say that some differentiation between compilers is normal and necessary.
>

This is were C/C++ went horribly wrong.  Different compilers having a
vagary of macros to identify the same platform or architecture, the
question of what is valid syntax being different between compilers,
code written in a certain way working in one compiler but throws an
error with another...

We are striving to be better than that from the start.


> Also, many of the hybrid projects have pulled in previously purely-open,
> purely community projects like KHTML/WebKit or mostly-open projects like the
> linux kernel.  The linux kernel repo evolved over time to include many
> binary blobs and effectively become a hybrid model.
>

Binary blobs are the exception rather than the rule in Linux, and many
hardware vendors would flat out say 'no' to doing any support on them.
Moreover, the position of the Linux Foundation is that any
closed-source kernel module is harmful and undesirable, and they are
always urging for vendors to adopt a policy of supporting their
customers on Linux with open-source kernel code.

Which goes to show how useful a hybrid model has been for them...


> And not all hybrid companies are that large: MySQL before it got bought out
> was pulling in hundreds of millions of dollars in revenue using an "open
> core" model but certainly wasn't in the super-sized class of Google or
> Oracle.  There are a handful of small companies that provided closed,
> optimized versions of the PostgreSQL database (since most of the underlying
> code is open source, it can be considered a hybrid model).
>

MySQL iirc was the first to practice this model.  But they were
initially open source from the start, and made their business through
a support model.  When they switched, their business model turned to
selling closed source software, and so their incentives moved away
from being able to produce open source software, and to instead
produce as much closed source software as they could get away with.

In MySQL's case they eventually had to backtrack on the plans of
closed source backup, because they didn't get away with it. The public
pressure became a burden for Sun and MySQL management had to give up
those plans. Though now this is in the hands of Oracle, they have now
revitalized the plans for closed source backup tools - so now we are
seeing products that evolved from the same codebase, but are now
considered two separate products (LibreOffice, OpenIndiana...)

The most successful open source projects, like Linux and Apache, are
not Capital backed businesses to begin with, and even among companies,
the most successful ones, such as Red Hat, Canonical, are not "open
core" companies but so called "pure play" open source companies that
have committed themselves to stay open source.

But in the end...
De Gustibus Non Est Disputandum.

--
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';


More information about the Digitalmars-d-announce mailing list