Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question

closed as not constructive by Mark Trapp Sep 26 '11 at 8:16

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

"Ship buggy product..." Sigh :( – user1249 Sep 14 '10 at 7:09
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? – dlamblin Sep 14 '10 at 22:05
I've had plenty of payware apps that have died after an OS upgrade and were not updated. – mlk Sep 15 '10 at 8:31
Free software breaks more than commercial software? Thats completely false. – alternative Feb 6 '11 at 13:43
99% Profit margin? Can I take some of the drugs you're on? My time isn't worthless. – Incognito Feb 6 '11 at 14:32

64 Answers 64

Problem: You're using both meanings of the word "free" at once, which is confusing. Free Software (capital letters) is often, but not always, an ideological position. It can also be practical. How can you collaborate on closed-source code?

As for freeware ("free as in beer"), some people do it to advertise their skills or as a taster, to encourage people to buy a more full-featured program. I have a freeware video converter which prompts me to install browser toolbars every time I use it. I don't use it often enough for this to annoy me.

share|improve this answer

My application is free because the service, which it is a client for, is free. I don't believe any of my users will expect to pay me for a service that they can get elsewhere for free...

share|improve this answer

People give away software because it makes them feel good to give away software. Maybe they could sell it, maybe they couldn't. Who cares? It's their time, they own it, and if it makes them happy to donate some of their time, how is that any different than giving money to charity?

Different things make different people happy for different reasons because they're different people with different priorities.

As for this being bad for the business of software... ultimately, all software can be had for free. ALL software. So if your business model (to paraphrase Cory Doctorow) depends solely on your bits not being copied, you've got a problem to start with.

The fact is, people do pay for software, and large companies pay hundreds of thousands of dollars for software, because they have special requirements and need a custom solution. That market, the market for programmers, isn't going anywhere.

share|improve this answer

Your question has several assumptions I'd challenge:

  • The existence of free software diminishes the ability to make money.
  • The existence of free software inures customers to the cost of programming time.
  • Creators of free software invest their time and energy into these projects with no thought of later commercial gain.
  • Creators of free software have no reason to support their work; conversely, commercial software has an assumed high level of support for the very reasons you state (new OS, in your example).

However, to directly answer your question, I think it'd be safe to say the motivation for some is they simply wish to create a thing. Actually /selling/ the project is an exercise outside of programming and creation, and a work unto its own; sometimes programmers just wanna program. That statement doesn't mean that the quality of software or community support will be any better or worse than commercial software, but it does instill in me a greater instinctual regard for the product.

share|improve this answer
"The existence of free software diminishes the ability to make money" - I would definately say, the existence of free software makes one question why some software needs to be so expensive. If git is free, why should I pay thousands of dollars for ClearCase – Pete Feb 6 '11 at 15:20
You bias the argument. Git's existence doesn't exclude the need for ClearCase, nor does it exclude the need for software authors to be consulted to create add-ons for Git, support Git installations, teach Git, etc. – netshade Feb 6 '11 at 16:12
I'm curious, how do open source projects(and freeware) can be monetized? I tried to go for it since I love the open source community but to be honest there's no easy way to gain a fair income. For example, if you add google adsense, most of the people already have their browser with Ad Block, if you ask for donations, keep waiting as it will rarely happen (unless you get a lot of publicity by other users spreading the word of your product), people will "expect" support for free too due to the nature of the project. – allenskd Feb 7 '11 at 0:56
Some projects create commercially licensed versions of their code, that allow for businesses to embed their code w/o attribution in closed source projects for a cost. Other project authors (or project contributors, natch) open source some components, then make a fairly good living acting as consultants for that project; Rails, for instance, is open source, but there is a very, very healthy community of consultants creating code based on it. – netshade Feb 7 '11 at 13:43

Intrinsic Motivation.

I make things based on ideas that are worth a lot of money, laser projectors, custom-programmable lighting products for homes, modified video game systems which is a business in itself (windows, JTAGs, lights, painting, repairs, etc), and I give away my designs and detail my methods for all to see. I don't care about money, I care about creating, and hope that others can gain something from my creations.

When programming, I don't care if people want to buy my product and I can make millions of dollars. If they are able to encode a better video through a plugin in meGUI, or Open Office allows a person in a third-world nation to type a paper for a better education, I'm happy.

share|improve this answer

A theory in psychology: Maslow's hierarchy of needs, money is NOT enough for a human being.

  • Esteem: Programmers need more respect of others out of company, they need to be praised as "wow, It must be a talented programmer!".

  • Self-actualization: They may not write their favorite code as they want in company's project. So they write their code with own styles and design and publish them. During the process, they are project leaders, architects and bosses:)

share|improve this answer

FREE is easy, no pressure, no tensions (marketing, legal, support, finances, ..).

I will go with an ad based approach if my app is something server related (hosting content and stuff can cost a lot of money). Ads can fetch some money if not lots but it definitely covers server/maintenance costs.

I don't have to deal with bad bad pirates!

Good Karma!

share|improve this answer

I'm in love with coding! I really feel excellent when I think of somebody who's using my applications around the world. This was the first reason for my free applications. I should confess that I make a living with programming, besides I love producing free applications.

share|improve this answer

I tried my hand at selling a product that made working with Access SQL much easier, fun even...

I have a few dedicated users who love it, but it has not made me "loads of cash". I am now considering setting up a blog and offering it for free. As I no longer work with Access (ASP.NET MVC now), it doesn't hurts me and why not give back to the community that got me going?

Tech support has been hell, writing the installation was not my core skill, so on and so forth. Collecting money was as simple as using PayPal, so don't see that as an issue.

So my motivation is giving back to the community. I write articles for the same reason (for example,, but with a lot of these websites getting bought up, it is probably time to set up my own blog. Money? A bit of advertising, maybe. Or selling my collection of short stories on (The Kingfisher and other stories, by Andrew Wrigley)...

And yes, being loved. Money can't buy that, can it?

share|improve this answer

The customer wants - and pays for - solution, not software. If you want to see your customer satisfied, you should do a lot of customization work for him/her, not just throwing the software install CDs into his/her PO Box.

Even big software companies, who sell licences at horrible prices, provide (I mean: sell) additional services beyond the licences. From a tight angle, open source looks like a co-operation of smaller software companies to minimize development costs and set licence fees to zero. It looks like a win-win situation for the software company and the customer.

share|improve this answer

There are several reasons for making software available for free. It could be, that the software is only written to produce something else - making the source free, offers the opportunity to incorporate bug fixes and features by third parties without having to pay them, while you can get money out of what you produce with that software. See "The Cathedral and the Bazaar".

Another reason is that you write the program for fun and/or training and getting comments on your code by peers or even more capable persons than yourself might be more important than earning money - in this case, selling the software for a profit wouldn't be profitable at all.

And there's the third option of high skill linked with high self-esteem, where you take the route of Tarn and Zach Adams and make a living off the donations you get. Dwarf Fortress (programmed by Tarn Adams) is available for free, yet receives thousands of dollars in donations per month.

share|improve this answer

I think because every programmer has the appetite to program and to satisfy that they make an application but once they made it they want recognition and that's why they make them free :) Just like I have written tutorials for free. :)

share|improve this answer

Well, I post some source code to my website (at the moment, terribly outdated). In part, it is sort of a portfolio idea.

I would be very happy to sell my software for scads of cash if I had a decent product idea that some open source junkie couldn't clone and give away. Since those kinds of products are pretty hard to do solo or with a few other people, I decided a few years ago that the embedded systems/hardware market was a more financially sustainable career, and today I am happily working in a cubicle at a embedded systems company helping create ultra-high-reliability systems that make the world a better place.

Also, business - real business that pays all your bills - is hard to do right by yourself, in general. If you don't want to take that risk or deal with the hassle, it might be easier to simply give it away and keep the day job and just make small programs as a hobby.

share|improve this answer

There are other ways to make money than to charge directly for the software. Facebook is free software, but it brings in millions.

share|improve this answer
Where can I download facebook? – SamB Sep 14 '10 at 19:59
@SamB I know that's rhetorical but you can actually download FB's engine: – eds Sep 14 '10 at 23:44

If you produce closed source, paid software, it's likely that you had to pay for libraries and other gimmicks to develop your product. What you earn must be subtracted of the amount of money you spent in developing that product, not only the time. This leaves a very small net income.

If you use open source free products, you didn't spend any money to use them, but you are also obligated (by some licenses) to reuse the same license for your software. You paid "in code", rather than "in money". It's a different economy, but it gives products anyway.

share|improve this answer

Because I don't like to write support documents along with application /software. Maybe some company like it, buy it and land me a job.

share|improve this answer

What are your best memories in life? are they receiving a paycheck? buying a new car? If they are I really feel bad for you. My favorite moments in life have to do with accomplishing something I set out to do, hitting a home-run, meeting a romantic interest. None of these things have a price tag on them or could.

To answer your question why would I spend my time developing software and releasing it for free? because maybe someone sees it and they think of a use for it I never could have imagined, then they integrate it in their system and produce an entirely new use for it. Discovering something new is priceless , think of the first time you saw a computer. incredible. You would want to be a part of this.

If you put a price on everything , then not everyone can use it, people wont use what they don't know in their designing of a new concept, nothing new is ever created, or does so extremely slow.

Think of software as information, in a way that's really all that it is, 1's and 0's. Information is free, broadcast on televisions, radios, websites, etc. Why do we do this? so everyone knows whats going on, so we can all decide what to do next. if we aren't on the same page, we can't come up with the right solution. Nobody ever made anything that was truly great with a paycheck in mind. People do things to improve life, because they want to challenge themselves and create something they can be proud of.

share|improve this answer

Because we simply want to. If you spent hours making a 3d game of tetris in OpenGL, you probably did it as a labour of love and had a lot of fun doing it. You didn't do it for money, that didn't even enter into the thought process. The challenge and accomplishment was it's own reward, something more challenging and fun.

I didn't want to make money off of this. It's like saying why should I share my thoughts on SO when I can sell them in a book?

share|improve this answer

Often when programming I find myself with an idea that I can't get out of my head. Something that I just need to do. So I'll code it - I go into a "state" where I can visualize everything that needs to happen and I wind up creating something. The tool had to be made, but after the initial "burst" I'm a bit exhausted.

In the end though, the tool doesn't really "live" until it has people using it and enjoying it. Like a short story or a play or a move or whatever. So ... give it away and hope it enriches the lives of others.

From there though, maybe another person likes the tool and adds something to it. Then the tool takes on a life of its own.

I can speak for everyone, but a lot of the big open source / free projects seem to have that going on.

There's also the fact that there can be a lot of money made by giving away a free product. Google, Facebook and Zynga are prime examples of "free" software that finds money somehow. If you'd prefer a more concrete example (actual software) look at a company like "Red Hat" - Linux is free, they make money teaching people how to use it.

share|improve this answer

I was attracted to writing software for the sheer joy of creativity. Although my contributions have been humble and unimportant, my giving has always been a manifestation of that perspective.

share|improve this answer

It's because we are hackers and passion is what drives us, not money.

share|improve this answer
Succinct and accurate +1 – jasonco Feb 7 '11 at 13:31

One word. "Taxes". Our tax system is so bizarre and painful to deal with that any things I do on the side I just throw out there for free. I don't have the time and energy to fight with all the taxation issues that come up from selling. Selling software would become a net loss for me.

share|improve this answer
Excellent point of view +1 – jasonco Feb 7 '11 at 23:17

I can understand giving away segments of code for free to help others. However, fully made systems that compete with small to mid size companies trying to get off of the ground, offering support, where the open source counterpart does not and the 'go f yourself attitude' as stated above, I don't understand.

I could see systems built by these sections of code, snapped together like legos. However, then we're creating the atmosphere of software at your own risk, thus lowering the overall trust of our profession by the consumer.

Personally, the whole 'I make enough money at my job so I don't care' argument baffles me. I make a fair wage but am not well off enough to start my own philanthropic organization.

share|improve this answer

Here's another perspective that I did not see in any of the given answers already.

Do you drive a car? I think most people in this country do, and yet the vast majority don't get paid for driving. In fact, they pay quite a bit for it: the car, the fuel, the repairs, the insurance, the registration, and so on.

Everything you said about writing software also applies to driving. I see people on the highway and think, these people are crazy! You can earn money for driving but instead they do it for free.

And I don't just mean you can be a race car driver, though that's obviously a pretty cool way to do it. For under $100 you can register as a commercial vehicle and legally take paying passengers in your car. (Imaging pulling up to a bus stop and offering to take 3 people downtown for $1 each -- they save money, you make money, you were going that direction anyway. In a month you've paid off the license fee.)

Do you not like people paying you money? Are you not confident enough in your driving? Are you afraid they're going to start calling you at home?

The real answer is probably that it's a hassle, and unless you plan to start a taxi company, you won't make that much money off it, so it's not really worth the trouble. Sounds pretty much like software to me.

This isn't unique to driving, either. Every day everybody does a thousand things which somewhere, somebody gets paid to do. Taste coffee? Clean a bathroom? Listen to music and give your opinion of it? Ride a bicycle? Have sex? Yup, every one of these can be a paying occupation, and in every city in the country people (suckers!) are doing these things for free, or even paying to do them. That's crazy. That's life.

share|improve this answer
That's an interesting analogy, but I'm not sure it's right to compare it to everyday driving. The analogy would be more accurate if you were constantly picking up strangers and giving free rides in your car. ;) – Ken Jul 13 '11 at 13:36
It seems like the only distinction is whether other people get value from me action, but is that relevant? When I put some source code on the internet, it does not impact me at all whether nobody uses it or whether 1000 people use it -- usually I don't even know. It's really only a useful distinction to make in the physical world where providing value almost always comes at a real cost to the one providing it. I think if it was possible to give people rides for free without even knowing it and without it costing you anything (like free software) a whole lot of people would. – Ken Jul 19 '11 at 2:52

I'm not a professional developer (and I'm far from being a decent developer at all), but, among other things, selling (money involved) a buggy product would concern me so much. Besides, I don't think free software breaks more often than paid software (we all know some examples of this).

And finally, in my humble opinion there are plenty of business models that can be followed to earn money without charging for the software. I'm sure that 40 answers take good care about that.

share|improve this answer

Well I offered my apps for a long time as freeware. Simply because I didn't believe people would pay money for my apps or that I wouldn't sell more than a handful apps a month so the extra work of implementing payment processing, etc. seemed pointless to me.

I guess that's how many people think. They rather give their products away than to try to sell them.

Luckily one year ago I tried out selling one of my apps and was pleasantly surprised.

share|improve this answer

Econ 101 - In a perfect market of infinite suppliers and sellers with no asymmetry of information the price for a product is solely dictated by the value of a person's time.

share|improve this answer

A good example for distributing a software free and open source: The Kinect for XBox stuff.

Some programmers started to use it as a device on their PC's and programmed some code, many other programmers were able to use that code and develop it further with many other ideas. If the initial programmer would closed the code and put it on for sale, it would have NEVER grown that fast.

share|improve this answer

There's also the fact that you get a sort of gratification knowing you're helping people do something that they themselves couldn't. By making it free, you're also making it obtainable and easy to share; essentially, you're building a name for yourself, with people who trust you. Lastly, it could be a sort of belief thing. You could be programming because you believe things should "be" a certain way. Take the jailbreaking community, for example. The programmers and hackers in the iPhone Dev Team spend a good bit of time looking for exploits and creating programs that use them. They could make tons of money by charging a few bucks for the jailbreaking programs they've created, but they don't.

There's also the threat that if you don't make it free, someone else will.

share|improve this answer

Two words, Advertising Revenue.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.