Open Source - Why Do We Do It? 378
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."
It's deeper than because we can. (Score:3, Interesting)
If others improve on your work, you still made it possible for the improvement to happen. If you improved someone elses work, you still feel ownership of making it better. In short, it makes us feel good.
-- Len
Two reasons to kick off with... (Score:5, Insightful)
... 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 :-)
Re:Two reasons to kick off with... (Score:3, Insightful)
Some elaboration:
People make web pages to express themselves. To spread information they think is important. To let others know who they are. To conveniently provide something to people they know (family photos, for example.) Because they want to learn how to use an exciting new technology.
I think all these reasons apply equally well to open source software. Of course, there are other reasons too, but I think perhaps the analogy might make "average people" think about it from a new perspective.
Bob
Re:Two reasons to kick off with... (Score:2)
There have been many, *many* times where the solution is more viable through recreation than using existing code. One of the problem of "not reinventing the wheel" is using the same existing technology that, often, no one wants to touch. It may be a new wheel on the outside, but the spokes are the same on the inside, and they eventually fall apart.
Further, what if your code falls into hands you don't want it to. Surely, you don't want to give your code away to *everyone*. Terrorists? Government agents? The same tools which can be used to create "freedom" (as some people mistakenly use the word) can also cause oppression.
My take on it: release code if you like, but it's not "the best way". There is no "best way". Programmers who think the open source "revolution" is going to take over Microsoft's closed source scheme in the long run are in for some major disappointments. The two can coexist, but I doubt one will override.
Demonstration... (Score:3, Interesting)
One word... (Score:4, Insightful)
People write free software for the same reason they want nice cars and big houses - so people will notice and envy them. Not that there's anything wrong with that, but it's no big mystery.
Quite simply, people write software of the highest quality they're capable of, then give it away, in the hopes that it will become popular, and they'll become a household name (even if only among geeks). People want to be able to go into an IRC channel, or make a Usenet post, and say something like "Oh yeah? You're saying I don't know anything about software? Well, you know vi? I wrote that."
Sir Edmund Hillary (Score:4, Interesting)
Which is obviously no different from the views of commercial developers. The turning point isn't why such energy is put into it, it's why you give it away. And that should be self evident: in an increasingly, hideously commercialized society, developers are forced every day to work with things that don't work right, cost exorbitant amounts of money, and make you forego many of what should otherwise be your usage rights at the behest of whoever's selling said thing. Why give it away? To counterbalance the lunacy of current sales policy. Why put so much effort in? No-one likes working with junk.
Re:Sir Edmund Hillary (Score:2, Informative)
The author of the quote "Because it's there" was George Mallory [xnet.com], not Sir Edmund. Mallory died trying to climb Mt. Everest in 1924.
A complete statement [willerup.com] of Mallory's view suggests that it does not really apply to writing software: "The first question which you will ask and which I must try to answer is this, 'What is the use of climbing Mount Everest ?' and my answer must at once be, 'It is no use'.
Software is primarily and above all, useful.
However, Mallory also says: What we get from this adventure is just sheer joy. And joy is, after all, the end of life.
Sometimes I think this view applies to writing software and sometimes I don't.
because not everyone is money-motivated (Score:2, Insightful)
We do it for the sense of community.
We do it because we are altruistic.
These are definatly not motivating factors in the business world.
Re:because not everyone is money-motivated (Score:5, Insightful)
I just have to wonder... is the same question asked of Microsoft.. why do you close your source?
//rdj
Re:because not everyone is money-motivated (Score:2)
I just have to wonder... is the same question asked of Microsoft.. why do you close your source?
That's an easy one..to make money. How much money would Microsoft make as an Open Source-based company? Almost none. Sure, its nice that Red Hat is more or less showing a profit these days, buts its tiny compared to the kind of bank Microsoft is pulling down quarter to quarter.
I'm not bashing Microsoft here...I like money too. I use it to buy clothes and books and food and shelter and more computer equipment and such.
Re:because not everyone is money-motivated (Score:2)
Re:because not everyone is money-motivated (Score:3, Interesting)
Huh? Nobody's asking them to GPL their crap. Piracy wouldn't get more widespread- it would still only take one disgruntled employee to call in the MS auditors. If it were Open Source, it would fucking work! Security patches would be out at least as fast as patches for Linux. Outlook wouldn't spread viruses. That would all be fixed, and they would get these improvements for free.
I'm sorry, but going Open would be the smartest thing that MS could do. They wouldn't lose any more money than they already are, and we would lose our biggest arguments against them. They could license it so that outside coders would lose rights to their patches to MS, and soon they would be selling an OS and an office suite that were actually worth the money.
Re:because not everyone is money-motivated (Score:2)
Please forgive me, but I just have to ask: are these open-source-based applications of which you speak themselves open-source? If so, where are they available?
It's akin to the weekend warrior (Score:2, Interesting)
I'm sure most open-sourcer's do "it" for similar reasons.
Now that I think about it the professional sports leagues don't feel real threatened by the weekend warrior even though they probably spend more money playing softball (with all the beer and all) than they spend at baseball games. I wonder why the big software corps are so afraid of us?
- Colnago
Why do charities exist? (Score:4, Insightful)
Why does one friend of mine spend a couple hours a week visiting a couple prison? He specificlly is visiting prisoners in for life without parole, they didn't know each other before hand, and they are not relatives.
Why did one guy I work with spend one of his weeks of vacation in Mexico with habbitat for humanity building houses in Mexica? He doesn't speak spanish, has no mexican roots, Mexico is 1000 miles away, and he went in summer, not winter when you would want to leave home.
Why does my dad run the 4-h food stand at the fair, and then take the money he is paid for that and donate it back to 4-h?
Open source by comparition is easy, I need a program, and by going open source I get others to help me with it, making it better. Its not about non-programers using it (note that bug reports are useful and put you as part of the process), it is about programers doing something that alone they would take longer to do. Unfortunatly this obvous answer is wrong, open source has the same reasons at the root as the others.
Re:Why do charities exist? (Score:2)
Most open source projects start as a hobby. Many key devolpers are not paid. Linus doesn't make money from Linux (he got job offers from linux companies and turned them down due to conflict of interest issues).
Of course there are companies that pay their emploiees to devolp open source, but they have other benifits. Many sell support. Doesn't change the fact that most of us do open source for free.
Yes my dad has a full time job, 4-h is a hobby. Which is exactly my point: all the people above are doing something for the community as a whole without making money on it. When offered pay they refuse it. There is no reason intellegent programers can't do the same with software. Its just that one person can only visit so many prisioners, while software can benifit millions of people.
Because (Score:2)
And it's addictive.
And it's how the world should work.
We lead by example.
Why not? (Score:2)
Definition of FUD? (Score:2)
FUD
(my bold)
You said: "Answering this question may be the key to resolving public FUD about open source."
My question is, are you meaning MS-instilled FUD, or is there now a new definition of FUD, for mere FUD that has arisen on its own rather than via propaganda? Or are you just using it wrong? =P
OK, I'm done being a dictionary nazi for the day.
-Kasreyn
Lots of reasons (Score:3, Insightful)
Re:Lots of reasons (Score:2)
Right! Programming is fun, and working in the software industry really bites the big one these days, so open-source is the way to go. You meet people, nobody's telling you how to code, there's a lot less bullshit.
Egoboo is nice but the corporate BS is the real reason.
Me, I'd rather work in another industry. Programming is fun: if it becomes a job, then it really, really sucks. My job is something ... other.
the canonical answers (Score:3, Insightful)
Returned value (Score:4, Informative)
About that time, on a whim I picked up a book which had a Linux CD in the back. I installed it, played around a bit, and I've never looked back.
Now you can only imagine the complete lack of functionality my home brewed OS would have had relative to Linux. But with Linux, I have all this amazing functionality, and with all the control and ability to change things I would have with a home brewed system; the only caveat is that if I do make an improvement, I should contribute it back to the community. That is a small, small price to pay for what I'm receiving.
As well, how many people have the time to write a system like Linux on their own, even if they have the knowledge? Not many. But by being willing to contribute what time they do have to a larger effort, they get a far better system than they could ever hope to have otherwise. Practically speaking, it's a no brainer.
Why I do it... (Score:3, Interesting)
Some Reasons (Score:3, Offtopic)
Often, it is because they need the software they are writing.
Often, it is because they are curious about a particular technology and "just playing".
Often, it is because of a principled decision to shun proprietary software.
Often, it is because a particular piece of software would fetch no money in a commercial market.
Often, it is to impress chicks.
Why I Do It (Score:2)
My experience of Open Source (Score:4, Offtopic)
I spent months of my free time trying to hack together a personal organiser/scheduler that could cope with my busy life before I gave up, sold my Amiga, and moved to a more modern platform. I must have started 100 different "projects" that I would be ashamed ever to show anyone *grin*
In my old days as a developer I worked with a guy who contributed a significant account to XEmacs and he done it because he was a power-user who was talented enough to be able to code in Lisp, and he felt compelled to help as he relied on Emacs for coding commercial apps. People like this are few and far between, and few have the comittment and long-term motivation required to take development through to completion, unless they are working in a paid, competitive environment with real customers, deliverables, and deadlines.
The problem is that not enough people band together, start a (semi) formal development programme with solid requirements, and then code/test it to completion
Alternatives to money? (Score:3, Interesting)
All these things are fantastic for open source software, and in the main they keep the projects going. BUT.. they'll only keep the project going while the creative people have enthuiasm for the thing they're doing. If that motivation ever disappears then the project disappears with it.
This, in my opinion, is why the GPL is ultimately bad for free and open source software. The GPL forces software derived from other open projects to remain open. While this doesn't stop people making a decent living supporting and maintaining their work, it does stop the 'traditional' business model of selling your software. This elminates the source of motivation that keeps many projects going long after the original excitement has run out. In the long term, I feel this will stop many talented developers taking projects to their maximum. Truely free software is not restricted in any way. If people want to close the source and sell their work they ought to be allowed to.
Let the flaming begin..
Re:Alternatives to money? (Score:2)
Re:Alternatives to money? (Score:2, Insightful)
Not if their work is derived from a GPL project they aren't.
Well yes, that's because they would then be closing the source to someone else's work, that the author has already decided they want to keep open.
I believe there are licenses out there that allow what you want. Maybe you should only develop code released under them.
Homesteading the Noosphere (Score:3, Informative)
We relate that to an analysis of the hacker culture as a `gift culture' in which participants compete for prestige by giving time, energy, and creativity away.
Why do we scratch.... (Score:2)
In all the cases I've seen, and in my own case, the answer is that we have *some* interest in the outcome of our effort. Be it that we want to write a piece of code 'better' than we've seen it written. Be it that we simply have it in our heads to do a certain thing.
However, you state it, it's important to note that we write code because we want to see the outcome of writing that code. We write open source code because cooperation is often preferable to competition.
As to not getting much/any monitary remuneration from our work in this area, when's the last time you got paid to do yardwork around your own house? Did you ever get tipped for washing/waxing/detailing your own car? Most likely not, but you got something out of the activity, yes?
If you'd just insert another column in those spreadsheets you use to track revenue. Ok, now label the column "Satisfaction"....
Happier?
Because I want to help mankind. (Score:5, Informative)
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.
Turn the question around... (Score:5, Insightful)
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.
For fun. (Score:2)
I've got a friend who builds model trains in his basement -- not for profit! Imagine that!
My sister likes to bake things. And get this -- she does it just for the sheer enjoyment! Can you believe it? The mind boggles!
Model train analogy is great advocacy! (Score:5, Insightful)
"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.
Why do we do a lot of things? (Score:2, Insightful)
I've found that, as I get older, money isn't the all pervasive motivator I thought it would be.
Once I had enough money to 'get by' on, the raises didn't have as big an impact on my life. I found that I wanted to do things not to increace my financial bottom line, but for other motivations.
Why did I give away my last car? Because it was 'worth more' to someone that didn't have a car than the 'financial worth' I could get from selling it.
Why do people 'donate' to the open source movement? Because they're motivated by things other than money. That's a hard concept for some people to accept.
Fun, simply fun (Score:2, Insightful)
maslow's hierarchy (Score:2, Insightful)
the first tier of needs (money, security,
place to eat and sleep), you get higher
level needs kicking in, and those include
needs to contribute and be part of a community.
Social Threefolding [earthlink.net]
Because it feels good (Score:2, Insightful)
Why is it better than volunteering at a school or helping set up a public education event? Because those things can only reach a small number of people and then they fade away. Open Source software can help many many people from now until... well, forever? And what I do can either improve something that already exists or it can become the basis of new things that help even more people.
On a purely selfish note it is also a way to advertise your expertise. And, a great way to learn. What better way to learn than to write something as well as you can and then expose it to the world and be told what is wrong with it and how to fix it?
Stonewolf
My answer (Score:2)
It's a game with myself to see how well I can write a program to do foo, and it builds my skills and cognitive thinking abilities, from which I do earn a paycheck from. If someone else can learn from my example, or find use of it, or even build a billion dollar industry from it, great!, just send me a nice thank you card on the way (if it's the billion dollar industry I'll settle for a Z8 from BMW, red please).
Just one small-time open-sourcer's answer (Score:2)
Basically what it comes down to, for me and me alone, is one of two things:
Obviously, the first motivation applies more to small projects while the second applies to larger projects. There's a little bit of "scratch an itch" about it, maybe a little bit of altruism, maybe even a little bit of ego (in assuming that the world needs my brain-droppings). What is absent, for me, is any thought of reward - either monetary or otherwise. Sure, it's wonderful when I find out that my code helped someone, or that they learned something by looking at it. It's also wonderful when someone else builds on your ideas and creates something else that's cool. I won't deny the "rush" that comes from these things, but it's just not why I do it. When it comes right down to it, I do it because I can.
Thought long about this (Score:3, Insightful)
The statement irritated me, but I didn't know why. Which is usually when I start doing some research, because not knowing why I'm irritated means there's something important to figure out.
I use open source in my own work - from development, web pages, graphical images, and the like. I could say "because it's cheap", and that would be true. I don't have a lot of cash, so most free (as in beer) programs appeal to me.
But there's two big reasons why I use Open Source software:
1: Free (as in speech) idea. Take Sun, who's setting up StarOffice to use XML as their default documents. XML - an open standard. What happens if 10 years from now I want to open a file, a story, an article I wrote in XML? I'd be able to read it, because I wouldn't be worried that MS went out of business/Caldera dropped Wordperfect/Lotus died out, or that the document editor I originally wrote didn't work on my new OS.
OS is democracy in its truest form (not like the US, which is a *republic*, thank you very much). Everyone has a voice, good, bad, or indifferent. It can't be bought out by business (which tries to force customers down a path to make it more money, sometimes when the customer doesn't want to go that way). It can't be subverted by government. The users, and the users alone, have the power to decide if a program lives or dies.
OS is also true innovation. The idea that "necessity is the mother of invention" applies here. If someone has that "itch they need to scratch" (like a program to edit tons of graphics from the command line (thank you ImageMagick!), it gets done. And just like the Internet is a place where you can find people that have the same interest as yourself, you can always find someone who has that same itch they need scratched, and sometimes people who are better than you at scratching it. (Which usually means you've got to have some humility to work with OS software.)
2: Most people comment on how OS software is so stable, and I've proven that time and time again. Why so stable? Because everybody can see the mistakes. Granted, your "ordinary users" (aka, non-developers) won't care. But to folks who's jobs deal with security, or reliability, the capacity to see why your program broke down and, even if you can't fix it yourself, at least tell other people why it happened so the developer can fix it makes the system that much stronger.
Right now, OS has overcome the first few hurdles of any system. First we had programs that work, now we have programs that work well. People have seen the need to make these programs more user friendly, and I see this being the next stage of OS software (companies like Mandrake are really setting good examples here). Interfaces will evolve - but they will evolve well, because thousands of voices will decide what works and what doesn't.
In the end, I truly believe that Open Source programs are the way to go. It makes business sense to do so (now I've harnessed the collective brain power of a *planet* to help with my projects - I just have to let go of the idea that I *own* the software, and I'll get software that will make my business better). It makes personal sense to do so (I know that my improvements to OS programs will help other people).
Of course, I could be wrong.
Pro Bono Publico (Score:4, Insightful)
(any lawyers out there want to add to the list?)
A congressman will be familiar with lawyers, and probably has a legal background himself, so comparing open source to legal pro bono work will put him on familiar ground and give you a shared context. Eg, ask "how would you feel if a big law firm called Pro Bono work 'unamerican'?")
Of course there are also all the commercial reasons why companies produce open source code. Its worth emphasising that many open source coders are actually employed to do it, so its not just a geek hobby. See Opensource.org [opensource.org] for all the commercial reasons for releasing open source.
Paul.
I don't develop it but... (Score:2)
So I can't offer insight on why developers do it, but as a user, I use it because it's better than paying for software that doesn't and CAN'T fulfill my needs because only a limited set of developers at the 'company' are allowed to make changes. I can't wait until the full Kapital release comes out. Yes, it's proprietary and a paid for program, but it's one of the last reasons I'm stuck with Windows for important personal stuff. And the KDE developers have so much other really wonderful completely free stuff, that paying $50 for one program out of an entire desktop full of OpenSource software is a very minute price to pay. This isn't meant to be a Windows rant, it's more of a slashdottian comparison of why many here find Linux and OpenSource in general so much better.
Very simple (Score:4, Informative)
IMHO, there are only three real reasons why people contribute to Open Source:
Why do I do it? (Score:4, Interesting)
That's why I feel obliqued to return something to the community that provides the software I use. Others do webdesign, translations of documentation, organization of shows, writting new software, whatever. I'm rather good (I think) at writting software, so that's what I do.
Regards,
Tobias
Salman Rushdie explains... (Score:4, Interesting)
In the end, you write the book that grabs
you by the throat and demands to be written.
That's more or less how I feel about writing open source software.
Re: (Score:2)
Why do people paint? John Maddog Hall answers (Score:2)
Why do people paint? Why do amateurs play an instrument? Why is it that they are, most of the time, much more talented than the professionals?
The quote is not perfect, I didn't write down his exact words but the spirit is here. We are amateurs. We are what Rock'n Roll was before the major music distribution companies took over the business and squeezed everything we loved about Rock out of it. We are amateurs, we tour the country in buses, not planes. We do it for the love of the game. If we get good at it, money and chicks start coming, that's good :-) but that's not the goal.
Haim.
For me... (Score:2)
I'd say the reason I continue is that I enjoy coding and software development, and since I don't work as a developer, or in IT at all, joining a project is kind of like the coding version of those sports fantasy camps -- I get to work, hang with and learn from some really skilled people and at the end, my work is on CD's and hard drives all over the world.
I don't do it because I hate Microsoft, and I've never met anyone who does. If they're motivated by hate, it's of a competing free software project! ;-) I don't do it because I want to destroy paid development and put people out of work, and I've never met anyone who does. (I do wonder if I coded for a living, whether I'd be so willing to work for free.)
Eric Raymond says people work on free projects to get girls. Eric Raymond should generally be ignored.
Now, if I can ask a question:
Answering this question may be the key to resolving public FUD about open source.
Huh? How?
I do it for these reasons (Score:2)
Here's why we SHOULD do it (Score:2)
Here's a quote from another Slashdot [htp]-linked website [slashdot.org] that deals with this idea:
When does open source make sense?
Who knows who wrote the paperclip in MS office? If it where open source, you could go to his house and shoot him.
Why do we do it? (Score:5, Informative)
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.
Re: Why do we do it? (Score:2)
How would one study the workings of an OS without the source? How would one have peer-review for your cool coding tricks? How would one review posible buffer-overflows etc in closed source?
If you would mean that all the above reasons go for free-as-in-beer (so open source AND free software) than your comment is correct. However, even though the free-software and open-source movements have a lot in commen, they are not the same
"Why OpenSoruce" vs. "Why Software" (Score:2, Insightful)
Because I have a problem that needs to be solved
Actually this is the reason for developing software, not specificly opensource or closedsorce, free or commercial.
We don't do it (Score:2)
Next time you look in the "acknowledgements" section of an open source project, look at how many people actually contributed more than a few lines of code or a bug fix. Generally, the number of people who have _significantly_ contributed is less than 5, and those 5 are usually _all_ paid to do it.
So many reasons! (Score:2)
There's a business case for it too, there's a reason IBM has suddenly become all about Linux, and it's not because IBM is stupid. It's because they know how to make money off of it.
for the craft! (Score:2)
Second, take everything business management theorists have ever written about employee motivation and team cohesion. You might notice the theme "respect" repeated over and over again. There are many extremely good programmers in companies that don't release code, but there is still a wealth of top-notch coders who publish open-source code, read other people's code, and provide criticism to other coders. It is a big kick to hear an awesome coder praise your work, and this community bears a strong incentive to try to impress them.
Third, one gets to communicate one's successes and struggles to the outside world. Did you spend two weeks writing a really complex block of simulation code? If the project is closed, then people only see the little button to trigger the event. If the project is open everyone can see how cool you really are. Is this important? Compare to other professions -- would doctors or lawyers agree with closing all of their work, and never sharing research?
I am currently running 4 open-source projects, and contributing to 3 more. I work way too many hours, but the 3 previous points basically summarize my motivations and what I get out of it.
After college, most of us do not find ourselves in an environment that encourages education. Working with OSS helps build your own educational environment. And there's something else: somewhere in the Bible Christ encourages some multitude not to "hide your light under a bushel". (I am not Christian; perhaps someone else can provide the quote.) The language is archaic, but I think it has meaning in that from the moment I exposed my code to the outside world I improved as a coder. For whatever reasons, first among them being the consideration of others in previously private efforts, I have found that writing OSS code makes me more professional.
Oh, and please thank Boucher from some pleased Californians.
Why (Score:2)
2. More resources to go to to solve problems when working in open source OS'es, Verses M$, and MAC which hide things.
3. If my code could be helped by changes to the core of the OS, I can write that change and even propose it to be included in the OS for everyone.
4. Same for Applications such as apache, if I write a mod for Apache it might even become part of Apache.
5. Get recognised my work as a person, not as a nebulous group that might or might not get a personal credit.
6. In somecases becuase its the only choice, if i write a driver for some companies hardware so it will work in my Linux Box I certainly can't try and sell it, they would Sue me over IP rights. Byt if I give it away well then I think thats much less likely anyway.
7. Because wide colaboration by many people makes for better code, less bugs overtime, and dfinately better testing by a diverse set of hardware/software conbinations.
8. My code could be useful elsewhere, if I write a program for windows, if probably only ever going to run on windows. If I write a program for Linux/BSD/or another Open OS...well it will probably run on Linux/BSD/Solaris/Windows/or something thats not even there yet, it might get translated into lanugages I don't even speak.
Very Practical Reasons (Score:2, Informative)
I'm a communist. (Score:2, Funny)
Bob Young told me... (Score:5, Insightful)
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.
Why do math & physicists publish their equatio (Score:2)
Same with Open Source. Not the only reason of course, but it's a good way to start a conversation explaining what open source is.
Selling of cookbook containing recipes is another good analogy.
I don't like to wear shackles (Score:2, Interesting)
The reason I would want to write open source software is rooted in the basis for my wanting to use it.
When I purchase a software license for my company I get a shrink-wrapped box with some CDs inside. I install the software (after perhaps contacting the software vendor and getting a license key to unlock it). I attempt to read the documentation to learn how it works, often times the available documentation isn't very good and I need to go to a class to use it. While implementing the software package I have to figure out how I should change the way I do things so that my practices comply with the methods available from the software package. Many things I would like to get done are not possible with that software package because it doesn't provide those features. I'm locked into whatever they give me to work with and I have very few options for customizations because of this.
Now this software package comes with support that I can renew every year. If I keep renewing my support I can get upgrades as they are released. If I chose not to upgrade to the newer version eventually soon I will no longer be supported. I have to upgrade the package on the vendors schedule not my own, because they are the ones that determine when support runs out on the version I may be using. Since there software has a minimum system requirement I also have to continue to upgrade the operating system that I am running and therefore the hardware that my systems are running because the new operating system is progressive and doesn't support the older hardware.
This upgrade cycle is necessary to maintain support from the software vendor. Software contains bugs. This is true of all software (except perhaps certain "Hello world" applications). Since the vendor is the only company that has the source code they are the only ones that can support the software. They control something that I come to rely on for my business.
Now open software generally (by my experience) has better forums to discuss software problems and how it's used. You also have the option of going into the source code and making customizations that you need. All of the other people running the software also have this option. Chances are if you didn't have time or the expertise to make those changes or customizations to the software someone else might have. This is because many people have similar needs. Now if those people who made the customizations also contributed their changes back to everyone else you can use those contributions.
Also if you need your open source software to support your older system (which may be doing its job just fine and would otherwise be a waste of money and resources to upgrade) you have that option. Chances are if you have this need other people do as well and you all help each other out.
These are the reasons I use open source software.
When I write software and I release it open sourced my software becomes more useful by other people (who are also using it) who contribute to it and add back to my product. I get to enjoy their improvements as well. It's a two-way road.
C'est l'art pour l'art (Score:2, Insightful)
I'm only 16 years old, and my contribution so far has been quite minor (only xml2swf [sourceforge.net] is worth mentioning), but I shall list my reasons for it nevertheless:
First of all, it's about art. Many of the programmers do not treat their work as a job; it is rather a craft, and sometimes - though seldom - an art. And any craftsman has got the urge to create, to somehow demonstrate his skills and knowledge in front of his colleagues and other people. Secondly, it's about training: writing software is the best way to learn a technology, and a good program is a nice addition to anyone's CV or portfolio.
So far I'd described the reason why people write software on their own. The reason they choose to make it open is a matter of culture. Most of us can't expect to make a significant profit from the code written out there. Therefore, it is very easy to make a willingful concession of the slight possibility of a monetary gain in favor of the honor and the feeling of helping someone.
Because it is what I feel is right. (Score:3, Interesting)
I got my first computer only a couple of years ago. In the first week
I had it, I spent about 48 hours (20 consecutive) on the GNU website,
reading and re-reading everything they had, and finding out more about
the Free Software movement. The ideals of the Free Software
Foundation correspond very closely to my ideals for the world at
large. Although I last wrote a computer program in fifth-grade LOGO
class, I decided that I wanted to do my part, and slowly made the
transition from MacOS to GNU/Linux (first LinuxPPC, then Debian).
I think the freedoms that GNU describes -- to use, study, redistribute
and modify -- are essential, and because of the hard work of many
hackers, they are now within reach. I knew I wanted to write only
Free Software before I even knew how to code. I now have a job that
lets me write Free Software, and I will never take a job that requires
me to write non-free software. Maybe it was easy for me to make these
decisions because I made them before I learned to code.
Well, during the transition period between MacOS and GNU/Linux, I used
BBEdit, a good-but-proprietary editor, on the MacOS. When you edit
HTML with it there's a little check-box to "Give BBEdit Credit" --
embedding a little meta-creator tag saying that you'd written the HTML
in BBEdit. I always had to uncheck that box, because I was not using
BBEdit in a manner compliant with the terms of its license -- I had
not paid for it. Later, using the GIMP, when I saved an image in a
format that allowed embedded comments, I saw an option to say "Made
with the GIMP". I reflexively moved to uncheck the box -- after all,
I had not paid for the software. Then I realized that I was still
using it in compliance with its license, and I proudly, and giddily,
left the box checked: Made with the GIMP.
I now use, write and recommend only Free Software. I do it because
I'm a pretty hard-line GNU devotee, so that's obviously why I don't
call it "Open Source". I worry that there might not be enough people
who cherish the freedoms of Free Software, too many who think that
it's just cool and convenient. What the FSF, GNU, and other Free
Software projects have achieved is amazing and incredible. I write
Free Software because I believe it must exist, and I want my actions
to be in line with my beliefs.
Why do politicians run for office? (Score:2)
Here are some reasons (Score:2)
(Disclaimer: I haven't released anything I've written as PD in about 7 or 8 years, and I have never released anything under licenses like GPL or BSD. But I'm not hostile to the idea; I just haven't been doing it.)
Some reasons I can think of for a developer wanting to release things this way:
A congressman won't understand charity... (Score:2)
Talk about a prototype and a fan club. Somebody somewhere makes a small simple demonstration of an idea, for the same reason stamp collectors catalog stamps and ships in bottles get built.
This prototype takes maybe an afternoon, maybe a week. Maybe a few months. It's some guy's hobby project, and they're proud of it.
Then they release it to friends, who find it interesting or useful, and pass it on to THEIR friends, until a fan club forms around it.
The fan club is full of people using it, admiring it, improving it. These are the same kind of people who put on star trek conventions and publish fanzines, and they can organize a LOT of effort when they try.
In the case of software, the prototype acquires new code like crystals around a condensation nuclei, (or amendments to a bill in congress). It's there, and people want one more feature, idea, color change, or bug fix, so they tweak their version and then submit their changes in to the fan club so it goes into the "official" version. (Which is official because the fan club is where the fans are.)
The central maintainer of the project (who may be the creator or the prototype, a designated successor, or just a group of senior fans in the fan club), acts like a goalie. Their job is to keep stuff OUT of the next release of the project. They can't make anybody submit stuff, but any fanzine has a slush pile of submitted poetry that's ten times what they can print. And the vast majority of it stinks. (Sturgeon's law: 90% of everything is crud.)
So the editor's job is to veto stuff, accepting only the 2% or so that's worthy of going in to the project, which will really improve it, and which is worth the effort. (THAT is where a lot of the quality of open source comes from: the presence of ten competing implementations of any idea and the freedom to reject nine of them.)
This is how open source is organized. People write it for the same reason young children play with "star wars" action figures making up their own stories. They'll do it for weeks at a time, because it's what they consider FUN. You may not see it as fun, but the same could be said about stamp collecting, rock climbing, or golf.
Ask yourself why there are so many millions of web pages out there, mostly with pictures of people's cats? What does a search engine like Google do? Fight off sturgeon's law by finding the 1% that's interesting. This is what book publishers do wading through the slush pile, what music publishers do sorting through demo tapes of garage bands. There's a reason the first really successful internet business was Yahoo.
This is nothing new. The internet simply reduced the costs of doing business to the point where fan clubs (which have ALWAYS made superior stuff because they care, but which can't afford manufacturing facilities to make everyone a copy) can get their stuff out there where everyone can use it.
Rob
Remember history (Score:2)
Remember history. The internet itself came about from software developed as free and open source by people who devoted their time and talents to something they gave away. Some examples include,
- The BSD tcp/ip stack
- Sendmail for email
- Bind for DNS
- NCSA httpd and browser for the www
- INN nntp for usenet
The benefits of open, free software like the above examples were immense both economically and socially for both businesses and individuals.
What would the internet look like today if the applications and protocols necessary had been developed as closed source and proprietary? The benefits to all of society, corporate and private, would have been far, far less.
Free, open source software that is being developed today by people who devote their time and talents to something they will give away will continue to benefit everyone into the future, just as the free open source software developed yesterday continues to benefit us all today. Isn't that reason enough? Isn't that a worthy tradition to uphold?
I Can Only Speak For Myself... (Score:2)
I enjoy writing code because it is, in many ways, a professional implementation of building a better mousetrap. The emphasis is on making something that performs a task better, faster, more reliably, and credit is given for ingenuity and resourcefulness. I find this appealing. Moreover, unlike most things, software design (or at least algorithm design) takes place almost entirely in mindspace, and as such provides nearly endless possibilities for intriguing mental exercises. I find immense reward in coming up with an elegant solution to a problem.
Aside from the coding aspect, there are practical concerns that make open source attractive. Chief among these, in my opinion, is the fact that if it isn't the way I want it, I can fix it. To draw a relatively poor analogy, I once took a file to a plastic TV set case so it would clear a hinge in the cabinet in which I wanted to put it. With open source software, I can file the case; if Microsoft Office doesn't fit in the "cabinet" in which I wish to put it, I am out of luck. Worse, if I want it and it doesn't work on my system, I am completely out of luck; if it is open source and I am up to it, I can port it on my own. There's an issue of self-sufficiency and independence here.
Finally, I am loathe to give control in my life to someone else. Using proprietary software does this. What if Microsoft stops supporting a product? What if they reduce backwards compatibility (Office 95->Office 98 is still causing me headaches when I pass documents around)? With open source such a scenario is unlikely; anyone who was to make such a move would quickly be stopped by a community effort that would negate all effects of the action. Consider, for example, if the StarOffice 6 were not compatible with 5.2--how long would that last?
There are many appealing things about open source, and I think that's reflected in its rapid growth. Were I you, I would also point out that open source will never replace proprietary software so much as augment it. I don't view the open source movement as an anti-corporate leftist group so much as a group of often like-minded developers who recognize the inherent advantages of the open model in many applications. If we can make our legislators at least conversant in the right areas, I think the cause of open source will be greatly advanced.
-db
Unbelievable (Score:2)
The reason I'm speaking of is to get your name known, be popular, get famous, etc. Whatever you choose to call it, alot of us have a desire to be known for doing something, to have our name mean something to somebody. It makes us feel more connected to the world to know that we are known and liked by others, even if we'll never see or talk to those people.
Yes of course people are genuinely philanthropic with their time, didn't mean to suggest otherwise, but please don't deny that fame isn't a factor also. It makes the whole thing sound more believable to an intelligent politician like Boucher who is apparently trying to understand the motives and drives behind the movement.
Why do store owners clear sidewalks for free? (Score:2)
Much of the bug fixing and feature enhancement falls into this category. We each fix our own and cooperate in developing the features that meet our needs. It is simpler and cheaper to just share these for free instead of wasting lots of money on lawyers.
This is also why the wars over licenses (like GPL) get so vehement. It is things like the GPL that keep this sharing of effort from benefitting the parasites. Local merchants associations get vehement about stores that don't take care of their portion of the sidewalk (e.g. freeloaders). Software developers care about the license to deal with freeloaders.
my reasons for demanding and producing open source (Score:2)
Why do is there open-source software (OSS)? That's easy: the same reason anyone does anything else, rational self-interest.
If I have a piece of OSS, and it doesn't do what I need, I change it, or pay someone else to change it. If I improve the program, it makes my life easier. For that single outlay of labor, I have daily benefit. So there is plenty of incentive for me to tinker with open-source software. That's why most people who write OSS also use it!
Then I can pass my changes along at almost zero cost, and by scratching once I've cured both my itch and maybe the itch of many other people. To put it in economic terms, OSS is a public good with no "free-rider" problem!
You see, someone asks why open-source programmers "give away" their software, they are falling into a trap that the MPAA, RIAA, and Microsoft have set. You can't "give away" an intangible thing. You can duplicate it so that someone else has a copy. The writer still has what they are giving away, and they still hold the authorship rights.
Of course, one might ask, why pass along the changes? Why not charge for them? Why not hoard them, and dole them out for a fee, even if it would probably be much easier for to just email them to the author or post them on a web site? Well, for one thing, many of my changes might be relatively small, or my program might have limited functionality and I'm hoping someone else will flesh it out. Nobody would be willing to pay just for that. Whatever price I charge for it, someone can come along and do it cheaper. So I might as well pass it along in the hopes that someone will improve it further and then I can benefit from that. Besides, software is often like math: once you find the solution to a programming problem, that's it, there's no need to have everyone re-invent the same thing.
You might also ask, where does the big innovation happen? It seems like OSS produces just incremental evolution, just enought to get our jobs done, not revolutions that change the way we live. My answer to that is, where does it happen now? All the big software companies have been making software the same way for years. Microsoft's best innovation was the licensing scheme they used when they started selling their OS pre-installed on computers. One big innovation was the internet, but that was initially paid for with public funds. I think the big innovation can happen anywhere, at any time, in a proprietary software company's labs, or a students bedroom. But for the small incremental innovation, nothing will beat OSS.
OSS is just an example of a free market: software is priced based on the marginal cost of zero. The software monopolies you see around you are flawed free markets.
There is another less utilitarian but vitally important reason for OSS software which, namely Freedom. I would like to live in a world someday where I can buy a computer and not have to buy a certain company's operating system, whether I want it or not, or at least be able to sell the operating system if I don't want to use it. Just like I like to buy a car, and then sell the tires to replace them, or choose the brand of gasoline, or the garage I keep it in, or the mechanic who works on it, without violating a license agreement. I like to have the freedom to alter and share my programs, and the freedom to be paid for this service. We have many freedoms like this with our houses, televisions, food, etc, but not with our software.
It seems companies have needlessly implanted their proprietary software with the drawbacks of physical things: only one copy can exist at a time, only one person can use it at a time. And they've also taken away some of the freedoms we enjoy with physical things: the freedom to take it apart, the freedom to change it, sometimes even the freedom to sell it to someone else. We lose on both counts.
People like Freedom, they will fight for it, whether it's obvious like freedom of speech, or subtle like software freedom. OSS is a very easy and legal way to fight for this freedom, and to get around what many people feel is a very flawed system of copyright law.
Business realities (Score:2, Interesting)
1). Microsoft has such a strong position in the market that people have an irrational fear of using anything else. If I wrote a word processor that was demonstrably better than MS Word I'd have trouble GIVING it away, let alone selling it.
2). Software is easy to copy. Even if I write really good software and sell it cheap, not everyone will buy a legal copy.
3). Software can easily be written by one person working on his kitchen table. Selling software requires a LOT more resources, including employees who will insist on being paid whether the company makes any money or not.
4). If I sell software I am morally obligated to stand behind it to some extent, to provide support. Giving away software with source means that anyone who gets my software can solve his own problems. I can refuse to be liable for what my software does with a clean conscience.
5). If I give my software away with source code I don't get any money for the software. However, I don't lose money either. (http://sourceforge.net provides a method of distributing my software to anyone that wants it without cost to me.) Maybe I can gain a reputation for writing good code or designing good systems that may help me find work. There is plenty of work writing custom software and that is a surer way of making money than running a software business.
6). Since everyone who uses my program gets my source code, some of them may be motivated to find and fix bugs, add features to my project, etc., all at no cost to me. This has in fact already happened on my own project.
7). I don't have to give anyone guilt trips about paying for my work and not sharing it with their friends. I WANT them to share with their friends! The more the better!
8). Finally, I can benefit by the code and programs of others. If someone else's program has a feature that would also be useful in my own, I can use his code as is or try to improve on it.
Contrast this with Microsoft's business model, which is to convince people to buy basically the same products over and over again every few years, when the products they bought the last time still work and will NEVER wear out? When the new products require a new computer to run? It is amazing they are still in business!
A Few Reasons From Someone Who... (Score:2)
...would otherwise *not* do Open Source.
1. There is an OSS solution that needs just a little bit more push to fulfill my needs. The biggest example of this for me was Gifsicle. All it needed was a Win32 build and a couple of minor bugfixes. The cost of supplying those things was far exceeded by the cost of re-writing it from scratch, and there were no cheap alternatives that did the same thing.
2. To demonstrate programming skill. Obviously the only way to show people your skill is to show them your code. As long as you are going to show them the code, you might as well make sure that you can still use it in the future (not under an NDA) and most OSS licenses fulfill that need which brings us to...
3. To avoid being tied down to one employer. The more you work with OSS, and the more popular it is, the less you are tied to your employer. If all your work is in-house or NDA, the employer has a tremendous power over you. Get layed off and you may have to develop a whole new set of skills. In this regard, OSS acts as a kind of informal labor union with all the associated inefficencies. Developers who really want to break free are better off figuring out a way to own their IP, but many see that as too difficult so OSS gives them entry into a kind of "guild" that can convey certain advantages as described above.
4. The classic reason, which is that you enjoy it. Personally, I find that this only holds true when there is a small ammount of effort, perhaps a single night's work. I have a hard time imagining this drive becoming so powerful that I would be moved to make signficant contributions to something as arcane as kernel code without financial compensation.
Why write Free Software? (Score:2, Interesting)
1) I wanted to repay Richard Stallman and Linus Torvalds and
all the other Free Software writers for giving me a cheap/free
Unix with all the tools and ESPECIALLY THE COMPILER.
2) I write numerical software(Finite Element Analysis) and
am dependent on the fact that numerical techniques such as
Gauss Quadrature, LU decomposition, the Method of Conjugate Gradients,
Lanczos Method of tridiagonalizing a matrix, and the QR algorithm,
are all open and free for me to use. Scientific computing would
be dead if these techniques were closed off due to patents or
hidden in the proprietary code of some company.
3) Companies ask programmers and engineers to sign non-disclosure
agreements(NDA). With Free Software I can:
a) Create a body of work before becoming employed which
I can take anywhere that will override the unfair parts of a
broadly drawn NDA. Releasing it as Free Software makes
it public.
b) Other programmers can do the same. If they add to the work
can say they are legally bound( at least by the GPL) to
contribute back to the code and therefore, will be able to
have these contributions go with them to their next job.
4) Keeping things secret and closed is self-defeating, especially in
science. I say this from personal experience of working in
academia. Anyone who does science knows that even under the best
circumstances where one has access to every equation, journal,
expert in the field, etc. it is still a very difficult process. Let's
not make it worse by hiding source.
And on and on
Immortal code... (Score:2)
I started writing Exult [sourceforge.net]
Why I Do It (Score:2)
Some of the code I write is open source. I do it because I want to. I don't need to get paid for it, since I get paid for my other software. I'm just doing it mostly for fun, and a little for the educational experience and practice. Absent the need for payment, I made it freeware. The benefits accrued to both the user and myself by making it open source freeware far outweighs the benefits from closed source freeware.
Make no mistake, I consider my open source software to be freeware. That's because that is what it is: free beer. I do not charge for downloading it. And I do not forbid anyone from distributing it free of charge once they obtain it.
I'm not making my stuff open source out of some sense of duty, or because I think I am supposed to, or because it is politically correct, or becauseI think it will save the world from destruction, or that I will go to hell if I don't. I do it because I want to. It's an ego boost, an itch scratcher, and a thank you note, all rolled up into one.
It's hard to make $ from software (Score:2, Interesting)
Reasons: (Score:2)
2. Because there is a good deal of satisfaction in knowing that your work is being used by people.
3. General ego gratification of the "I'm smart enough to do this" form. This is the main reason there is very high quality in Open Source software, the other reasons I state do not give any incentive for high quality.
Immortal code... (trying again) (Score:2)
I started writing Exult [sourceforge.net] about three years ago, mainly just to get a little experience writing with XLib. At the time, my job involved writing a couple HDL compilers for my employer (a large Dutch company). Around the time the compilers were being beta-tested, my group was sold to another company, and my project shelved.
Then I worked for a startup, also developing compilers. I left after about a year, just before they ran out of money (whew!). What I wrote for them will probably never see the light of a CRT again.
Meanwhile, Exult has grown to over 100K lines-of-code, has about a half-dozen active developers, a busy user forum, and gets 8-10K downloads when we release each alpha. We've also received at-a-boy emails from several of Ultima7's developers, and even one from R.G himself (unless someone was spoofing:-)).
I still need to keep coding for money, but the GPL'd code has certainly brought me a lot more satisfaction.
Open Source is a lucrative trade! (Score:2)
Some trade is catalyzed by money, but anyone who has ever traded one baseball card for another, or scratched somebody else's back in return for being scratched knows that some trade happens easily without money. This does not mean that money is a bad thing or that all trade should happen without money. That would just about silly as trying to suggest that the only thing of value is money. You can rely on free people choosing the mechanism of trade that benefits them the most in any given situation.
Software is a thing of value, and is naturally an object of trade. Software has obvious utility value, but it also has value as an intellectual property value. This value is the value of the ideas expressed in the source code. Ideas are highly prized and run the gamut from the simple to the inspired work of genius. People generally want to trade things they can generate faster than others for things they can't, because that way they maximize the flow of value, and this applies to the trade of ideas as well.
Open source software is a clever form of trade that maximizes value flow by using copyright to secure return on investment as access to ideas that build upon the ideas disseminated. By releasing software under an open source licence, an author trades the ability to use and extend the software in return for a secure interest in doing the same to the resulting combination of intellectual property. Companies often pay programmers just to program code that won't be sold, so why is it surprising at all that programmers have discovered barter in code amonst themselves.
Any entrepenuer knows that trade is often maximized by accepting a little uncertainty and risk. Like any form of entrepenuerial activity, this involves an investment up front in time and effort that will be rewarded later according to its value to others. In order to maximize the return on investement, the open source author wants as many people as possible to obtain and use the software, in the hopes that by winning mind share, more people will contribute their valuable ideas back and thereby complete the trade. Interestly, when this form of trade is completed, each side automatically reinvests. Because ideas don't have physical existence, this is a cake that you can have and eat. One does not "consume" ideas.
What could be a better outcome from Congress exercising its power "to promote the progress of science and arts" than highly catalyzed iterative, derivitive growth of intellectual property accessable to all?
Some software is too fundamental to own (Score:2)
Some software is too fundamental, or too generally useful, to be controlled by an entity that is interested in making money for itself and its stockholders. A company may decide to shift into a different market, letting some of its products languish (Arity did this; they developed a popular Prolog system, but then stopped development of it to concentrate on applications). Or a company may decide to change its marketing strategy, leaving previous users out in the cold (Franz, Inc., sold a Common Lisp system for around $500 a few years ago; that system is now $2500+). Or a company may simply go out of business. There were hundreds of developers left out in the cold when Apple dropped its Newton. Imagine if Python were closed source and Python, Inc., after losing lots of money in the dot-com crash, shut its doors in a similar fashion.
File compression software, operating systems, web servers, scripting languages...those are all too basic to be tossed about in a sea of marketing and corporatism. But other software is not so fundamental: games, packages relied on by niches (e.g. graphic artists), and so on. There's less reason to argue that these should be open source. And while Perl, Python, and TCL seem to be out-teching commercial offerings, it's not nearly so clear when it comes to CorelDraw and Photoshop vs. The Gimp for example.
Wanting to affect the world (Score:2)
Some people want to make changes by having power over others. Some like to blow things up. Some like to build new things. Some like to affect other people mentally or emotionally, for good or for bad. But we all want to see our input to the world produce a noticable change.
Once upon a time, individual software developers really did make a difference in the technology we use. Nowadays, that is rarely true anymore. We're just cogs in the machine, and if we write good code or bad, it all evens out in the end. That's frustrating, because we feel like what we do doesn't matter.
That's why Open Source is the ultimate in coder gratification. Individual developers can introduce code that really does make a splash, without needing all the infrastructure of a corporation. We see the "extreme" cases where one or two coders, working from home, has managed to topple a big part of corporate America. (Linux, DeCSS, Mandrake's distro, Slashdot, the list goes on...) We see these and think that we'd rather be doing something like that, that really makes a difference and affects our world, than be a corporate cog in the machine where at best we can hope to make a lot of money, but never to have a huge effect on the world around us.
A collaborative effort to create something big (Score:3, Insightful)
Why I Write Code for Free (Score:4, Interesting)
I do it because the equivalent commercial products suck. They are overpriced ( to the tunes of thousands of dollars ) and not as feature rich. Working for an ISP providing dialup services, having a functional Radius server that is scalable, reliable, and most of all, easily modified is paramount to the success of our business.
So, I get paid by my employer to write code that ends up under the GPL in the server. The entire world gets a killer server for a great price. And my employer gets the benefit of a larger array of "virtual programmers" who are constantly reviewing and improving the code. It's a shared development cost more than anything else.
Plus, I like writing code, and I've gotten to interact with people from all over the world as they use the server.
My 2 cents anyway. Others have probably said it better than I, but this is why *I* write code and give it away. :)
Why do I do it? (Score:2)
I'm going to answer a slightly different question, why do I do it.
There are a few distinct reasons I do it:
That said, there are some reasons I don't do Open Source:
Two Reasons: 1) I Respect Trustware... (Score:2, Informative)
So, when it comes to writing software, which (to me) includes designing as well as implementing it, naturally I want to add to the body of trustware that's out there, so other people will respect my software too. (And I recently read a little note on the G95 website that suggests, hey, maybe some of them do, despite all the faults in g77.)
2) It's "My" Code...
Examples of what developing GPL'ed software allows me to do, that developing proprietary software does not allow me to do:
There are plenty of other reasons, already given elsewhere, like "making the world a better place" and stuff, but these are items that often don't get mentioned, or valued, in such discussions, and which "young" programmers, such as those just starting out in a proprietary-software company, might not have thought through. (E.g. all that code they wrote the previous few years becomes nearly useless to them the moment they get laid off or quit -- they got paid $$ to write it, but that's pretty much where the relationship ends.)
When it comes to having people know about the software I've written throughout the years, no question that g77 far outranks anything else I've done, since comparatively few people ever, e.g., used the BATCH subsystem under PRIMOS, read the Pr1me "Advanced Programmer's Guide" series, etc.
And when it comes to my occasionally wanting to hack on some software with which I'm familiar, the only software I worked on to which I presently have such free access is g77. It represents probably only 20% of my career output to date, that figure depending somewhat on whether technical docs are included, but it's the only large free software (and documentation) I've written.
All that other software and docs? Swallowed up in failed and/or bought-out-and-then-shut-down companies, and, since I didn't have the rights I have with GPL'ed software, it's basically all gone, regardless of its usefulness.
Free software, on the other hand, is likely to disappear from the face of the earth only if it is truly found to be useless. Even marginally useful free software will likely find a haven in various archives around the world. Authors of really useful free software needn't worry about backups -- as Linus once said, just put your latest hacks up on your website and let the rest of the world mirror it!
A working paper on this subject (Score:3)
Check out Steve Weber's work on the topic. WP 140, "The Political Economy of Open Source," articulates some interesting stuff.
Missing the Big Picture.... (Score:2, Insightful)
Because helping to develop open source software makes good business sense for them.
Why does it make good business sense? One reason is that they are giving something away so that they can leverage that free product to sell something else. These companies make money off of selling products and services related to open source products. In order to maximize the size of their market, it makes sense for them to help with Linux development, for instance. The better Linux is, the more people will use it. More people using it means more people will buy their products and services.
There are nay-sayers who say that this isn't a sustainable business model, but other very successful companies do this all the time. They give away something so that they can sell more of something else. Ask yourself why Microsoft gives away its browser for free. For Microsoft it is better not to charge for their browser so they will increase their browser market share. They are trading current dollars for future profits from the sale of browser-related software and services. AOL does the same thing with their on-line service. They give away tons of those CD with their software because they know that they can make it back from selling online access and content.
The other way in which open source development makes business sense is in the control. When IBM wants a particular piece of software or hardware to work with Linux, they simply add the necessary code to the operating system and contribute it to the community. The new code gets propogated into all new updates of Linux, and now more people are able to use their for-profit product. On the other hand, because IBM doesn't have control over Windows, they have to beg and plead for them to add a feature to Windows they they may want. In short, they have no control over the code.
Finally, contributing to Open Source is great from a marketting standpoint. All of the Joe Random Hackers out there appreciate the fact that this big company is pitching in to help. This gives them a "warm and fuzzy" feeling about the company. On the other hand, companies that attack the open source movement (Microsoft) are scorned by the Joe Random Hackers of the world.
This is one reason why Ben and Jerry's has been so successful. When you by a pint of Cherry Garcia, you aren't just buying a tasty snack, you are buying into a whole philosophy of business. People are willing to spend a couple extra bucks for this "warm and fuzzy" feeling.
Anyway, it's nice to say that people contribute to the open source movement because it feels right, but that alone doesn't explain why.
Remember it wasn't always called open source (Score:2, Insightful)
I think that many of the people who work on free software do it because they or their employers simply see that approach as the most effective way to get the quality software they need. They have problems they need to solve, and this has nothing to do with the stereotypical "volunteer" open source developer scratching a personal itch. A lot of Linux-related work comes out of NASA and other large organizations which need software to get their work done, can't buy what they need off the shelf, and have no motivation for keeping their code secret. Under those circumstances, why not make the source open?
The AT&T/UNIX example is a classic. Had AT&T been allowed to market UNIX as a product, we'd probably all be using some sort of crappy VMS descendant. ;)
After 25 years or so of the closed-source experiment, people are beginning to realize that the closed-source approach has its limitations; so, the alternatives are getting attention. But we shouldn't be surprised that people do this, any more than we're surprised that scientists and economists publish in journals.
A better way to tell him why (Score:2)
Re:I'll Tell You Why (Score:2)
It's a great way to learn design and programming.
And it's definately egoenhancing
Re:because it's more efficient (Score:2)
I'd say this is a rare exception rather than the rule. Don't confuse the world of commercial software with IIS.
There is no evidence "more and more" critical systems run on Open Source
Mozilla is around the biggest Open Source project I can think of: where the hell is it going? It has no focus!
Re:because it's more efficient (Score:2)
It is easy to say this, and there are great examples of open source products. But there are also just as many--maybe more--examples of top notch closed source products.
there's a reason more and more "mission-critical" applications run on open source platforms and technologies.
Of course this isn't true. Most mission critical stuff is for embedded systems, and most of it is not done with Linux or other open source systems.
Moral: Don't let your personal view of the way you'd like things to be color your perception of reality.
...or maybe not (Score:2, Interesting)
Oh, and by the way the prices of PCs are so low that compared to a few years ago you could buy $2k of software before you got anywhere near the purchase price of the hardware.
What you're saying is you're not willing to pay the programmers that do all this nice work for your lame ass to use.
There are lots of great reasons to use Linux, but I'm afraid the "free beer" part is (usually) much less important than the "free speech" part. When MS ups the ante to the point where it really hurts people THEN we'll see a more serious migration (especially in corporate settings) to Linux.
Re:what would you do with a zillion dollars? (Score:2)
Mod this up. It's a viewpoint that the Congressman might understand. Five or ten hours a day of coding is more challenging and intellectually rewarding than five hours of watching TV.
Glenn R-P (libpng)