Why do programmers write closed source applications and then make them free?
As an entrepreneur/programmer who makes a good living from writing and selling software, I'm dumbfounded as to why developers write applications and then put them up on the Internet for free. You've found yourself in one of the most lucrative fields in the world. A business with 99% profit margin, where you have no physical product but can name your price; a business where you can ship a buggy product and the customer will still buy it.
Occasionally some of our software will get a free competitor, and I think, this guy is crazy. He could be making a good living off of this but instead chose to make it free.
- Do you not like giant piles of money?
- Are you not confident that people would pay for it?
- Are you afraid of having to support it?
It's bad for the business of programming because now customers expect to be able to find a free solution to every problem. (I see tweets like "is there any good FREE software for XYZ? or do I need to pay $20 for that".) It's also bad for customers because the free solutions eventually break (because of a new OS or what have you) and since it's free, the developer has no reason to fix it. Customers end up with free but stale software that no longer works and never gets updated. Customer cries. Developer still working day job cries in their cubicle. What gives?
PS: I'm not looking to start an open-source/software should be free kind of debate. I'm talking about when developers make a closed source application and make it free.
"Ship buggy product..." Sigh :(
Free software breaks? I'm sorry you choose bad free software. Have you tried something like Ubuntu? So much quality software in one nice package. And, IE or Chrome being free isn't a bigger issue to you? How's a solitary programmer going to compete with that?
I'm referring to free apps, not free operating systems. It's very common for an app to need an update when an OS gets revved (be it Windows 7, iOS 4, OS X 10.6). When the app is free the update rarely comes in a timely manner if at all.
I've had plenty of payware apps that have died after an OS upgrade and were not updated.
At that point the developer would no longer be selling any new copies. It must not have been selling well to begin with.
@ken, or they want you to pay for it again...
@ken, thanks for this post. I don't think there's a conversation happening here, but you do have a point. I released an app two years and decided to make it free for no good reason. While it's true that total sales, optimistically, would not have been more than 10K in pocket (or half that!), it would've probably got me on the road to selling software instead of services.
Free software breaks more than commercial software? Thats _completely false_.
99% Profit margin? Can I take some of the drugs you're on? My time isn't worthless.
Chris and Adolf, I think your answers are great. I will be releasing an app exactly in the same way you said it. Ashvini
The Stack Exchange system is one of Question and Answers. It's not a discussion forum. @Joe Until you get 50 rep you can't leave comments (other than on your own posts). In the meantime look around and try to provide real answers, you'll soon earn enough rep to be able to comment
Also note that you can get 100 rep by associating with a (sufficiently reputable?) Stack Overflow account.
What, you mean like Facebook? That's free in terms of dollars and cents. All that it costs you is your soul.
@Ken, may I ask how old you are? I see a big difference in how younger Vs. older programmers/developers view capitalism in general.
Proprietary software also eventually "breaks". The only difference is that now you're forced to beg the original programmer to fix it, at the price the programmer wants. Vendor lock-in is no fun, and it's non-existent with open source.
Why do people act in plays, or play music, or play sports, or paint pictures for free?
Sometimes I feel angry at needing to pay for something I feel should be available for free. So I create the free version for myself - and everyone else. I paid for the device, I'm not willing to pay twice as much for your "special" software just to be able to do what I bought the device for in the first place. You do not deserve the extra money. You tried to rip me off, and hundreds of other customers too, see if I let you.
"Customers end up with free but stale software that no longer works and never gets updated. Customer cries. Developer still working day job cries in their cubicle. What gives?" <= the same shit happens often with commercial products (how many organization are stuck with ie6 because all of their intranet apps made only for IE6 with no update ? ) but as those are closed source you can't even think about hiring another company to upgrade it.
Because I don't want to feel obligated to provide technical support or offer refunds.
If somebody buys something off of you, they feel entitled to certain things. Like technical support, or bug fixes, or documentation, or crap like that. Whereas if you give them something for free ... dude. Tech support? Bug fixes? Docs? It's FREE. What were you expecting?
As far as I understand, the question can be reformulated as: why do you feel obligated to give your app away in the first place?
We've had good luck in the past with pricing simple apps at $8. Maybe it's just a Mac thing, but we found users would easily part with $8 and then wouldn't feel particularly entitled to a high level of support (they were always surprised at the high level of support they got ;) ) Actually getting money encourages you to keep working on the app, make it bigger and better. If we feel it's significantly better, then we simply raise the price accordingly, usually to $20. I don't believe in software costing much more than that.
@BlairHippo: Why would you want to be giving out buggy, unsupported, undocumented software in the first place?
@Ken: maybe because it was made for scratching the dev's own itch (and thus didn't need to be very fancy), and then the dev realized many others wish to scratch a similar itch?
@Ken re: please don't confuse price and value. It is quite true that paying even a small amount usually means some sort of transaction cost - this requires effort, and putting in effort means the return needs to satisfy the effort. Are people paying for the software (a non-scarce good), or paying for your time/effort in making/supporting it (scarce goods)?
@Ken - users don't read documentation. If someone had a problem with my software, I would try to help, but there is a much higher expectation when they pay for it. Like speed up your app by removing spyware from their PC.
@mouviciel: That sort of drags in the question of, once you write the program, why not make it available to others. I suspect that many of the free programs out there are not written primarily for distribution, bit rather distributed as an afterthought.
Giving away your software for free won't stop people from complaining and being jerks. But you'll feel zero guilt telling them to go F themselves when they didn't pay for it.
@Ken - there's a difference between having good luck selling something and making a profit. Your strong opinion on pricing makes me feel like you wouldn't settle for less.
@John, sir, beautiful, just beautiful!, @BlairHippo, well about tecnical support, I've seen several companies charging support for X months, sometimes its included for 6 month then you have to pay, sometimes they just ask you to pay for support + the product..
Most of us make use of software that has been provided to use free of charge. As a result, it makes sense to share our own software free of charge as well. Basically, we are exchanging our software for the other free software but without the overhead of actually going through a transaction. There will be leaches who do not contribute, but since distribution is so cheap that does not matter.
Selling is Hard
Actually trying to sell software makes the process much more difficult as you have to market, collect money, and worry about the legal ramifications of selling to people. For a lone programmer this takes them away from what they really want to be doing. As a result they may release their program simply so that other people can have benefit even if they cannot.
A New Model
It might be argued that a new model of software development is arriving. The model of selling software is an attempt to take physical-world selling and apply it to software. However, software is not like the physical world. Because distribution is so cheap a couple of issues arise.
- Letting someone use your software is basically free for you.
- Attempting to prevent people who haven't paid for the software from using it is really expensive.
Under this view, attempting to charge per copy of the software is a losing game. Thus you should attempt to make money on software-related services, not software itself. Thus you might charge for a support contract, hosting services, etc. rather than the right to use the software itself.
Incidentally, this model is used by webcomics, web series, etc. which give the primary product away for free and sell related merchandise.
It's also similar to Trent Reznor's model in giving away so much of his Nine Inch Nails music. I think this is the link (but I can't watch to check because of the machine I'm using at the moment) http://www.youtube.com/watch?v=Njuo1puB1lg
A lot of the issues of "Selling is Hard" are mitigated by the AppStore for iOS: I realize this is a unique case, but it does handle some of these concerns for a tiny chunk of a very huge market.
@Yar: Getting apps onto the App Store is not difficult if you pay attention to the rules and guidelines. Getting people to notice it once there, among 150,000 or whatever it is now other apps, is.
@David Thornley, yes, but marketing is a problem for free apps too. As the App Store has demonstrated, though, sometimes getting a million users willing to pay $1 is easier than getting 100 users willing to buy 10K in services. I think I've got the zeroes right ;)
+1 for "selling is hard",this is something I believe a programmer shouldn't be doing,but he has to know a little about it anyway
The "selling is hard" point is something many people overlook but is very true. Most programmers are bad at it and generally hate doing it. +1
What's more, some things are exceptionally difficult to sell. Stuff like programming tools and fundamental libraries are awkward to get adopted widely if sold; the more you charge, the less likely it is that other developers will willingly touch it. Give it away, and it acts in part like an advert for your skills and can lead to income streams that way.
selling support contracts instead of software can give the wrong incentive to software creators because they can make more money supporting a buggy/complex/poorly executed piece of software than supporting a well written and stable piece of software.
@barkmadley: Except that selling support contracts for buggy software means you're spending all your time supporting it, even for a fairly low number of support contracts. What you want to do is sell a lot of support contracts, so the money is coming in, but the code's so good that you spend almost no time on it.
Selling is hard, but it's not like you have to meet some sales quota. You were going to give it away.
@David Thornley: yes that is the goal, but good software doesn't need a support contract.
Releasing free apps and working on open source programs are great advertisements for selling a product, namely you. (Alternatively phrased: free apps are a loss leader for selling your time.)
There's also the concept of the "gift economy", where the more you give away the wealthier you are. Why would I not donate back to my peers/society at large when I have received so much from so many people?
Lastly, what other field allows you to directly affect the lives of millions of people by writing something that makes their lives that little bit easier?
It is not an either/or situation. You can actually have a paid job AND release free software.
@Paul I program for food. In my spare time, I also program and give away at least in part because other people gave me stuff: Squeak, SBCL, FreeBSD, exim, stunnel, epic, apache, emacs. And that's just the stuff off the top of my head.
@Frank Shearar - That's a poor business strategy. Giving away a product that has 99% profit margin if sold, so you can charge for a product that has 0% profit margin (your time) seems counter-productive. Does anyone do math?
@Mystere Man: If I charged for software I wrote in my spare time, I'd be butting up all sorts of interesting barriers (much more complicated tax return, possible no-compete issues). Since I write code in my spare time anyway, I have the choice of "only I see it" or "I give it away". To me, that balance tends towards "give it away".
So, you want to work for free, in order that someone may give you a job, instead of just creating your own job? That my friend, is what we call being a chump.
@Mystere Man: Maybe it isn't actually about the money. Maybe they're not thinking "what's in it for me?" Maybe people are actually just doing it because they want to, and maybe to help other people, and the money _really doesn't matter_.
@el fuser, Mystere Man: It's an enormous amount of work running your own business, involving a lot of dogwork that I care nothing about, with a high risk of failing. Instead of, say, doing what I love all day, with a _good enough_ salary, and financial security for my wife and children. So by all means, go run your startup. Good luck.
So... find a business partner to handle that stuff for you. And honestly, once you have a wife and kids, this makes even less sense. You only have a few hours left in a day, to spend that writing code, especially when you've already spent 8 hours writing code, just steals time from your family. To each his own, I guess... but remember the **time deposits** you make with your family today pay dividends for years... Fail to make those deposits, don't be surprised if your home life ends up *bankrupt*.
@Jonathan Hobbs - I was responding to Frank's comment about using free software as a loss leader to sell more of your time. I completely agree that people write free software for a lot of reasons, but the reason Frank specifically gave is a poor financial one.
@Mystere Man: It's funny you should say that, because it certainly worked out for me, even from a strictly financial point of view. To be explicit: the availability of my code for inspection by employers helped me land a better (in all ways) job.
@Mystere Man: Yes, _if_ I had a great, and enough capital to buy me the time to implement and market it (at _least_ 6 months to a year, I would imagine!), yes, I could resell the time I spent in development many times over. That's a large chunk of capital. Too large, in my case. It's not as simple as "99% profit margin versus 0% profit margin".
I suggest that you watch this fantastic video to learn why money is often not the motivation for doing things: RSA Animate - Drive: The surprising truth about what motivates us
I recommend that you watch the whole thing, but it also directly answers your question around the 6:40 mark.
THis is probably quite spot on why people write software for free (and really why anyone does anything without charging for it)
- Some people write programs for the fun of it—selling it turns it into work.
- Some people rank the number of people who use their programs above how much cash they get for it—selling it pushes down the first where they don't care much about the second.
If you don't want to be responsible for all of the responsibilites of selling your product then atleast license it to some company and get royalties or similar.
I release my software for free because I have spent time and energy on it but have neither the time or inclination to market it, someone might-as-well benefit.
By personal philosophy is (and I do sell software too), "Competition makes you better".
If you can't create a product that blows the competition (free or not) out of the water you're going to be in trouble.
But you don't even need to market it! Just make a basic webpage and if it does something that people need, and typing that need into Google makes your webpage come up, then you'll have instant customers.
@Ken Yes but if you don't market it, nobody's going to find it, and then you're not going to get paid anyway. There are gazillion programs out there for every task. Divide the number of potential customers by gazillion and you get an epsilon percent that will be exposed to your program by sheer chance, and they are not going to buy it because they are just some teenagers who just want to use your program once, ad hoc for something. So what's the point? Without thinking about the business practices around your program you're not going to be paid anyway (not any significant amount anyway).
I'm just speaking from experience. We sell huge amount of software and about 99% of our business comes from people Googling what our software does. The first thing to come up is either our site, or an article talking about our product, which links to our site. Of course, this doesn't work in the case of heavy competition. But if there's heavy competition you've sort of already lost.
@Ken There it is: "...or an article talking about our product". How did you manage to get someone to write an article about your program? People don't usually write about some obscure audio-video format converting program buried deep in the download.com archives. Just the fact that a journalist noticed you means you invested more efforts in promoting your program than what many do-it-for-fun programmers are willing to invest.
A lot of free apps are created by someone who is fully employed and has come up with an idea for an application that they produce in their spare time. That person doesn't "need" the money to survive.
A lot of times finding the mechanisms to market, sell and collect payment are just not worth the effort and sometimes individuals just enjoy offering something they thought as useful to the general public.
If you are competing with a free application then the best strategy is to make a better product. I've often purchased an application over using a free version just because it offered more features or was better implemented in some way.
There does come a point where enough is enough, and then there is the fact that it does take more effort to sell something even though it may be a small effort. I still need to come up with a way to collect money for example.
I think the reason I post free apps that are closed source is simply because I love full featured freeware myself, so I like sending it out to the world with the same idea in mind. When I can get a significant task done with a completely free software package it feels great, so I like to share that.
Really if the answer of 'why not make it free?' comes down to 'because you can get piles of money' then it all is about what your motivation for releasing some software is. Not everyone is motivated by more and more cash.
It's less about the cash itself, but the ability to make enough of it to be able to work for yourself... not for a company or as a contractor, but entirely for yourself. Software makes doing this so easy. No office, no overhead, etc. Once you've done that you can never go back to working for someone else.
@Ken: That's not strictly true. Working for yourself entails certain bits of work that not everyone wants to be involved with. I have looked at the option of working for myself, and while I feel confident I *could* do it, I have no desire to deal with a lot of the minutiae that would come with it. I found a company I'm happy to work for, that values me, and I'm content working for them.
Question - If you are releasing it as freeware, do you have a specific reason not to release it as free software (open source)?
I see two main reasons:
An individual programmer may just want to be known and loved.
There is an alternate economic model behind the scene. Some famous examples: iTunes, Acrobat reader, Firefox, Ubuntu are all free but their promoters all make money with these products (selling entertainment, paid features, audience for search engines, support).
Why does anyone offer free advice here on Stack Exchange when some people make money answering technical questions? I think this points to a basic psychological need to be generous. Jorge Moll and Jordan Grafman, neuroscientists at NIH, have found that charity is hard-wired in the brain. See the Washington Post article ``If It Feels Good to Be Good, It Might Be Only Natural'' at http://www.washingtonpost.com/wp-dyn/content/article/2007/05/27/AR2007052701056.html
Both Kohlberg's theory of cognitive development and Gilligan's ethics of caring view people as interdependent and developing towards increased empathy and altruism. This behavior is necessary for humanity to survive and thrive.
Lewis Hyde says there are two types of economy: (1) The exchange economy (economy of scarcity), where status is accorded to those who have the most and (2) the gift economy (economy of abundance) where status is accorded to those who give the most. Examples of gift economies include marriage, family, friendship, traditional scientific research, social networks (like Wikipedia and Stack Exchange), and, of course, F/OSS.
IMHO, Eric S. Raymond and Linus Torvalds performed a miracle: transforming selfish programmers into generous programmers. This is very similar to how Elisha transformed 2,200 selfish students into generous people with the miracle of ``the feeding of the multitude.'' In II Melachim 4:42-48 Elisha must support 2,200 students. There's a famine. His students are hungry and selfish. Each of them has some food, but they refuse to share with each other. After Elisha distributed a mere 22 loaves of bread to them, they began to share with one another. Soon, not only are they all fed, but there's food left over. The true miracle is not that bread materialized out of thin air, but that those who were once selfish became generous, inspired by the example of one person's generosity. Something similar has happened over the last couple decades, as a result of the release of Linux and other free software.