An idea for commercial support for D

Joakim via Digitalmars-d digitalmars-d at puremagic.com
Tue Jan 6 05:34:58 PST 2015


On Tuesday, 6 January 2015 at 12:05:34 UTC, uri wrote:
> Your business model is flawed for a number of reasons. Firstly, 
> companies make money from their own products, not paying staff 
> to figure out which bug fixes/features to cherry pick for the 
> tool chain.

Before you make such claims, you should probably think about them 
a little bit first.  Please tell me one company that does not buy 
outside commercial software which they then use to build their 
own products.  Some companies will want to cherry pick features, 
others will just buy an accumulated patchset against the point 
release from many devs.  The suggestion that all companies will 
have to spend a great deal of time picking what patches they want 
is just silly.

> Secondly, no one makes money by locking out others when they 
> themselves can be locked out in the same manner. This is 
> basically what your model seems to boil down to.
>
> Party 'A' provides patches X,Y,Z in the compiler and others 
> have to pay for them. Party 'B' provides patches M,N,O and 
> similarly, others pay for them.  Now party A does not benefit 
> from M,N,O unless they pay for it and party B does not benefit 
> from X,Y,Z unless they pay for it. So no one wins.

I was with you until "no one wins," what the hell does that mean? 
  If party A wants to run patches M,N,O with their D compiler and 
vice versa for party B, they can just pay for them, just like 
everybody else.  Since party A will be making money off X,Y,Z, 
they shouldn't have any problem using some of that money to pay 
for the other patches they need.

> So the best solution is A and B both open their patches and 
> both benefit from all contributions.

This means A and B can't make any money off their patches, so 
they have to get some other job. That means they only have time 
to work on M and X on the occasional weekend and each of those 
patches takes six months to finish.  You are obviously okay with 
that glacial pace as long as you get their work for free, but 
others are willing to pay to get the pace of D development sped 
up.

> Thirdly, how can one separate the features? For example, say 
> I'm willing to pay for features X,Y,Z but not M,N,O. How do the 
> D devs split the features out so I only get M,N,O? Separate and 
> special builds for each paying customer?

Glad you brought this up, there are several possibilities.  Many 
users would probably just buy all the closed patches against a 
point release, so there is no question of splitting features.  
But a handful of paying customers may be more adventurous, or 
cheap, ;) and choose to only buy a custom build with their needed 
features X,Y,Z.  This probably wouldn't happen right away, as it 
will take more time to setup a build process to support it, but 
supporting custom builds like that is definitely worthwhile.

> Fourthly, what about the OSS people using D?  Are the X,Y,Z and 
> M,N,O features released GPL so they can benefit immediately or 
> do they wait 6 months?

To begin with, D is not a GPL project, so why would they release 
them under the GPL?  As stated earlier, the patches would need to 
be funded up to some monetary and time limits before they would 
be released back to the OSS project.  So party A might contract 
with their paying customers that they'll release patches X,Y,Z 
once they accumulate $5k in payments from all the customers who 
buy those patches, plus a six month delay after that.  If they 
don't make $5k for a long time, the patches won't be released for 
a long time.

> If it's 6 months why would anyone pay for the features? If it's 
> longer than 6 months, or even if its GPL I think most will 
> abandon D and go to Nim or Rust.

Why does anyone pay for software now?  It doesn't much matter to 
a paying customer that the feature will probably be free in a 
year or two if they need to use it to make money _now_.

As for people leaving because somebody else has developed a 
proprietary feature for D and not given it to them for free, 
companies like Sociomantic have already developed such features 
and they haven't been integrated upstream, why haven't "most" 
left already?  The dmd backend is not under an OSS license, why 
haven't they left?  I suspect there are not very many of the type 
of people you're talking about in the D community.

Maybe a handful of FOSS zealots would leave, but the resulting 
commercially supported D would be so much better, they'd be 
swamped by the new people coming on board. :)


More information about the Digitalmars-d mailing list