I think building the stuff YOU (or your company) need for free, and offering paid support to build stuff other need is exactly how open source should work. If no one has interest in paying the paid support, I guess there is no business opportunity, and it's better to focus on something else.
Does anyone actually think it _should_ be free? Are there really people who think a developer who creates and maintains an opensource project should be obligated to answer any and all support questions and requests?!
I assume you must have run into people who think this way OP, or else you wouldn't be asking the question. I can't say I've ever heard anyone argue that though.
Offering free open source software with paid support is a well-established business model. It's probably hard to scale quickly, but if you have a popular project with decent enterprise adoption you can probably make it work. In fact, offering paid as opposed to free support will probably help your project get traction with enterprise users. They'll feel more comfortable knowing they can have a contractual guarantee for support as opposed to just hoping you follow through.
Random idea: but if your service is so good but addressed to technical people, why not put it out for free (or even open source it) and offer paid support?
I've considered opensourcing some business products and researched the various models for doing so. I found three main ones:
* pay for support, like ardour
* pay for additional features, like gitlab on-premise
* pay for hosting, like piwik, or gitlab.com
I'm not a big fan of paying for support, like mentioned in the article, because support is not just something you give to your users, it's also useful for you: if someone spotted a big bug (possibly a security issue) but is not paying for support, don't you want to know it? Asking to pay for support is also creating a lot of tension, because people will ask for help anyway, and you have to tell them they won't receive it if they don't pay.
Paying for features is an obvious and efficient way. But I also like the idea that someone in a country where what I consider a decent price is actually a big part of the income can still manage to use my product to its full extent, provided they make an effort to use it.
That's why pay for hosting seems the best way to me for opensource products : everybody can use the product to the full extent, no issue is ignored, people pay for comfort.
Obviously, this works for the products I mentioned because they are ... products, and not libs. But I think it can apply to libs as well:
* pay for support : the idea mentioned in the article
* pay for features : this is something Sidekiq is doing, would love to know how it goes for them
* pay for hosting : this one is tricky, maybe offer to help implementing the lib in customer product? Hardly scalable, though
I would say that for libraries, paying for additional features is what makes the most of sense for me.
If you provide something as a service instead of an open source library, you can theoretically monetize it in the future (in a more direct fashion than the standard FOSS support contact) which makes it possible to use to generate VC interest, which is harder to do with a pure open source option. I'm fairly sure that's why it has become common to do this, though in pure practical terms I agree with you that this system isn't ideal.
Personally, I just ignore these services because virtually always the risk of building on them and having them suddenly disappear outside of your control far outweighs the time they save you in building your own thing.
This leads to the problem of stopping to pay once the feature you care about exists. Software is an interesting problem where you build once sell a lot. It's not economical if you sell once and give the rest for free. There are a lot of software products that I use, that I don't personally need more features for, so I would have no incentive to pay. My usefulness has been subsidized by others.
In other words, I don't think it's a sustainable way to support open source projects
I think the reality is, if its a hobby project supported by one person then money doesn't really solve it. No company should put itself in the position of being reliant on some random individual on the internet whether they are willing to pay them or not.
Of course, adopting this stance takes away opportunity for many small time open source projects to become popular in the first place, and the general incentive and opportunity for open source to succeed.
Maybe we should turn our open source projects into businesses? At least make it clear we're open to taking money for extra features and/or support?
I mean, I have a whole list of projects I would like to support in a meaningful way through a subscription for some service, but it seems finding a way to do this is itself a hoop to jump through. Even if I'm super benevolent maybe I'm not willing to do HR/accounting work in order to exercise my benevolence.
I know about Gittip and the like, but if you're a business (the only kind of entity with meaningful money to throw at this problem), you'd rather have a clearcut way to pay for a service, not a platform for dropping pennies.
I think there should be a better way to promote and support open source software development, but I'm making the assumption that people are willing to pay to get issues done, what do you think about it?
Companies will often pay small amounts for needed support. It’s pretty common to just hire an external contractor to make some improvements to an open source project that you need. I know a number of people who have gotten open source work funded in this way.
What companies are reluctant to do is pay people money for nothing in return. There are just too many different open source libraries that you use in the normal course of development to communicate with all the developers, much less pay them.
I think offering code as open source and then charging for support is very typical. E.g. MySQL, Red Hat, etc. But that is probably only profitable after a ton of people are using the software in question.
If you are releasing a new thing, you won't have an existing install base, so probably better to charge for licenses. After you get a fanbase, you can crowdfund your version 2.0 or related material.
The implicit fault in the OP is that the developers don't get anything out of providing support. This is entirely false, however, as your users are your testers. If the product isn't good enough to pay for, as many projects are when they start, or fills too small of a niche to justify a payment from someone, you risk your project becoming stagnant due to no user-input. When others use open source projects, their specific goals for using the project might vary slightly from the developer's, and the use-case will never be fleshed out--leaving the project at a lower quality than it could be, limiting appeal and growth.
That doesn't mean it's the wrong choice all the time, but these are the tradeoffs that you're making when you make that choice.
From my experience in the medium business world (maybe 500 people total?), paying is the only option. Open source is evil. Maintaining things is evil. Writing your own code is evil. Just shell out $x,000 for support.
If I could find a way to say "Yeah, we can get 'support' for this open source library for $xxx per month" my life would be much easier.
"I believe that most companies charging only for support are tempted to make the product harder to use to increase the need for support."
I agree with this. Many advocates of open source software continue to push the paid support option as a viable route for open source developers. But often the suggestion is made without thinking through the implications of such a proposal. And the idea of deliberately making a product complex or poorly documented in order to encourage paid support is inherently unattractive to any customer.
For solo developers or small developer teams, I can't think of anything less appealing that having to focus on paid support as the benchmark for financial success for their business.
A paid 'source available' option is one way to charge for the actual product and give your customers access to your source code (which can include provisions to modify the source code). This model may not be popular with open source advocates, but it provides a way for the developers to keep their focus on the product and on making it as easy as possible to use.
In fact this model isn't new. There is a long history of developer tools sold, not as open source, but with the source code available for modification and incorporation in to other products.
Or pay the developers for "diligent support". Many open source projects offer some kind of paid support or commercial license. A lot of people seem to expect fully fledged support for free, and that's pretty crazy.
If you want "free support" you either need to be able to fix it yourself or get on good terms with the developer. In any case, don't be a dick.
reply