Why Do People Write Open Source Software?
M.Broil writes "Two interesting articles try to answer this question. One's at NewsForge, the other's at Cybernaut.com. The two writers reach conclusions that are almost exactly opposite. Which one is right? Or is it possible that different open source coders have different motivations? (That's what I think, anyway.)" I suspect as well that each developer has their own reason, ranging from ego to malcontent to benevolence.
Because opennes implies freedom. Humans like freedom.
Second, because we have bad experiences with Microsoft. Microsoft is closed. Proprietary. Restrictive. Opressive. User hostil. Unreliable.
Etc.
Because it's not there.
it seems to me that people get into OSS for the same reason they might get into local government (i.e. small town politics). if someone is interested in government and politics, they try to do something locally first, because a) people will let them and b) there is less bureaucracy. there is usually little or no pay when involved in local government, but just like working on OSS, it gives a good resume boost and gives valuable experience. i guess the only difference is that local government is not aiming to be a competitor to higher authorities :)
BSD is for people who love UNIX. Linux is for those who hate Microsoft.
...to make the world a better place, and just because you can.
Informatus Technologicus
As the author of a cryptographic toolkit [libtomcrypt] and a bignum toolkit [libtommath], both of which are written in portable ISO C, build out of the box on any GCC equipped machine and generally perform reasonably decent I have two cents to offer.
As an OSS developer myself I have to say that it is not that I'm not willing to go all the way with a complete product it is often that the end users themselves are not willing to put in the effort to review it.
For instance, combined 500 people have downloaded the recent releases of my libraries. Which doesn't seem like a lot except that crypto libraries are generally not horded that much.
Often I will go months before receiving anything from anyone. Whenever a bug is found I often fix it within a few hours at most. Mostly I find the bugs in the libraries as I wander through it.
Though my projects are "limited" scale I bet similar reasoning applies to larger scale projects. If a developer doesn't get user feedback its not only hard to fix bugs they don't know about but often discouraging to continue development.
Tom
BTW my libs are at http://libtomcrypt.org for the curious....
Someday, I'll have a real sig.
Conversely, if you charged for it, people would bitch about it all the time.
Even the "selfish" reasons that can motivate OSS developers don't involve a monetary transaction. The resume-building aspect can, in economic terms, be considered an investment in human capital, an investment made with time and effort, not dollars. For many would-be IS professionals, they may not have the financial resources to take a certified class in $hotnewtech, but jumping in on an OSS project can provide similar benefits. It's a nice alternative means of building a skilled workforce.
Stop by my site where I write about ERP systems & more
They do not realize that they are taking food out of their future mouths.
What a load of crap.
Among my projects is a class I released to phpbuilder.com's "shared code library". It is a method for web servers to send emails through a remote MTA. (PHP's "mail()" function only works on *nix if you have sendmail installed)
By releasing this library into the public (under the LGPL) I've seen it grow and get better as others have used it, and occasionally, tweaked it to fit their needs.
Why people release software to the public is different for each person. It's really like asking: "Why do people drive on freeways?" or, "Why do people dig with shovels?".
Open source licensing is a tool. Different folks use that tool for different reasons. The point, however, is that we *have* this tool, and isn't it kinda neat?
I have no problem with your religion until you decide it's reason to deprive others of the truth.
I agree with the scientific discovery part, but your statement about food breaks down.
The difference here is simple. The scientist that makes a discovery is paid somehow to do that. They are just going to make another one later. If they make enough, they continue to be valuable.
Their living is new ideas.
OSS people work differently.
They have problems to solve. They make their money solving problems. These solutions typically require tools to build.
By building better tools they are more able to solve problems. Since they can solve more problems, they will make more money.
When you buy a license to run someones software, you are basically paying them to solve your problem. When you hire OSS capable people, you are paying them to solve your problem.
The difference between the two is profound.
When you purchase software, you do not own the solution. You only pay for the right to make use of their solution that you can use according to their terms. It is not your solution.
Spending your money on someone who can build with OSS means that you own that solution. How it is used and what it does is on your terms.
Given the licensing terms today and the potential per user costs they incurr, OSS provides a much better long term value proposition than closed software does.
Anyone who really understands what that means will become a lot more willing to pay for OSS solutions.
Here is another way to look at things. All the money for all the solutions can either go to Redmond, or it can go to the people you have to hire anyway to make that mess work in the first place.
Which will be cheaper in the long run?
Personally, I would much rather support and educate the folks around me and actually get something rather than pay them what I have to and also pay that big and very hungry gorilla in Redmond.
Stealing food indeed.
Blogging because I can...
Another common one is that they have a tool that gets the job done a hoarding it does them no good, so they release it for the common good. Of course most of them do it because they found value in another open source application they used and figure "hey I got something for nothing why not release this if there is a chance it will help someone." A good example of this from my personal experience is CEPS or Cisco Enterprise Print System, while there is arguably not a lot of new code there (it is based around a number of open source tools), the completed package is definitly worth more than the sum of its parts. The author was very happy at finding open and free solutions he could use to get his job done, and in return released the best print system in existance back to the world for all to use. The author gained something from the open source movement (all the free tools that allowed him to make a super low cost print system that beats every commercial system out there) and the community gained something (this great tool). Everyone wins and it costs him almost no additional time or expense to release his work as open source. To check out the project go to the CEPS page at sourceforge.net
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
...because they love what computers could be.
I've always thought that the great thing about computers is their mallability - the way you can change the way they act.
Then comes issues like licensing, and the way that proprietary software can only be extended using special macro languages.. These things drop artificial flexibility barriers onto a completely open system - a very sad waste of the potential of such devices..
Because malleability is the best trait of computer programs over specific, fixed systems, it is only at its best if no such artificial barriers are imposed on the system.
The open source model really just seems like a natural method of software development that avoids such wastage...