With my recent work on Fire, Adium, Perian, and A52Codec, I have come to realize several misunderstandings concerning open source software.

Ask anyone involved in Open Source Software (OSS), whether it be the users or the developers, and you will find there is often a disconnect between the two groups. The users are upset with the elitist attitudes of the developers and the developer are upset with the whining of the users. Why does this happen? The answer is simple, people are greedy.

The user’s perspective is simple to relate. The user is used to software made by a company. If they should find a fault with such software, the company has people paid to calmly acknowledge the customer’s concerns, and pass the information on to the developers who work to resolve it. The user sees a kind response, and a fix or requested feature usually shows up in the next version or two. When the user does the same to an open source developer, they often get a snide remark or no reply at all in return. The user doesn’t understand this, because the user doesn’t understand OSS.

In order to truly understand OSS, one must look at the perspective of the developer. Developers who works for a software company are paid to work, and so they are willing to work on projects they either dislike or even hate. They do the work because the dislike/hatred for it is worth the compensation they receive. The OSS developer doesn’t have this compensation, and so the motivation is clearly something different.

The motivation for the OSS developer to release a program free of charge is typically a combination of one or more of the following reasons:

The software uses another piece of code or library which requires the work as a whole to be released under an open source license (GPL being most notable here). The developer hopes to interest more developers to join his efforts. The developer fundamentally believes that all software should be free and is trying to lead by example.

Now, with these motivations in mind, consider the user’s request for a feature which does not line up with the developer’s interests. The developer does not receive compensation for his work, so that leaves only altruism. Stack the requests on top of one another, and the altruism is quickly depleted, leaving the developer to reply with a variant of the classic response “Do it yourself” or the kinder “Patches welcome.”

Upon seeing this response, the user tends to think, “I don’t know how to program,” or, “I don’t have the time,” and sees the developers response as elitist because they seem to be saying “I am better than you, so go away.” The reality is the developer is really saying, “I don’t care about that. If you want it, you will have to do it yourself, because I won’t.” It is like giving a random person a $20 bill, and he says that it should really be broken up into a ten, a five, 4 ones, 3 quarters, a dime, 2 nickels, and 5 pennies. Do you proceed to go out of your way to find a bank and make change for him, or simply tell him that if he really wants change, he can do it himself?

In my previous post, I mentioned the fiasco concerning the Perian beta. A private build was posted on our download site (without a link to it I should add), and macupdate posted it as an official build. They refused to remove it when we asked, as so we just deleted it from the server. Another user cursed at us, and posted the link to our semi-public betas. His attitude showed that of a user who thinks he and others are entitled to something more that we were offering without giving anything in return. This is like the stranger seeing you take out your wallet, pushing you over, taking your wallet, grabbing the $20, and saying, “What were you waiting for?” Would you be inclined to give this person anything ever again?

These are two examples of the greed users express. There are many more. Now, I must point out that these users are not representative of the whole, but they the most vocal. Many of the users are quiet and the developers never hear a peep. Only once in a blue moon does the developer hear from one who is truly appreciative. Perhaps, if the users were more grateful for the work the developers put into their free software, then maybe the developer would produce more than they already have.

P.S. If you ask me to do something in OSS and I don’t care about it, you will receive an estimate of payment, a no, or no reply at all. I only make exceptions for friends, and OSS developers who work on programs I use. Don’t expect anything more from another OSS developers either.

Tags: Open Source

