Open Source - Why Do We Do It?
mikosullivan presents us with a unique opportuinity: "This Saturday, Sep 8, I have an appointment to meet with Congressman Rick Boucher to discuss open-source software. I made the appointment after talking to the congressman at a town-meeting here in Blacksburg, VA. During our short talk he asked a question that (not being a particularly talented public speaker) I found difficult to answer: why do open source software developers devote their time and talents to something they give away? That's the question I'd particularly like to answer: why do we do it? Answering this question may be the key to resolving public FUD about open source. This meeting is part of the
opensourcelobby.org efforts."
... well, I suppose they're related reasons really. But anyway.
First reason: suppose I have a problem with a computer, which needs code written to solve it. Once I've written the code and solved my problem, it seems a little unfair to make everybody else have to write their own solution when there's already one here. So I give the solution freely to friends who ask for it - and it's only a small step from there to putting it on a website for everybody.
Second reason, which I suppose is implicit in the first: I get a kick out of feeling I've benefitted everybody. Not just those people who pay for my code, to the feeble extent the licence agreement permits them to benefit; but anyone with a web browser who wants to download useful stuff off me. By contrast, when I work at my day job I'm always conscious that I'm primarily working to benefit them, and that any benefit that comes to people outside the company is a necessary side effect and not the actual goal.
(Yes, I know I'm not benefitting absolutely everybody, because there are people who don't have computers, or don't want to do the same things as me with their computers, who have no need for the stuff I write. Doesn't bother me; what I like is the idea that anyone who wants my stuff can get it. It's not necessary for everyone in the world to want it. People who don't want it don't have to have it, and hey, that's cool too :-)
I know it sounds corny, but it's true.
I want to do something bigger than myself, something that has a real potential to help people in a serious way. I want to leave behind a legacy of good will when I'm wrom food.
I realize that programming free software is perhaps not the most noble thing one could possibly do, but it is what I'm good at. Free Software gives me the ability to use my skills as a programmer to do something really great, even if it is small in the big picture.
Laugh at it if you want, but that's the reason I write Free Software, not because of ego, or because I can, but because I believe that I am helping people --and that makes me feel good.
Jordan Bettis
``Wherever you go, there's another stupid sigfile quote.''Politicians make a decent salary, but generally much less than they could make in private industry. You might just as well ask the congressman why he puts his time and energy into public service.
The answer is probably similar for Open Source/Free software people 1) there's a certain satisfaction in doing something you feel is worthwhile, 2) the desire to leave the world a little better than when you found it, 3) recognition by your peers is very motivating, 4) even if you don't make money directly, it can help with your later career.
Another thing to keep in mind is that most of us entered the IT field because we have a passion for the technology. The reality of most corporate work is that we never get to do the really cool stuff that we dreamt about in school - real work is pretty mundane. Working on something more interesting on the side lets us do the stuff we dreamt of doing when we entered the field.
It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail. - Abraham Maslow
And we do it becaus it means less time spent reinventing the wheel. over and over and over again, Open Source projects have allowed me as a developer to roll out stable and working applications for the company I work for. Applications with few bugs, most of which can be fixed easily and quickly either by my company or by the maintainers, resulting in higher quality software for less time spent. We want the best we can get, and the only way to know is to look under the hood and tweak the engine to maximum performance, minimal sound, or best fuel-consumption. Open Source allows us to do just that.
I just have to wonder... is the same question asked of Microsoft.. why do you close your source?
//rdj
No one can understand the truth until he drinks of coffee's frothy goodness.
--Sheikh Abd-Al-Kadir, 1587
First off, every person has his or her own motivations. So this will never be a complete or even very acurate list.
;-)
;-) A good story on this is Michael's reasoning to the Mexican goverment.. they could save over 400 $ USD by using linux instead of Microsoft's products. For companies and countries alike this can be a big plus.
.. compare our cute Tux pengiun to the windows flag ... you have to admit, its a lot more cudable right!?
However, in my experiance and perspective, the folowing factors play a role:
* Learning abilities in Universities teaching OS design need good tools and source to show what an OS is, does, and develops over time. Linux is an obvious posibility here
* Learning to program. A newbie programmer (taking classes, or as hobie) need a furtile ground to learn the tricks of the trade, they also need skilled people they can questions, and they need 'real life projects' to truely get into it. Ofcource open-source provides all of the above. Gnome for C UI programming, KDE for C++ UI programming, and all base GNU tools for low-level C coding.. Also, linux offers a wide range of languages (from bash, awk to fortran, pascal, c, c++ and java)
* Peer review. People love to hear they are genious. People love to be apreciated for there work. Open source offers the posibility to achive just this.
* 'The itch'. A populair expression in open-source development, often cited as a big reason. if one is using a program which is 'almost right', but has this one anoying bug, or this one feature missing, in open-source it is quite 'easy' to fix it, or add to it. Basicly it allows to 'scratch that itch'.
* Security. Many people are afraid that bugs will be left unfixed in comercial products (and not be able to do anything about this, see above). So they prefer software where many other hackers have looked at. Also the chance of back-door's are a lot less likely in opensource projects, its very difficult to hide virii or back doors in source code
* Political or ethical points of views. The its-not-microsoft factor can be important to some people. They hate the bloat, or the blue screen of deaths, or just think bill gates is not a nice person.. Whatever the reasoning behind it is, they think 'big comercial company' is bad and 'underdog' is good.
* Support for standards. Open source almost always creates open standards. Allowing, by its very nature, the competition to build a competing product, which is interchangeble at any document or protocol level. You would 'never' see a open source project create a 'properitaire standard', or modify existing standards without publishing every bit of documentation and source code. Remeber, this is how TCP/IP, ethernet, the Web, ftp, dns, etc came into existance. Had these been closed propriatairie standards, the internet as we know it would not have existed!
* Innovation. By its very nature, open source stimulates a darwinistic development. Several projects who achive to do the same thing, and the best one will recieve the most support and resources, thus growing faster and getting even better. It also allows for totaly new and crazy idea's to be invented and implimented, and who knows, it might be genious, and catch on like wild-fire.. Many big companies try to simulate this in 'brain labs', but they will never achive the same level of darwinistic development, since the company can only release one product, and has to 'play it safe'
* Cost. linux and many powerfull tools that run on it, is free. For home users, students and poor people alike, this offers the only choice to have a good computing platform. For other people it just saves a lot of money
* Support. There's a lot of support (mailing lists, open bug systems, friendly helping people) available for almost all linux software. This makes learning and using a lot easier.
* The ability to 'Change the world'. An individual can not steer the direction Microsoft or any big company is going, and thus cannot control the direction of computing in general.. In linux they can! By being able to contribute idea's and write your own versions of tools, or invent new ones, one can now 'steer' the way computing will work in the world. So it allows an individual to 'matter' in the bigger picture.
* Last but not least
Anyways, i'm sure there's more a lot of other points out there, but for me, these are the reasons why i like open-source development.
He tells them that open source is how every other industry works.
When I buy a car, I can take it apart and see how it works. I can even modify its workings. If I tried to fix a bug in a closed source program I could be sent to jail per the EULA.
It is important that lawmakers know that open source is not just a hairy programmer working late nights in his spare bedroom on a program he intends to give away. There are companies out there that have fully embraced open source because it's better for the consumer.
I'd rather have someone respond than be modded up.
That's a great answer to the question, and you could extend it like this:
"You know how some people just enjoy building model trains in their basement? Imagine what they would do if they could share their models... or link their tracks to others' tracks, in other basements. Imagine the excitement they'd have and how perfect they'd want their model to be. You'd almost certainly have configurations that would rival the original engineering decisions that go into building actual train yards, wouldn't you? Just like that, the net enabled a lot of model builders - i.e., people who enjoy programming - to share their models with every other model builder in the WORLD. So it's not surprising they built some amazing things, including the most stable large-scale operating system and the world's most-used web server."
I think people would instinctively understand an analogy like that, and it makes for great advocacy.