Creativity is an important factor, but it is far from the only reason programmers "participate in the open source community."
A majority of people who write open source code do it as part of their jobs. Apache was originally written and is still maintained primarily by network admins and programmers who need reliable, low-cost Web server software and believe it's better to pool their efforts than go it alone. Many Linux kernel improvements come from programmers who work for companies that depend on Linux in one way or another, ranging from small consulting firms up to multinationals like IBM, HP, and Computer Associates. Intel and AMD have helped the Linux kernel scale to multiple processors and support 64-bit CPUs. DARPA has partially funded development of the ReiserFS journaling file system (which I use) and has also provided support for OpenBSD and some OpenBSD-generated security features like OpenSSH (which I also use), but seems to have had some problems recently with public comments made by OpenBSD project leader Theo DeRaadt, and may withdraw some or all of its OpenBSD funding.
There's also a substantial (growing) crowd working on free or open source software that is also the "base" for a commercial product. OpenOffice development is sponsored by Sun Microsystems, and OpenOffice is free, but Sun rolls OpenOffice improvements into pay-for StarOffice. MySQL is available either free or in a commercial version with added configuration tools and other proprietary bells and whistles, and at least half a dozen popular Web content management and ecommerce packages also fall into the dual-licensed, dual-branded category. Think of this as a formalized, legal version of the old Adobe marketing program, where Adobe winked at Photoshop "piracy" by home users and small-time graphics artists because they all got used to using it and, when they got jobs at companies with money, they all asked their bosses to buy Photoshop for them.
Academics also tend to be prolific open source producers. Astronomers write astronomy programs, engineers write engineering programs, economists write economics modeling programs. Naturally, most of this software is used for research in some way and is subject to peer review, so it is usually open source. Students, too, write open source code as practical exercises, and some of it is pretty darn good.
Another big motivation for open source programming is someone saying, "I want a program that does ____," and either one doesn't exist or it is too expensive for him to buy, so he decides to write his own -- and asks other people who want a similar program to help out. This is how Linux got started. Linus Tovalds wanted a cheap or free Unix-like operating system kernel he could run on his home PC -- as a learning tool while he was a college student, no less -- so he wrote one. Many other people around the world wanted the same thing, so they chipped in to help develop it. The GNU tools developed by the Free Software Foundation got added and made the Linux kernel the heart of what we now call the "Linux operating system" even though it is technically "GNU/Linux." Later a whole bunch of corporate users decided it would be a good idea for them to help develop Linux, too. These people and companies weren't developing Linux to benefit mankind. This was merely a synergistic side effect. They wanted the operating system for their own use.
The Free Software Foundation (FSF) wants to create free software for everyone. It's the organization's long-term social goal. Some people contribute code. Others, including foundations, corporate sponsors, and individuals (like me) contribute money. Many programmers get paid by the FSF to create free software that is intended to benefit everyone. This is no different from supporting free symphony concerts in the park if you think classical music should be available to all, regardless of ability to pay.
An interesting note about open source programming is that having your name on a project can be a nice resume boost. Open source projects not only give young programmers valuable experience, but give potential employers a way to evaluate their work by looking directly at source code they have written, something they can't do if an applicant has only worked on proprietary software. There is also the possibility that your open source project might spin off a commercial product that will make you a lot of money. Security expert Marty Roesch, for example, has built a successful business based on his open source Snort intrusion detection system, which he originally started writing as a hobby project.
Using an open source license for your software means that everyone to whom you sell or give your program gets access to your source code and is free to modify and redistribute that code. It does not necessarily mean you have decided to program for free all night while working in a gas station all day to pay your bills. And if you have created or have helped create free software that a company like Citibank or a government agency like the Department of Commerce wants to use, but wants to have modified to fit a specific need, there is no reason you should work for them for free.
Proprietary software houses charge corporate and government customers an arm and a leg for program customization, usually much more than the license fee for the software upon which the customized program is based. Smart open source programmers have figured out that they can charge just as much as proprietary software vendors for customization, installation, and support services, and that by eliminating license fees they can easily win most price-based bidding wars against proprietary software vendors while keeping their profit margins more than high enough to support themselves adequately.
In other words, there are many reasons besides altruism or the pure joy of creativity that prompt people to write open source software, and many of those reasons are just as selfish as writing proprietary software because you get a paycheck in return -- which can be (and often is) a fine reason to write open source software, too.
Note: Comments are owned by the poster. We are not responsible for their content.
I enjoy it because I know my software is being used to get a job done rather than just make money for some company
Many programmers get paid by the FSF to create free software that is intended to benefit everyone.
Example: RedHat has a small army of people working on GCC, but the FSF owns *all* the (copy)rights. The FSF does not have a *single* developer working on GCC!!!
RedHat knows this and yet they still pay this "small army" to work on GCC. RedHat is a business. They must see a financial benefit to working on GCC or they would not be doing it, even though the FSF owns the copyright.
Today, the FSF is a redundant organisation trying to claim credit for things they did not do and owning more software than what they have morally the right to.
They don't own any software. They own copyrights to software. However, because that software is under the GPL, I can do what I want with it (within the licence) and the FSF could not stop me even if they wanted to.
Your arguments are just FUD against the FSF.
What do you really have against the FSF? What did they do to you?
The FSF does not "own" any software. Nobody "owns" GPL'd software, not even Linus; that's the point of the GPL, as the FSF itself will tell you. Furthermore, they did not start "open source" development, nor even the concept of "Free Software". That was done decades ago, as RMS himself details on the GNU web site. What Stallman, and later the FSF (founded by him), did was codify it formally. Then, the FSF went to work on the (at the time thought) impossible--the creation of a wholly Free operating system. They achieved this goal with GNU--in two variants, no less--GNU/Linux and GNU/HURD.
Therefore....
Were it not for the FSF, the "Linux operating system" would not exist, because GNU would not exist. I thank them every day I use a computer, and mine happen to be running GNU/Linux and OpenBSD, both at work and at home.
And as for "moral rights" that you mention above, the FSF is, IMO, among the most "moral" and certainly "ethical" organizations on this Earth. The FSF fights for *your* rights, and you may well not even be American. You would do well to join them and help them write some code, thus benefiting all of us. If you don't know how or don't have time to learn how, there are other ways you can contribute. Write some docs. Purchase and use Free Software (it's not expensive). Promote Free Software when you have an opportunity.
The FSF does not "own" any software. Nobody "owns" GPL'd software, not even Linus; that's the point of the GPL
The druggist says, "We have three types of gin: Hydrogen, Oxygen and Nitrogen."
"Oh," says the drunk, "Trying to by funny, eh? Well there are three types of turd... Mustard, custard, and YOU you big shit!"
I wrote my first free software as an exersize in programming - I hacked up a version of a public domain search engine from dr dobbs and played with it, extending, and modifying it until I got a grasp of reverse indexing and how far you can push it with different types of backend. It was downloaded by about 5 people but I didn't care because I learnt a lot, and while at university this matters - its nice to be able to show people real code when you graduate.
I wrote my next piece of free software several years later - it started as a quick hack as part of an internal company project - the company later folded and I continued working on it as a hobby while looking for work.
That was about 2 years ago and since I started I have been in fulltime employment almost continuously since. Now the application has been downloaded about 20,000 times and has absorbed some smaller projects and will absorb another project soon - it has pretty much reached the point where I will have to hand over total control and start using a public CVS with some other authors working directly with the code rather than just sending me patches.
Its a strange feeling - it means the project is obviously a success, other people like it and use it enough that they want to code it.
The reward I have got from this projects have been
I write open-source software because I don't like the GPL. How can you call the GPL "free" when it doesn't allow you to take GPL'd code and use it in closed source software? It doesn't sound much like freedom to me.
I write open-source software because I don't like commercial software's adoption of "activation" features. I shouldn't have to contact Microsoft so they can allow me to run software that I legitimately paid for.
I write open-source software because I don't like my job and want to make a name for myself so that I can get a programming job that I would enjoy.
I write open-source software because I need a challenge and get bored quickly.
Amazement at the existence of Free Software
Posted by: Ciaran O'Riordan on April 26, 2003 12:28 AMWhat motivates me is my amazement at the existence of GNU/Linux.
If somebody proposed the idea today, it would be laughed at. I think we are lucky that a programmer of Stallmans callibre came up with the idea in the era that he did.
I code because I enjoy it, but I enjoy it because I know my software is being used to get a job done rather than just make money for some company. I hope one day to be employed to write Free Software. The existence of "SharedSource" and false companies abusing the term "OpenSource" motivates me to work a little harder and remember to pronounce the first two syllables of GNU/Linux.
Ciaran O'Riordan
#