Dear User of My Open Source Project
enfranchisedmind.com
enfranchisedmind.com
Usually, frustration is rooted elsewhere. The person has something to do, and is annoyed that it (still) can't be done, probably after trying my project along with a number of others. I try not to take this personally.
So my first response is to be civil. I don't even talk about anything mean they might have said, I focus entirely on the problem. I solve that problem, and say "here you are".
The response to this has always been gratitude, and even amazement that I solved the problem. It seems that once the person reaches the point of yelling at a developer, that person has given up and doesn't really expect anything anymore.
A community is built one person at a time.
When you receive bug reports, keep in mind that bug reports are crucial for your work. If you don't know about problems, you cannot fix them. So always thank each person who sends a bug report.
...
By all means help individual users when you feel like it, if you feel you have the time available. But be careful to limit the amount of time you spend doing this-- don't let it eat away the time you need to maintain the program! Know how to say no; when you are pressed for time, just "thanks for the bug report -- I will fix it" is enough response.
So although your counterpoint is good I would nonetheless say the author is spot on, and there are an awful lot of rude bastards out there who don't deserve free code, let alone free support.
That '_commerical_' support you're referring to doesn't scale worth a damn, so it's easy to out-compete those folks as a business and provide a superior product.
Please elaborate on this comment. Redhat has basically been the poster child for the free software/commercial support business model for over a decade now. I believe support for an open source software product can be scaled as a business.
People buy RedHat licenses because it's a defacto standard in the industry. Some people or companies use CentOS, which is a re-branded RedHat. But if you want the original, you have to buy the product.
The support basically amounts to access to their RPM repository. You'd have to pay a lot of money to get access to Alan Cox -- normal tickets just get you access to people who've been through the same training that your manager paid you to go to.
"...The Web consulting business was great, but it had one problem: limited margins. You could charge only so much for an hour of some consultant's time -- in those days, maybe $200. Some of that went to overhead (say $20) and some to pay the consultant's salary (maybe $70). That leaves you with a mere $110 per hour in gross profit. That's a lot of money, but it paled in comparison with margins in the software industry, in which you can produce additional copies of an application at virtually no cost."
So, if a body-shopping service company is competing against another body-shopping service company, they're facing the same per-employee costs and will have no problems in their market. However, if a body-shopping service company is competing against commercial software for the exact same product and market, commercial software will face lower costs and receive higher revenue for the same work and so will have more resources to bury that competing body-shop every time.
Also, if our company receives a service call, we regard it as a failure of our product to address our customer's needs. If a 'commercial' open source company receives that same call, they regard it as money earned from a support ticket.
Given that difference, which software product would you prefer to run in your business?
Say you want a car. You may want to go to the dealership and just buy one (Toyota's automated process, thus lowering marginal cost). However, maybe you're the hotrod type and would rather build it and customize it yourself. You pay for someone to help you build it and troubleshoot any mistakes you make along the way. Sure, it took longer to build, and was probably more expensive, but it's exactly want you wanted. I think that's where the value of opensource/support lies.
Commercial open source companies (at least Redhat) use subscription models for their support (in addition to consulting, professional QA, etc) so I don't think they would consider troubleshooting software money earned. In fact, I think this gives them a greater incentive to maintain the quality of their software so they get less support tickets and scale to have more subscription fees per support person. I guess you can say that RedHat, through their support, sells the peace of mind of having that support person if you want to go the open source route.
Addressing your post: Software isn't a car and the marginal cost to manufacture more software licenses is zero. When I direct an hour of effort to our commercial software, I'm gaining many dollars of future passive revenue thanks to that created wealth.
Contrast that with services and a 'free' product, where each hour of effort gets a support dollar but generates no wealth at all! Pitted against that means of generating revenue, a service company giving away its product is going to lose in the long-run every time.
To see this, just look at the software marketplace: Aside from the solitary black-swan exception of RedHat (which arguably sells licenses instead of services anyhow), where are the profitable open source support contract companies?
I can spool up 3,000 software licenses sold today without batting an eye (and add in support charges on top of that if needed) making a ton of cash with which to hire employees for product improvement, but 3,000 hours of support is a huge cost requiring a great many employees to manage before even a penny of profit is obtained.
Bringing this back to my original point: Commercial software companies can easily dominate 'free' open source alternatives given that reality, so they can safely ignore their free 'competition'.
Given that difference, which software product would you prefer to run in your business?
Since you and the followup are both wondering why you're being downvoted, I thought I would call this out, and point out that this part of your comment is why you're being downvoted. Because you're assuming that the Open Source support business model is to build shoddy software in order to get more support calls. This is FUD that is frequently used by proprietary vendors to try to discredit Open Source solutions. Open Source developers rightly take offense to being told they are not only building crap, but that they are doing it in order to fleece customers out of their money.
Proprietary software does not have a monopoly on quality software, and never has.
Yeah it does. Instead of having a single official company to go to for support, you can go to multiple ones and choose the one that fits you. Competition is a good thing, right?
The parent was referring to "scaling" for businesses, not consumers.
Competition is good as long as it's driven by quality, not price. A competition on price can be good for products, but then again, it's only good when your lowering the price by improving the quality of the manufacturing process ... I don't think anyone will be happy if Apple goes bankrupt or stops producing IPhones because of cheap knockoffs made in China.
In the case of support, people only want to pay the minimum amount they can for their needs to be met. If you want to provide quality services, you'll have a hard time doing that when your customers will discover that they don't need it and outsource their operations to India.
This happens because few pieces of software really need paid support. For an open-source project, in many cases you'll get better support from its mailing list than from a commercial entity. Only companies with enough money will pay for high-quality support ... and they'll only do it for peace of mind and for passing the blame. Not to mention that B2B products are quite boring and support can also be provided by cheap labor.
So the two models default to different basic assumptions and that has nothing to do with support contracts being available or not.
Nine out of ten times, if you want something, Users tend to google it to look for a share/free/OS version, before they fork out the cash, and if they are lucky enough to find one and get it running, It's always the coders fault that they can't quite make it work for their needs.
Sure, I could have more customers if I had an easier way to control your VPS than a ssh-based console, but at what cost? People who know Linux are pretty easy to support, once you give them (standard linux) tools. There are enough people who understand (sometimes even prefer) the standard linux tools to a web interface to support my business, so I say, why not offer them a service at a price that reflects the lower cost of supporting those users?
(right now my big problem is provisioning; that is, if you want to add services, you need to wait for an employee of prgmr.com to help. But most everything else, the user can do without my help.)
I think forcing your support people to stay on the line with rude or difficult customers is a good way to burn out your support people. I think having a liberal but well-defined money back guarantee makes doing support quite a bit easier. Keeping good customer support people is hard - I think losing the most difficult 2% of customers is a small price to pay to keep good support people for the rest of your customers. And really, I'm not in the business of tricking people into giving me money. If we aren't what you expected, then yeah, I'm happy to give you a refund.
(Note: I didn't read the whole rant. Presumably there were some obnoxious customers. Whatever - how likely is it that they read his rant and change their ways? Not very likely imo).
I don't have an aggressive "customer" attitude, but I get pretty annoyed when someone who uses the software then demands that I change something. Not request, not suggest, not offer to help, but demand that it be changed.
I'm not looking for more esteem, better rates, "karma" of any sort, I'm just happy to make it available because I think the world can't be worse off, and might be better off. I really, really don't care how many people use it, and what is clear is that keeping it private on my hard drive means that there is no chance it makes the world a better place.
You don't seem to be able to comprehend the idea that people will sometimes just make their work available to others without any desire or need to recognition or compensation. I think the world would be a better place if people did.
So I do.
If that really were so, then why the rant? So a part of you seems to care. The "demanding" customers are basically just dumb or socially challenged, so I would pity them, not write a long rant.
Secondly, it may be that you didn't intend it, but your first sentence is calling me a liar. I object to that, and ask that you withdraw it. It is so, I say it is so as a matter of fact because I am one of them, and while you may legitimately express doubt, starting a sentence with "If that were so ..." (emphasis added) is calling me a liar, and I think it's out of order.
Thirdly, I really don't care if people use my code, but I really do care that some people then behave in the obnoxious manner that they do.
You may be sufficiently socially disconnected - I don't know if you are, but you might be - to pity people who do the internet equivalent of repeatedly spitting in your face, but I'm not, and I object to it, especially when they use my work.
Oh dear, I guess if we were in a bar we would now start a bar fight and hit each other over the head with beer glassed? Sorry if I hurt your feelings, and no, I did not intend to call you a liar, just probing a little. I see a degree of difference, but it is not important enough to me to have a fight over it.
Anyway, sorry I even chimed in onto the conversation. Obviously people have different reasons to publish their stuff.
If we were face to face I suspect it would've gone completely differently. I don't think you'd've said what you did in the way that you did. I was simply trying to point out that you were, in my opinion, being rather more aggressive than perhaps you thought.
I accept that you didn't intend to call me a liar.
I'm not sorry you chimed in. I haven't down-mud you because I think you have added value to this thread. You have expressed a point of view. I think what you said was wrong, and I've supplied my point of view as a counter to it. The thread has been longer than I'd've liked, but that's the way it's gone.
I hope I've expressed myself clearly enough that you now understand my position, even if you might not agree with it.
Call it closed.
(gah, the original post is such a long exercise is self-important posturing! Complete with careful recitation of all the opensource work he's done. And then I followed the link to the bio site to learn the guy does "Agile coaching". At that point I even briefly considered doing a facepalm gesture).
I get the point about entitled-feeling users, but there's a flip side: in the comments, he goes on about welcoming bug reports, etc. from those users. He wants users to bug-test for him and help him improve his code, but he's not paying them for the QC work any more than they're paying him for coding.
If you release software, for better or worse, you set up some social expectations. If you don't want people complaining to you and wanting bug-fixes and support, either don't release that software or make it abundantly clear in the license, download site, etc. that the software isn't supported.
P.S.: either you a) don't care what people think about your project, then why the rant or b) you care, then why the rant?