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. :)

Reply via email to