Here comes the unpopular opinion: I don't like open-source projects being "turned into a business" at all. Something's always gotta give.
* Paid support: you now have an incentive against improving the documentation. Conflict of interest.
* Selling binary builds: your software can no longer be easily recommended and shared by others.
* "Premium features": I'd rather call this 'crippleware'. You're intentionally crippling the 'community version' to give people an incentive to pay you money. That's certainly not in the spirit of open-source.
Frankly, I don't feel software is a thing that should be sold at all. You're always going to be intentionally (and artificially) restricting something to make that business model work - after all, software is infinitely reproducible at effectively zero cost.
Instead, if you absolutely must make a business out of it, offer something like a hosted service (that people can easily replicate themselves, in the spirit of open-source). That way you add something to be sold, rather than taking something from the existing project and asking money for it.
The better option is to accept donations, and put some serious effort into getting those going. I don't really understand why people will spend weeks drawing up a business plan, but for donations they just slap a 'donate' link in the footer of the page without thinking, and then complain after a few months that they're barely getting any donations. Accepting donations requires the same amount of thought to make it work.
There are ways to introduce a paid layer of services above and beyond the basic product without needing to lock away features of the software itself as you said, though. Things like cloud-based services that cost you money to offer. I'm working on this now for one of my projects that has quite a bit of debt in my name for the first several years of hosting when it was more expensive for hosting and bandwidth.
While donations may be preferable, one unfortunate thing is that while donations and advertising on your hosted site can add up and can pay for hosting and a few niceties in some cases, they often don't bring in enough to support even a single developer. Or pay off back debt in my case.
Many open source projects wind up abandoned due to the developer(s)' inability to make ends meet from the work they are doing. Real life responsibilities... job, college debt, family, etc... tend to pull in the other direction. Many open source and freeware apps in the Windows world are turning to less-preferable means of supporting themselves such as bundleware. In the mobile world, they're trying their hand with more intrusive in-app advertising and in-app purchases.
- software is a new form of literacy. Perhaps at some point in the past literate people could contribute to the communi
- the fallacy of altruism. Developers working on an open source JS drop list widget are not being altruistic - their contribution to the community could as easily be say working at a soup kitchen, probably with more value to the world.
"Contributing to the community" is something we rely on Adam Smiths Invisible Hand to help us with 99% of the time. So while I use and appreciate the OSS developed to date, it has gone beyond a simple charitable model and into an Eco-system beyond any simplistic approaches. I would like nirvana, but it's dubious as a long term strategy for OSS.
- conflicts of interest always happen. When it is important enough, say Linus' salary, the community will either whither or find a way to build its own institutions to make the important conflicts managed - like Linus salary. This is part of building strong institutions we hear about so often
- getting better at begging vs better at selling seems to be the last point you make. Honestly I cannot see that as a honourable position of trade.
We don't have perfect solutions - but we are working on them
> getting better at begging vs better at selling seems to be the last point you make. Honestly I cannot see that as a honourable position of trade.
Asking for donations is most certainly not begging, and I personally find that a somewhat offensive way to present it.
Donations are a voluntary contribution in return for some kind of work that was done; begging, by definition, isn't in return for anything. They are two fundamentally different concepts, just as different as 'accepting donations' versus 'selling'.
Donations is to my mind a charitable endeavour - the small amount of change is thrown over and not considered. In fact lack of consideration is probably the right legal term. Sponsorship involves some contractural form to occur - and so implies a trade of value.
To be fair you could have been saying get better at donations by rebranding them as sponsorship instead of better at soliciting uncontracted contributions.
But I still think we need to find a new and better way to monetise OSS contributions.
* Paid support: you now have an incentive against improving the documentation. Conflict of interest.
* Selling binary builds: your software can no longer be easily recommended and shared by others.
* "Premium features": I'd rather call this 'crippleware'. You're intentionally crippling the 'community version' to give people an incentive to pay you money. That's certainly not in the spirit of open-source.
Frankly, I don't feel software is a thing that should be sold at all. You're always going to be intentionally (and artificially) restricting something to make that business model work - after all, software is infinitely reproducible at effectively zero cost.
Instead, if you absolutely must make a business out of it, offer something like a hosted service (that people can easily replicate themselves, in the spirit of open-source). That way you add something to be sold, rather than taking something from the existing project and asking money for it.
The better option is to accept donations, and put some serious effort into getting those going. I don't really understand why people will spend weeks drawing up a business plan, but for donations they just slap a 'donate' link in the footer of the page without thinking, and then complain after a few months that they're barely getting any donations. Accepting donations requires the same amount of thought to make it work.
EDIT: No bulletpoint lists on HN? :|