Slashdot Mirror


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."

124 of 378 comments (clear)

  1. It's deeper than because we can. by LenE · · Score: 3, Interesting

    Many of us started writing software that we wanted or needed to use individually, but soon found that it felt better to give it to friends who could use it and improve it as well. It's kind of like an ego trip without having people acknowledging your ego, hence not becoming known as arrogant or egocentric (not that that still doesn't happen). YOU know that other people depend on you, and YOUR work is appreciated.

    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

  2. Two reasons to kick off with... by Simon+Tatham · · 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 :-)

    1. Re:Two reasons to kick off with... by Barney · · Score: 3, Insightful

      A thought that this comment gave me was "why do people make web pages?" Personal ones, that is. I've seen amateur journalism, fan sites, etc., that took hours of learning and labor. And people put them out there for everyone to look at and, hopefully, benefit from.

      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

    2. Re:Two reasons to kick off with... by SilentChris · · Score: 2
      "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."

      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.

    3. Re:Two reasons to kick off with... by Simon+Tatham · · Score: 2
      There have been many, *many* times where the solution is more viable through recreation than using existing code.
      Certainly! If someone is going to gain more value from solving the same problem their own way - be it educational, or be it the advantage of having a complete understanding of their solution and being able to hack it at need, or maybe their needs are slightly different from mine - then by all means they should go ahead and do so rather than using my code! I'd never say otherwise. But that's not a reason not to put my own code up on the net. Even better than using my code, or than not using my code, is having the choice of whether or not to use my code.
      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?

      *shrug*. Selling the software doesn't prevent this happening either; terrorists can shop in software stores just like everybody else, and not only so can government agents, but they have access to bigger budgets than the rest of us anyway!

      Obviously it would be nice if we could prevent terrorists getting their hands on as many good things as possible (not just software and guns: also mobile phones, chainsaws, duct tape, and even chocolate biscuits), but if we could do that we'd by definition be able to identify the terrorists in among the general population. And if we could do that, we could just send them to prison for terrorism, and stop needing to worry about whether they were getting their hands on stuff!

      As long as terrorists remain indistinguishable from normal human beings, you cannot separate distributing stuff to normal human beings from distributing stuff to terrorists. The only way to avoid my software getting into the hands of terrorists is not to write it at all. I happen to think the benefit to the rest of humanity outweighs that.

  3. Demonstration... by mirko · · Score: 3, Interesting
    I actually several potential answers to your questions. These are:
    • To demonstrate one's expertise in a domain (many Open Source Project Leaders found jobs that made them famous)
    • Because they do it just for the fun of it (I am currently reading Linus' "Just For Fun" biography). They consider the fun of exrcising their brains and would just give away what they did so that it has a chance to benefit from one another's point of view...
    • Because everybody does it (do't blame me on this but I see people who don't even know why they do it but just do it because they don't care. There's no real sign of altruism here.)
    --
    Trolling using another account since 2005.
  4. One word... by Kombat · · Score: 4, Insightful

    Ego.

    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."

    --
    Like woodworking? Build your own picture frames.
    1. Re:One word... by koreth · · Score: 2

      I dunno, I've spent enough time over the years referring people to my FAQs for the same questions, over and over again, that I think I'd rather release my next free-software project anonymously. I've been introduced to people as "the guy who did X" (err, that's a wildcard, not a reference to the window system) and it makes me really uncomfortable. I do it 'cause it's fun and it seems like the right thing to do.

    2. Re:One word... by koreth · · Score: 2
      I wasn't aware that I was required to pirate music or video in order to contribute to an open-source program. Or vice versa. Must have missed that part of the GPL. If only I'd known that when I started writing free software, I could've saved myself thousands of bucks on CDs and DVDs! Silly me.

      (Hint: It's possible to believe that it's only okay to freely copy information whose author intended it to be freely copied.)

  5. Sir Edmund Hillary by bricriu · · Score: 4, Interesting

    "Because it's there." Or, the geek version of it, perhaps, "Because we can."

    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.

    --

    AHHHHHHH! I'm burning with goodness again!
    - Reakk, Sluggy Freelance

    1. Re:Sir Edmund Hillary by dgroskind · · Score: 2, Informative

      The author of the quote "Because it's there" was George Mallory, not Sir Edmund. Mallory died trying to climb Mt. Everest in 1924.

      A complete statement 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.

  6. because not everyone is money-motivated by jbarr · · Score: 2, Insightful

    We do it for the challenge.
    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.

    --
    My mom always said, "Jim, you're 1 in a million." Given the current population, there are 7000 of me. God help us all!
    1. Re:because not everyone is money-motivated by radja · · Score: 5, Insightful

      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
    2. Re:because not everyone is money-motivated by geomcbay · · 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.

    3. Re:because not everyone is money-motivated by acroyear · · Score: 2

      Its more than just money. Trade Secrets (e.g., the code itself in M$'s case) represent shareholder value. The are the assets (even if on the books M$ doesn't actually value them as being worth anything) by which Wall Street judges them. Open-Source software isn't considered a valuable commodity when Wall Street looks at it. To Wall Street, what you give away isn't worth anything unless by giving it away you get rid of any alternatives; e.g., only give it away if you get a monopoly out of it, because then the monopoly is of value (though the software still isn't).

      --
      "But remember, most lynch mobs aren't this nice." (H.Simpson)
      -- Joe
    4. Re:because not everyone is money-motivated by Fat+Casper · · Score: 3, Interesting
      How much money would Microsoft make as an Open Source-based company? Almost none.

      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.

      --
      I spent a year in Iraq looking for WMD and all I found was this lousy sig.
    5. Re:because not everyone is money-motivated by Salamander · · Score: 2
      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

      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?

      --
      Slashdot - News for Herds. Stuff that Splatters.
    6. Re:because not everyone is money-motivated by radja · · Score: 2

      Yes, they are.. although most changes are minimal, trivial, or machine specific.

      //rdj

      --

      No one can understand the truth until he drinks of coffee's frothy goodness.
      --Sheikh Abd-Al-Kadir, 1587
  7. Why do charities exist? by bluGill · · 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.

    1. Re:Why do charities exist? by bluGill · · 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.

  8. Because by Luke · · Score: 2

    it's there.

    And it's addictive.

    And it's how the world should work.

    We lead by example.

  9. Why not? by Bearpaw · · Score: 2

    I can't speak to open source directly, but there are other things that I do that I could do for money but don't. Because -- as astonishing as it may be to some people -- I have found that there are some things worth doing, for which money is inadequate compensation. (Or even, in some cases, would make it less worth doing.)

  10. Definition of FUD? by Kasreyn · · Score: 2

    From the jargon file:

    FUD /fuhd/ n. Defined by Gene Amdahl after he left IBM to found his own company: "FUD is the fear, uncertainty, and doubt that IBM sales people instill in the minds of potential customers who might be considering [Amdahl] products." The idea, of course, was to persuade them to go with safe IBM gear rather than with competitors' equipment. This implicit coercion was traditionally accomplished by promising that Good Things would happen to people who stuck with IBM, but Dark Shadows loomed over the future of competitors' equipment or software. See IBM. After 1990 the term FUD was associated increasingly frequently with Microsoft, and has become generalized to refer to any kind of disinformation used as a competitive weapon.

    (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

    --
    Kasreyn: Cheerfully playing the part of Devil's Advocate to hairtrigger /. flamers since 1999.
  11. Lots of reasons by dant · · Score: 3, Insightful
    Altruism is certainly part of it, I think, but there are many reasons:
    • Fun - A lot of us just plain like to tinker with our computers. Having the finished product is often less important than the act of writing it, so you may as well give it away when you're done.
    • Satisfaction - It's a bit of an ego-stroke, having something you've written be used by lots of people all over the world. That's how you know you did a good job.
    • Politics/Advocacy - Geeks can get pretty passionate about The Way Things Should Work. As programmers, we're uniquely able to actually make things work the way we want (at least on a practical level) sometimes. We'd be fools to pass up that chance.
    • Altruism - This is the most obvious one. Most people want to feel that in some small way, they've made a contribution to humanity. Writing a nifty little tool and giving to the world is hardly curing cancer or devoting your life to starving people in Calcutta, but it's something we can do that contributes (in however small a way) to the progress of technology as a whole. How could you not?
    1. Re:Lots of reasons by hearingaid · · 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.

      --

      my old sig used to be funny, but then slashcode ate it and now it's not funny anymore

  12. the canonical answers by dutky · · Score: 3, Insightful
    My top five reasons are:
    1. to scratch a personal itch (you need the software for something you do)
    2. contractual obligations (you were funded by public monies, you are under court order, etc.)
    3. as a value added item (drivers, utilities, etc. related to a primary source of funding)
    4. for instructional purposes (programming tutorials, prototypes, etc.)
    5. for the fun of it (my favorite reason)
  13. Returned value by Analog · · Score: 4, Informative

    Several years ago, I got so fed up with Windows that I decided to try to write myself an operating system. Very, very basic, not at all fancy, but something I'd have control of, and that I could fix problems with as they came up.

    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.

  14. Why I do it... by Ruis · · Score: 3, Interesting

    I like getting email almost every day from people thanking me that I saved them so many weeks worth of work and that they appreciate what I've done. I like the attention. I like the community.

  15. Some Reasons by Nater · · Score: 3, Offtopic

    why do open source software developers devote their time and talents to something they give away?

    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.

    --

    I like to play children's songs in minor keys.
    "We're all sons of bitches now." --J. Robert Oppenheimer

  16. Why I Do It by smack.addict · · Score: 2
    Generally, I build Open Source software to address one of three concerns:
    • To scratch an itch, so to speak. In other words, there is no reasonable solution to a problem I want solved, so I solve it myself. An example of this is would be my mSQL-JDBC driver. At the time, there simply was no way to access a database using JDBC.
    • To empower previously disenfranchised people. For example, I wrote my mud code because at the time (1991), building new muds was very much an elitist endeavor. I wanted to remove the technical irrelevancies and empower people to be creative.
    • To reduce the cost of a product group that is outrageously overpriced. A good current example of that is digital asset management solutions. IBM and others charge fortunes for their digital asset management products. I wrote xS to compete with these guys.
  17. My experience of Open Source by doctor_oktagon · · Score: 4, Offtopic

    Apart from a few evangalistic & talented individuals I think most Open Source projects are started by relatively young hackers who want to develop their coding skills and try and write an application they feel would better their lives or their workstation.

    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 ... I'm sure Source Forge is littered with thousands of "Version 0.001" releases that will never make it to the actually useful stage.

    1. Re:My experience of Open Source by wfrp01 · · Score: 2

      I'm sure Source Forge is littered with thousands of "Version 0.001" releases that will never make it to the actually useful stage

      True. So is the world of commercial software. Few people have the comittment to take developement through to completion, no matter what the motivation.

      Some people are motivated by money. But there are other motivations besides money. Why should anyone think that working in a paid, competitive environment with real customers, deliverables, and deadlines is the only way, or the most likely way, to produce high quality, sophisticated software?

      If you were leading a charge into battle, would you rather be followed by paid conscripts, or people fighting on principle? Have you ever eaten an amazing meal that wasn't cooked in a restaraunt? Do you only attempt to excel at things that people pay you money for?

      There's nothing wrong with wanting to earn a living. But there's also nothing wrong with devoting yourself to something just because you love doing it. Programming is intrinsically interesting to a /lot/ of people. Some of them are good at it, and some aren't, just like anything. So the people who want to earn a living programming are going to have to put up with these screwballs. The only way around that is if we legislate so many obstacles to programming, that we turn people's hobbies into crimes. If I could wish just one thing of our legislators, it would be don't create legislation that turns ordinary hard working caring people into criminals.

      --

      --Lawrence Lessig for Congress!
  18. Alternatives to money? by onion2k · · Score: 3, Interesting

    People do lots of things for reasons other than money. A personal challenge, a project that isn't financially viable but is worthy and helpful, simple fame and glory.

    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..

    1. Re:Alternatives to money? by onion2k · · Score: 2

      Not if their work is derived from a GPL project they aren't.

    2. Re:Alternatives to money? by Jodrell · · 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.

  19. Homesteading the Noosphere by smallpaul · · Score: 3, Informative
    ESR's writings on this topic are recommended reading for open source hackers no matter how you feel about ESR. Homesteading the Noosphere

    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.

  20. A better way to tell him why by truthsearch · · Score: 2

    The first sentence is perfect. I think the rest needs to be reworded for the congressman: "Many people are not satisfied with the quality and features of software provided by corporations. Many open-source developers see the free market as not fostering the best-of-the-best in the software industry. Most are also disatsfied with the monopoly which is providing most of our software options. These feelings motivate them to make high-quality, useful software."

  21. Why do we scratch.... by RalphTWaP · · 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?

  22. Re:I'll Tell You Why by Hammer · · Score: 2

    It's a great way to market yourself and looks impressive on a resume.
    It's a great way to learn design and programming.
    And it's definately egoenhancing :-)

  23. Because I want to help mankind. by jorbettis · · 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.

    --

    Jordan Bettis

    ``Wherever you go, there's another stupid sigfile quote.''
    1. Re:Because I want to help mankind. by SurfsUp · · Score: 2
      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.

      Yes, that's my main motivation as well, though there certainly are other rewards... such as working with people you respect and can learn from, lots of little 15 minute's of fame, mental exercise, getting things working the way you want for yourself, and just plain satisfaction. That's enough for me, and oh, it doesn't hurt that it pays well.

      --
      Life's a bitch but somebody's gotta do it.
  24. Re:because it's more efficient by doctor_oktagon · · Score: 2

    We "do" open source because it's a better development model - the end product is stronger

    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 ... a press release about Linux being deployed as the OS for a messaging system on the NYSE does not mean everything is going that way.

    Mozilla is around the biggest Open Source project I can think of: where the hell is it going? It has no focus!

  25. Turn the question around... by Ami+Ganguli · · 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.

    --
    It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail. - Abraham Maslow
    1. Re:Turn the question around... by SurfsUp · · Score: 2
      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.

      Well I have a rather jaded view of politicians, sorry, I'd like to be corrected by all my experience just serves to reinforce this stereotype: politicians are in it for the power trip, for greed (how exactly does the wealth increase by more than the salary between beginning of term and end?) and because they don't really do much well except project their image and... play politics. It's harder to survive on that alone in the real world. Not impossible, but harder.

      Personally, as a hacker I'd prefer not to be compared to a politician thanks.

      --
      Life's a bitch but somebody's gotta do it.
    2. Re:Turn the question around... by lizrd · · Score: 2

      Interesting that you would take exception to having your choice of vocation compared with that of a politician. At least for me, being a programmer has been very much about being on a power trip. One of the things that fascinates me about machines (and computers in particular) is that if I think about it hard enough I can make the machine do whatever I want. I've been hooked on this power trip since I was a little tyke playing with GW-Basic on my family's first PC.

      --
      I don't want free as in beer. I just want free beer.
  26. For fun. by Mike+Schiraldi · · Score: 2

    I know a retired Grumman engineer who builds model planes in his basement. Nobody seems shocked.

    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!

  27. Why do we do a lot of things? by Matey-O · · 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.

    --
    "Draco dormiens nunquam titillandus."
  28. Fun, simply fun by DarkDust · · Score: 2, Insightful

    I'm developing open-source software because I enjoy programming. That's it. And it is fun to work with other enthusiasts, unlike office programming where most developers don't even know how to format a disc (at least in the company I work, it amazes me how little all those programmers know). The reason to publish the source is simply that it increases the chance of being known as a programmer, it enhances my "fame", if you'd like to call it this way. Others are able to correct my errors and mistakes, so I also learn WHAT errors and mistakes I make. It's no use writing some closed-source app as a hobby that is full of bugs, design flaws and release it as Shareware or whatever, 'cause noone would use it. If it's open-source, it gets corrected and grows faster, thus gets more useful. Marc Haisenko The 3Dsia Project (http://www.3dsia.org)

  29. maslow's hierarchy by johnrpenner · · Score: 2, Insightful

    because with humans, after you get past
    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

  30. Because it feels good by stonewolf · · Score: 2, Insightful

    I've done a lot of different kinds of volunteer work. I like it because it makes me feel like I am helping the world be a better place. Writing free software gives me the same feeling, only better.

    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

  31. My answer by hrieke · · Score: 2

    Well, if I was Willie Sutton, I might reply "...because that's there the money is", but the truth in the matter is that I enjoy the challenge and mental activity in the same fashion that my friends enjoy the New York Times Sunday crossword puzzle.
    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).

    --
    III.IIVIVIXIIVIVIIIVVIIIIXVIIIXIIIIIIIIVIIIIVVIIIV IIVIIIIIIVIII...
  32. Just one small-time open-sourcer's answer by Salamander · · Score: 2

    Basically what it comes down to, for me and me alone, is one of two things:

    • What the hell, I already wrote it, I don't want to be a salesman, why the hell not just plop it out there just in case it's useful to someone else?
    • Getting this idea (expressed as code) out there is much more important than profiting from it.

    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.

    --
    Slashdot - News for Herds. Stuff that Splatters.
  33. Thought long about this by Dark+Paladin · · Score: 3, Insightful

    I was thinking about this recently when checking out a news story on ZDNet, and reading someone's comment that "Open Source was communism".

    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.

  34. Pro Bono Publico by Paul+Johnson · · Score: 4, Insightful
    For much the same reasons that lawyers do Pro Bono work:
    • Establish a professional reputation for quality work
    • Establish a social reputation as a nice person
    • Make the world a better place

    (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 for all the commercial reasons for releasing open source.


    Paul.

    --
    You are lost in a twisty maze of little standards, all different.
    1. Re:Pro Bono Publico by Paul+Johnson · · Score: 2
      True, the American Bar Assoc does require lawyers to spend some time on pro bono work. But I don't think it sets any specific amounts, and since the ABA is controlled by its members the profession could easily get rid of the requirement if it wanted to.


      Paul.

      --
      You are lost in a twisty maze of little standards, all different.
  35. I don't develop it but... by cavemanf16 · · Score: 2
    I USE OpenSource and other free software because I find it to be better than commercial software, and more responsive to users requests for a lot of different things. WinAmp - rocks. I hate Windows Media Player still. Plus, since everyone is able to develop for WinAmp, there are all sorts of wonderful plugins for it. Linux - love it! It may not be as simple as Windows yet, and yes, there's still plenty of little desktop features to be improved upon, but it's a huge project. I just installed Mandrake8.1 last night. Man the new KDE is sharp, and Konqueror is EVEN better than before. Even after installing win2k recently from Win98 I can't say I was all that wowed by it, just another Winblows OS.

    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.

  36. Very simple by LordNimon · · Score: 4, Informative
    People who support Open Source development understand the value of it. When you choose an Open Source product, you get the source code, which allows you to do whatever you want with the program, more or less. You can fix bugs or add features. You can determine how it really works, so there are no hidden "back doors". All of these are real benefits that only Open Source gives you.

    IMHO, there are only three real reasons why people contribute to Open Source:

    • The GPL and similar licenses force you to share your enhancements. Sure, you can keep the binaries to yourself, but if you want anyone else to use it, you must give them the source code. There's no way around that.
    • Open Source developers understand that the only way Open Source works is if people contribute to it. So if you benefit from other people's work, it's only fair if you contribute to it yourself (assuming you're a programmer). If you use GPL software and create your own software, you understand that you promote the idea of Open Source every time you create new Open Source code and distribute it. It's a version of "voting with your dollars", except you're actually "voting with your code".
    • Most programmers realize that selling software they develop is difficult. The marketing and support issues are time-consuming and expensive. If you want to develop a piece of software that you don't think is going to sell well, you may as well make it Open Source. You lose almost nothing, and you benefit others. Reasons for writing this kind of software include:
      • You need the software for yourself, and no one is going to write it for you
      • As a hobbiest programmer, you just like writing code. Some people like ham radio, others like building models, you like writing code.
    I don't relieve belive the "prestige" factor that much. I don't think programmers out there really write that much code just so that they can impress others. In a meritocracy, that sort of thing isn't generally acknowledged.
    --
    And the men who hold high places must be the ones who start
    To mold a new reality... closer to the heart
  37. Why do I do it? by t_hunger · · Score: 4, Interesting
    Why do I spend time developing free software? That's difficult to answer... For a bunch of reasons:
    • I want to learn something. Not just programming in general, but how complex systems for textprocessing, graphics rendering, multimedia streaming, ... work. I found that actually doing one is the only way to understand what's going on inside those systems! IMHO participating in one free software project should be mandatory for any student of computer science.
    • I use Linux, mozilla, xchat, blackbox, ... exclusivly, no commercial software at all! That software is just great for me, I'm so happy that I don't have to bother with licensing and pricing everytime a new version of a program I like comes out!

      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.
    • I like the people: Most tend to be open to new ideas sharing their own and using those contributed by users. Almost everyone I meet so far was very friendly and willing to teach and/or learn. They tend to know what kind of work is involved with a big project and tend to respect those contributing their time and energie into one .
    • I like the ideas of free software. I believe its a good thing. Yes, that's rather idealistic, but that's how I am,


    Regards,
    Tobias
    --
    Regards, Tobias
  38. Salman Rushdie explains... by swm · · Score: 4, Interesting

    NPR had Salman Rushdie on The Connection today. A caller asked why some of his novels were, or were not, set in India. After circling around the question a bit, Rushdie said

    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.

    1. Re:Salman Rushdie explains... by jcr · · Score: 2

      I heard that same line from Richard Bach (best known as the author of Jonathan Livingston Seagull) quite a few years ago. It was in the preface to "Illusions."

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
  39. Why do people paint? John Maddog Hall answers by dudle · · Score: 2
    John 'maddog' Hall, President of Linux International paid a visit to the florida linux user exchange to talk about open source in a business perspective. He said the following:

    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.

    --
    Looking for a great online backup: Green Backup
  40. For me... by update() · · Score: 2
    I started because there was an app I used all the time in MacOS and didn't have in Linux. So I ported it to KDE (source was available!) and figured if I found it useful, others might also.

    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?

  41. I do it for these reasons by Omnifarious · · Score: 2
    • I hope my project will become popular and the ideas in it appreciated and attributed to me.
    • I want to participate in the gift economy of Open Source.
    • Related to the first, I hope to improve the way people approach certain kinds of tasks and give them the tools and ideas to do so.
    • Because I don't believe in the existence of copyright protection as it currently exists and feel such protection is damaging to intellectual progress.
  42. Here's why we SHOULD do it by fobbman · · Score: 2

    Here's a quote from another Slashdot-linked website 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.

  43. Why do we do it? by chabotc · · Score: 5, Informative

    First off, every person has his or her own motivations. So this will never be a complete or even very acurate list.

    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 ;-) 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.

    * 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 .. compare our cute Tux pengiun to the windows flag ... you have to admit, its a lot more cudable right!?

    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.

  44. "Why OpenSoruce" vs. "Why Software" by matek · · Score: 2, Insightful

    The question was: Why do you make Open Source Software, not Why do you make software. Many posts in here refer to the main reason:

    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.

  45. We don't do it by cartman · · Score: 2

    The simplest answer is: we don't write code for free. Almost all programmers who work full time on an open source project are paid for it. There is a limited number of large-scale, successful open source projects (gcc, linux, apache, xfree, mozilla, gnome, postgres, and a few others). All of them have large sums of corporate or university money to pay professional programmers to work on them. Mozilla has _always_ had significant funding; gcc has had significant funding for over 10 years (cygnus); the linux kernel has $1 BILLION pumped into it a year by IBM. This myth of "hordes of free programmers collaborating over the internet voluntarily" is almost entirely false.

    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.

  46. So many reasons! by mosch · · Score: 2
    1. Because we want to contribute to the advancement of science. Imagine a world where you need to license Calculus 8.0, and no explanations are given on how any of the math works, you're merely given magical answers to your queries. It would make it nearly impossible for mathematics to advance in the ways it has.
    2. Because we're lazy. Nobody likes when a product that had released internally has a bug in it six months after release, when they've long ago forgotten the internals. By distributing interal use tools as open source, where appropriate, you get a larger base of users and the bugs are found and fixed faster. Additionally you get the benefit that occasionally other users will actually fix the bugs for you.
    3. Because we want recognition What better way to show the world that you're a really great coder than to show the world your code. You can show potential clients or employers examples of your work to entice them to hire you.
    4. Because it feels good It feels good to know that for once your work has done more than just make your company money, you've made other people's lives a little bit easier.

    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.

  47. for the craft! by denshi · · Score: 2
    First, programming is a craft. You may gain some theoretic backing in formal education, but you only improve by writing code. Lots of code. Lots of code that recieves criticism from intelligent peers. This is the first pattern I put on the table: that a craft skill improves only by repeated efforts that meet the demands of the outside world.

    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.

    1. Re:for the craft! by denshi · · Score: 2
      That's an interesting evaluation. I assume that is the standard Christian position?

      I don't think I ever use terms like 'glory' in everyday context. What I found thus far is that, even ignoring 'glorifying' someone else, opening my code makes me strive to be better..."and in the perfection of the individual comes all good things." I guess I just like the phrasing Matthew uses.

  48. Why by haplo21112 · · Score: 2

    1. Sick of paying outragous prices for software.
    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.

    --
    Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
  49. Very Practical Reasons by Euphonious+Coward · · Score: 2, Informative
    The compelling practical argument, summarized here and here, goes like this:
    Suppose you are using some Free Software in your business. You find a bug or discover you need a new feature, so you take care of it (or hire it done) yourself. Then you have what you need, and you don't really have to do anything else.

    However, a new version of the program will soon be released. You must decide whether you want to use the new version, and if so you must integrate your changes into it. This happens each time a new version comes out. If you were to send in your changes and get them integrated into the mainline code, each new version would already have your changes.

    As long as you keep your changes private, nobody else is using them. Once your changes get integrated into the mainline code, other people start using them, and improving them. As a result, each new release of the program not only has your changes integrated, it may have improvements on your changes.

    Thus, publishing your changes (1) cuts your own workload and (2) attracts free assistance from others with similar needs. The process doesn't depend on altruism or a sense of community, although many people are also motivated that way. It doesn't depend on people working to establish a reputation, although many are. It doesn't depend on proprietary alternatives being intolerably restricted, expensive, or buggy, although they often are.

  50. I'm a communist. by bee-yotch · · Score: 2, Funny

    Nuff said. ;)

  51. Bob Young told me... by cvd6262 · · Score: 5, Insightful
    At Linux World in San Jose, Bob Young said that people always ask him why other industries haven't caught on to open source.


    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.

  52. Why do math & physicists publish their equatio by UnknownSoldier · · Score: 2

    Because it's for the betterment of our knowledge.

    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.

  53. I don't like to wear shackles by Gaetano · · Score: 2, Interesting

    By withholding source code and the freedom to alter it I am shackling those users who use my software to the degree that they come to rely on my software. Those shackles are as difficult to break free of as my software is difficult to replace. This is at the heart of why many open source advocates dislike Microsoft software.

    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.

  54. C'est l'art pour l'art by uriyan · · Score: 2, Insightful

    I'm only 16 years old, and my contribution so far has been quite minor (only xml2swf 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.

  55. Because it is what I feel is right. by xueexueg · · Score: 3, Interesting

    Warning: dogma ahead. But sincerely-felt dogma.

    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.

  56. Why do politicians run for office? by jmichaelg · · Score: 2

    Just as there are a myriad number of reasons why a person runs for office, a politician embodies a desire to help people. An open source programmer has the same instinct but expresses it by coding instead of politicing. Open source is a manifestation of altruism.

  57. Here are some reasons by Sloppy · · 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:

    • Sympathy and compassion for users. I have been burned as a user, where I wanted to maintain some software that I use, but could not actually do it w/out a lot of effort, because I didn't have source code. (And I'll admit, I'm a lazy old geezer now; I haven't manually created binary patches since my C64 days.) Once I've been burned this way, I feel a little more guilty about burning others. Some people might think that "burn" is a bit strong of a word, but when you grow dependant on something and then can't get a simple bug fixed because the owner is out of business, or the product is discontinued, or the vendor won't sell you the fixed version except at a high price that will also necessitate a cascade of other expenses (*cough* Microsoft *cough*) then you feel like a victim, whether strong-IP types agree that you technically are one or not.
    • Free maintenance. If you release source code, then maybe someone else will do your work for you. If you wrote the program professionally, this is a bad thing since the part of the purpose of releasing closed software is to have a monopoly on maintenance (i.e. customer has to come back to you if they want changes). But if you didn't write the program professionally -- if you did it for fun or just because the program was something you needed (the itch) -- then releasing it as source is useful, because someone else might improve it and then you might get ahold of the improved version, thereby getting the benefits of someone else's work, for free.
    • Increase value. All else being equal, Free Software is worth more to the user, than closed software. Thus, perhaps you can charge a higher hourly rate for creating it. (Note: I haven't actually tried this.)
    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  58. A congressman won't understand charity... by landley · · Score: 2

    And the cathedral and the bazaar is too long and complicated for him to read.

    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

  59. Remember history by elbuddha · · 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?

  60. I Can Only Speak For Myself... by deebaine · · Score: 2
    I know why I code, and I know why I prefer open source software. The reasons aren't profound, but I think they make a lot of sense.


    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

  61. Unbelievable by Illserve · · Score: 2

    I can't believe I haven't seen this reason yet, and to those of you who think it isn't at least a partial factor in your own contributions, think about it carefully.

    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.

  62. ...or maybe not by bobalu · · Score: 2, Interesting

    That would make sense if you actually had to buy any software with a new PC. The fact is they throw in tons of stuff so most people can do something when they turn it on. Word processing, burning CDs, games, slideshows, graphics programs... I recently bought a Sony VAIO for $600 that had all that stuff loaded up, included in the cost. That's what the bloody anti-trust suit is about, that MS gives you things free to wipe out their competitors. The reason the gov had such a hard time selling it was precisely because it was really hard to demonstrate harm to the consumer.

    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.

    --
    The revolution will NOT be televised.
  63. Why do store owners clear sidewalks for free? by rjh3 · · Score: 2

    There are many good reasons sent in so far, but this one has been missed. Many commercial entities willingly share mutually beneficial actions for free. The classic example is the free sidewalk clearing. If each store owner clears their portion of the sidewalk, all benefit. It is silly to charge a fee.

    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.

  64. Model train analogy is great advocacy! by Tony+Shepps · · Score: 5, Insightful

    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.

  65. my reasons for demanding and producing open source by Dr.+Awktagon · · 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.

  66. Business realities by nicestepauthor · · Score: 2, Interesting
    Everyone has heard the stories about two kids in a garage that make a new kind of software and become millionaires. Of course it isn't that easy. The software business is tough to break into. Consider the following:

    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!

  67. A Few Reasons From Someone Who... by istartedi · · 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.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  68. Why write Free Software? by slffea · · Score: 2, Interesting

    Because:

    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 ...

    --
    San Le www.slffea.com
  69. Immortal code... by DrCode · · Score: 2
    Why do I write code in my free time, when I've been writing code for pay for over 20 years?


    I started writing Exult

  70. Why I Do It by Arandir · · Score: 2

    Some of the code I write is closed source (cries of 'heresy' can be heard). I do it because my employer pays me to do it.

    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.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  71. Re:what would you do with a zillion dollars? by Glenn+R-P · · Score: 2

    how come nobody ever asks why people watch tv for five hours a day when nobody's paying them too?

    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)

  72. It's hard to make $ from software by Cro+Magnon · · Score: 2, Interesting

    Suppose I wrote a killer app. How would I sell it? I'm just one guy with a full-time job and no selling skills. Maybe I could convince 5 of my friends to plunk down the green stuff. Then I'd have 5 guys hounding me, asking why it didn't work right, wanting me to add this, that, or the other kewl new feature. If I include the source code, I can tell them to make their own damn fixes/enhancements. And if they like it and give it to a bunch of their buddies, it won't line my pockets, but I can say "look at all those people using MY program!"

    --
    Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
  73. Reasons: by spitzak · · Score: 2
    1. Because you dislike the solutions that are being provided and want to show people your alternative solutions. This also explains why Linux refuses to have a "consistent user interface": no matter what that interface is, somebody will feel that it is bad and will provide their own example in the hope it will change the public's mind.

    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.

  74. Immortal code... (trying again) by DrCode · · Score: 2
    Why do I write code in my free time, when I've been writing code for pay for over 20 years?


    I started writing Exult 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.

  75. Re:because it's more efficient by Junks+Jerzey · · Score: 2

    We "do" open source because it's a better development model - the end product is stronger (most of the time). Say what you will about infighting and the group politics that can be

    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.

  76. Open Source is a lucrative trade! by bwt · · Score: 2

    All human behavior can be explained by rational self interest. Accordingly, humans invented and named the concept of "trade", which occurs when parties exchange things of value in an attempt to each better themselves. Trade is good.

    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?

  77. Some software is too fundamental to own by Junks+Jerzey · · Score: 2

    I expect my views are somewhat different than the usual on the subject, as I'm not a rabid open or closed source advocate. I use what works.

    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.

  78. Wanting to affect the world by Ulwarth · · Score: 2

    All human beings, and probably most semi-intelligent life-forms, have one underlying goal to everything they do: to make stuff happen. Humans want to poke and prod at the world, and see things change as a result of our input. When we manage to make a large change to our environment, we feel satisfaction and gratification. When we are trying to make a chance but nothing much seems to be happening, that's when we get frustrated and unhappy.

    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.

  79. It's akin to the weekend warrior by colnago · · Score: 2, Interesting
    Individuals who will admittedly never play professional sports continue to exercise, join teams, and even pay to play to do something they enjoy. For them it is a stress release, a challenge to see if they can improve, a chance to identify themselves with something other than work or family, and a way to build friendships. They use sports as an opportunity to build their network of contacts and a place to build their reputation.


    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

  80. Re: Why do we do it? by chabotc · · Score: 2

    I'm afraid I fail to see how you mean this.

    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 ;-)

  81. A collaborative effort to create something big by dsplat · · Score: 3, Insightful

    Open source is not unlike a huge pot luck dinner. We all bring something and we get back a complete meal rather than a single dish. The biggest difference is that software is easily copied. So we each brought a single serving and got back meals for the entire year.

    --
    The net will not be what we demand, but what we make it. Build it well.
  82. Why I Write Code for Free by CoreDump · · Score: 4, Interesting
    I'm one of the authors ( well, I contribute code and answer questions on the users mailing list ) for FreeRADIUS.

    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. :)

    --

    ---
    Segmentation Fault ( core dumped )

  83. Why do I do it? by stripes · · 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:

    1. Sometimes it the same reason I take photographs, I just want to do something creative. The goal isn't to solve a problem for myself, or anyone else, but just to have some fun. Once I've done that it seems like a good idea to share the code, in case others want to have fun. Sourceforge is nice here because I can share the code with minimal effort, and no commitment of my resources. To some extent both w3juke and xtank (anyone have a link? I stopped screwing with it almost a decade ago!) are explained by this.
    2. Some times I'm a little more focused. I have a method I want to test out, and either no problem at work can benefit, or I'm a little leery of experimenting with that method at work. I learned how to use the STL on my own dime for example. This covers a lot of ground (w3juke was my STL playground for a while which is why it has odd uses of things like priority queues, and O(logN) algos used for datasets not likely to have more the 50 or so elements!). Again, if the code is sound, there is no reason not to share it.
    3. Some times it really is to solve a problem I'm having (either not at work, or not one that justifies work time at least). My mkavi program (not currently up -- it was at my last employers anon ftp site, maybe I'll get it off to sourceforge soon) is an example of that. I really wanted to convert some raytracings I had made into movies, and didn't have a Windows box or anything. So I wrote a program that did it. I didn't have a 100% free license (it was a "free for noncommercial use" deal), and an aerospace firm actually ended up paying a little money for it, enough to buy me a windows machine if I wanted :-). However it counts for some definitions of Open Source, and more importantly it describes a motive I have for doing Open Source work sometimes.
    4. Sometimes I do Open Source work on other people's code because it almost solves a problem I have (frequently I thought it did, but it turns out not to due to a bug). That is not quite the same as above, but pretty close.

    That said, there are some reasons I don't do Open Source:

    1. To get recognition. True, I got my first full time job as a result of writing xtank, but by and large few people get any real recognition for writing Open Source code. A few get to be Rock Stars (Linus for example), more get known only in "the field" (Keith Bostic for example), but very few people get much recognition. Esp. with the advertising clause of the BSDL being on the outs these days :-)
    2. To change the world. The world ain't so bad, and my code seems unlikely to change it anyway.
    3. To make money. It's too haphazard. Consulting work makes money, making money off Open Source seems too hard. I do try to get my (rare) consulting clients to let me Open Source code I produce for them, but it rarely pans out (it did for a Real Estate firm, anyone want some crappy DB code? It's free!).
    4. To destroy Microsoft. Don't get me wrong, I would like to destroy them, I just don't think my software will do it.
  84. Two Reasons: 1) I Respect Trustware... by cburley · · Score: 2, Informative
    ..."trustware" being my term for software that trusts the end user to make the right decisions for himself regarding how many copies of the software to make, when and how to run it, whether and how to modify it, how best to understand how it works (which necessarily includes being able to look at the source code), and with whom to share it, as well as these same freedoms.

    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...

    ...that is, I wrote it, often designed the app or function myself, so I'd like to be able to use it myself for a variety of reasons, as I progress in life.

    Examples of what developing GPL'ed software allows me to do, that developing proprietary software does not allow me to do:

    • Show the software to friends, potential employers/clients, etc.
    • Learn from my own past mistakes, even long after finishing the job (or, for a "regular" job, leaving the company), by re-examining my own code
    • Possibly learn from industry experts how my code is wrong, right, can be improved, etc., without having to first get them to sign NDAs (Non-Disclosure Agreements) with my company (plus get permission from my company to allow it)
    • Reuse the code in other projects that might have a different general "shape" than the original (e.g. GUI code written for an email program might be useful in a vertical app that includes some form of instant messenging)
    • Allow anyone, anywhere to find bugs in a variety of ways, from normal ways like running the program, to "advanced" ways like examining the source code, to "esoteric" ways like writing automated tools (other software) that analyze the code and look for oft-committed bugs

    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!

    --
    Practice random senselessness and act kind of beautiful.
  85. A working paper on this subject by sumana · · Score: 3
    http://bis.berkeley.edu/~briewww/pubs/wp/index.htm l

    Check out Steve Weber's work on the topic. WP 140, "The Political Economy of Open Source," articulates some interesting stuff.

    --
    Ceterum censeo Microsoftam esse delendam.
  86. Missing the Big Picture.... by humblecoder · · Score: 2, Insightful
    Most of the posts so mention reasons like "I love to code" and "It feels good to give back" and the like. That may explain why Joe Random Hacker contributes, but it doesn't explain why large companies like IBM, Sun, HP, and AOL Time Warner are putting a lot of time, money, and manpower into open source development. These companies are motivated by profits, not by feel-good platitudes. So why are they doing it?

    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.

  87. Remember it wasn't always called open source by mrjinks · · Score: 2, Insightful
    ...and open source developers don't necessarily fit the stereotype of the college student volunteering time on a kewl project.

    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.

  88. As antidote to professional programming blues by crucini · · Score: 2

    I write free software in order to write code that will be used in the real world. Most of the code that I write professionally will never see the light of day. The project will change directions at an executive's whim, or the whole project will be canceled, or the company will go bankrupt.

    I suspect that very little of the software written for hire is every put into production.

    Second, the stuff I write commercially is always twisted to some extent by the organizational/marketing agenda of the employer/customer. Free Software is my chance to write code that's clean and logical.

    Third, software that I write for hire is never really finished. There is no money in budgets for polishing code. Once it works I'm on to something else, although the code is full of commented-out bits and unused variables and might need a complete rewrite.

    Summary: programming for a living causes an ever-increasing accumulation of bitterness. Writing Free Software counteracts that bitterness with the sweetness of a clean, logical, complete project that might be used by many.

  89. Well.. the obvious thought.. by mindstrm · · Score: 2

    is that not everyone does everything to make money.
    Some people work on cars for fun. Some paint. Some do woodwork. Some people teach kung-fu to kids. Some do community volunteer work.
    The motive can be entertainment, or feeling good about yourslef, making a difference, or whatever.

    Too often, the media views 'programming' as 'work', like we are all 'working' for free. We aren't... it's a hobby, too.

  90. It's not a rare reason by melquiades · · Score: 2

    I second this. Thank you for having the courage to be honest, even if some people do think it's "corny".

    I think this is not a rare motivation at all. As programmers, most of our work goes into little systems that only helps some corner of some company for a limited time ... and it's frustrating. So much effort goes into coding, it just feels like it should be doing a lot of people a lot of good. So some programmers choose to actually make that happen!

  91. The v0.0.espilon phenomenon by melquiades · · Score: 2

    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 ...

    Agreed -- absolutely. Programmers, in spite of being so social online, are still too reclusive about their work.

    I'm sure Source Forge is littered with thousands of "Version 0.001" releases that will never make it to the "actually useful" stage.

    But this is necessary and inevitable -- it's important that people have a shot at developing their own ideas, even if it's just a little bit ... even if they're really bad ideas! It's the opportunity that matters.
    One big difference between the open source and commercial worlds is that with OSS, even if you're working on somebody else's project, you could be working on your own. It's a world of pure choice, and that's a beautiful thing.

    It's evolution -- in a large pool of ideas, most don't make it far. But the large pool is very important, even if most of it dies off quickly.

  92. User-friendliness by Ukab+the+Great · · Score: 2

    Microsoft doesn't care about creating usable interfaces and won't let me do a damn thing about it. I could go up to Bill Gates and say "Hey, Bill, your software is unusable. It's contains lots of designs that no self-respecting HCI person would ever recommend. I can rework your programs so that people can learn them faster and use them more efficiently". And do you know what Bill would tell me "That's nice. The exit's on your left". This also goes for just about every software company on the planet. When I have the code for a GUI environment, I have the power to make interface design decisions that need to be made. I don't have to deal with programmers who don't give a damn or software executives who don't have a clue.

  93. Re:Many Reasons by SurfsUp · · Score: 2

    Somebody mod up the post above, please

    --
    Life's a bitch but somebody's gotta do it.
  94. Re:Many Reasons by SurfsUp · · Score: 2
    Somebody mod up the post above, please

    Err, forget that, somebody mod both these down please ;-)

    --
    Life's a bitch but somebody's gotta do it.
  95. Asking us "why" is the reason I do it; to ask why. by Pierce · · Score: 2, Interesting

    As I was thinking about what to write I realized the question of why I write software and give it away is also the reason. Hopefully this will make more sense by the time I finish, if not please email me for any clarifications or questions. :)

    I would also like to have a disclaimer that I work for a company that has commercial, closed source, software and I am the main developer for that program. Although my preference is Open Source, my employer has final say in how the software I write on their time is used. I like working for the company, so we have an agreement about releasing some code openly and some closed.

    My first exposure to "Open Source" software (c: it was not called that at the time) was in the Marine Corps, I was stationed on El Toro in Santa Ana, CA and tasked with being the "firewall administrator." The first thing I did was look for the fire exists and extinguisher.

    Because I was given this responsibility, and the Military would not train me on maintaining the system (c: nobody else there knew it and we did not have the money for classes), I was forced to start poking around on the system. The system was using BSDI and Gauntlet as the firewall software.

    When I didn't know how something worked, or when I had the question "why" I could always start looking. I took a long time before I ever managed to fix my own mistakes, but I learned how to troubleshoot and tackle problems procedurally. This helped tremendously when I was in the field, when other people would get overwhelmed by inspections, formations, the route for the march, etc. I just broke it down and started to pick it apart like the firewall.

    Had the Military sent me to any formal training I don't think I would have had that, because I would have stopped learning when I knew how to perform the basic functions. Or I would have waited for someone to send me to a class where I would be told most of what I needed to do and provided with the information. There would also be no opportunity to become enthralled in why this box did what it did, which would not have translated into learning how to handle situations where I am not given every piece of information or a long time to prepare.

    When I was transferred from MCAS El Toro to MCAS Miramar in 1998 my SNCOIC was sent to the secondary 40xx MOS school. In that class they used a Portuguese version of Linux to setup DNS servers. There were two main reasons that they used Linux, the cost and the availability.

    Keep in mind that not every department in the Military has a ton of money, some of the 3MAW units were still using 486 computers on the desktop when I was on MCAS Miramar in 1999. They were able to do this because the servers were running Banyan VINES, which hosts the email and file storage at the server rather than the local computer. When we were forced, even after I put up a BIG fight, to migrate to Windows NT as part of the BRAC this changed; virtually all of the networking and desktop systems, which had not been recently purchased, had to be torn out.

    The cost justification for using Linux to teach was that it wouldn't have to be authorized for the budget and could be setup quickly because it was freely available.

    I don't know if you are familiar with the way the budget works, but if you don't spend the money you are allocated for the year you loose it; and your budget for the next year is probably going to be lower. There's no incentive to NOT spend money like it would never end.

    But not everybody had that money, so using Linux provided the lowest common denominator that everyone could use.

    After having been on MCAS Miramar I was one of the only people with Unix backgrounds, everyone else learned NT because of the BRAC migration. When talking to one of the other "old timers" on another base, I became aware of the number of programmers the DoD has. Yet the DoD does not write much of its own software for general use, they use COTS software instead.

    The money the DoD spends on buying software could easily finance the programmers writing that functionality into any needed software. This software could easily be used in other Government departments and would not require the purchase of an entirely new application to get any needed functionality or features.

    I realize my thought process is has run away, so to cut this short and summarize my reason for writing code and giving it away is because I like to ask "why".

    If you are interested, some specific examples of why include:

    1. I am a Marine and I come from a _very_ military family; of my 9 siblings 6 have already served in addition to my Father and Uncles. I never want to hear about a Marine, Sailor or Soldier killed in combat because their Pocket PC crashed. Nothing will ever be completely fail safe, but Open Source allows for a bigger review process with a better chance of finding problems.

    Consider encryption, why doesn't the Government keep their encryption schemes a secret if they are supposed to be used to secure the most sensitive data they have? Why not throw all the Russians in jail under the DMCA if they try to break the encryption? We could have ended the Cold War a lot quicker that way.

    2. The DoD has a lot of programmers, what would it look like from a cost savings perspective if those programmers contributed to Open Source? How much money would the DoD save in making Linux Common Criteria Certified and deployed internally. Use SE Linux, created by the
    NSA, on the servers and critical desktops, SAMBA for file and print sharing, etc. The put the money towards beans, band-aids and bullets.

    This is one of my motivations, because I have "been there, done that" in the field with old, outdated, hand-me-down equipment falling appart. The justification was always that we did not have the money, but if you went into our comptuer room we have rows of Compaq Proliant 6500 computers fully loaded running Windows NT. With Linux we would not need machines that big, or that expensive. We would also save money on the licensing and not have to upgrade so often.

    3. If I write software I usually learn something in the process, often not just about the program but about myself as well. But if I have other people contributing to my code I can learn from them as well, if the code is closed they are less likely to contribute their knowledge and experience. This allowed me to learn things much faster and tap a much broader knowledge base when I get into a Portuguese bind (c: BIND = = DNS).

    4. So I can ask why. Why does this work? Why _doesn't_ this work? Why can't I do what I want to do?

    By asking "why" I poke and prod until I either have more questions or until I get sued and put in jail.

    Unlike many people I do not tend to stop when I am faced with what at first appears to be an unanswerable question; I pick it appart or ask for the assistance of others to find the answer; which leads to more questions.

    Because it is not the answer that is important, it is where you are left after having had the inquiry.

    What good is it to talk to myself?

    That is what it is like to program with closed source software, nobody but your co-workers can see what you have created. Nobody can witness that clever algorithm you created to solve a really thorny problem; all they see is the result of the program in action.

    As an example, earlier today I had a co-worker who took a 15 line script for error checking and re-wrote it in 2 lines of regular expressions. But that is not the interesting part for me, when he sent me the new code he pointed out that I "always make things difficult" when they do not have to be.

    My program is an expression of myself. Who I am being when I write software is the same, generally speaking, as when I am with family and friends. When he pointed out to me that I always make things more difficult, one of the first things that came to mind was that a very dear friend had said the same thing to me the night before.

    When someone comments on my code or my coding stle, they are commenting on who I was being when I wrote that code. It is an extension of how I choose to express myself under that particular situation.

    By opening the source I can have the inquiry with the world with amazing results. What happens when you are open to the possibility of allowing others to contribute to not only your program but yourself in the process.

    Semper Fi,

    Wayne Pierce
    Former SGT USMC

    PS: I am MUCH better with firewalls now. ;)
    ----
    wpierce at athenasecurity dot com

    VP of Technology
    Athena Security
    Information Security is a process, not a product.

  96. Because I'm tired. by SuperKendall · · Score: 2

    This is a bit similar to other answers, but one of the reasons I'm thinking of starting a GPL project (and probably contributing to a few existing projects) is that as a corporate programmer, I'm tired of writing the same frameworks again and again and again!

    I also feel a strong desire to contribute to the greater good for both society and other programmers, but part of it is also the desire to be able to work for any company and be able to start with a nice well-understood framework and not have to rebuild.

    That same inherent dislike for duplication of effort (read laziness!) that leads you to build nice reusable modules you can call on later in other code, also drives one to produce code you know by license can be called on at other companies. Work done on that system can be contributed back to the project. (I do contribute changes to GPL code I alter for work back to the project).

    So in essence along with an altruistic result and goal is something of a slightly selfish nature, in that it helps make my life easier - so much the better if it makes other peoples lives easier as well.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  97. Altruism by Earlybird · · Score: 2
    For me, developing free (as in speech) software is an act of charity. I enjoy taking part in building something for posterity. I value my freedom.

    My second reason is that I find the public development process superior. Having two persons studying your code is better than having just one. Having four is twice as good. And so on. There is always some person somewhere with expert knowledge on an esoteric subject. There are people with specific skills, and there are people with specific interests, such as documenting, testing, logistics or herding.

    I find that mere information transparency is a good reason by itself -- and it's a philosophy that pervades much of the technological foundation of the net. I can test a POP3 server with a telnet client. I can tunnel XML-RPC through Apache. I can feed my favourite news server into a mailing list with GNU Mailman. I can harvest my favourite web sites onto my hard drive and postprocess it. And so on. Openness tends to breed openness.

    There are other personal incentives for developing such software -- receiving the admiration of one's peers, developing one's technical skills, interacting with interesting people, finding new technical challenges, the structural aesthetics of a well-organized project, etc. Many of these incentives are present in "closed" projects (by which I mean any project where the source is publicly divulged). However, if recognition and ego expansion is one's goal, closed projects won't offer much relief.

  98. You're all wrong - I do it for selfish reasons. by Colin+Smith · · Score: 2

    Nothing to do with altruism. I'm lazy, I like to get something for nothing and with Open Source, I'm onto a good thing.

    Lets say my boss wants me to solve some problem using software.

    First of all, I don't go out and re-implement the wheel. Only an idiot would do that. I look round for something that someone else has done that solves most of what I need.

    Then I take all of the hard work that they've done and I do any code fixes or customisations that I need for my own purposes, then I take credit for it all with my boss. I also give my updates back to the original author since I've already made the changes and I might as well. If he likes them, he'll include them. Hell, if he includes them, it means we don't have to make the changes again next time - less work for me.

    If when I look round, there's nothing which does what I need then it means that I just have to write the code - that's work - Bummer.

    However, I know that if I put my code up on a web site and publicise it to other developers, they might also need to do what I need to, they can download the code and use it, after all, I've written it already, no skin off my nose.

    The cool thing is, they debug it for me! Is that cool or what? I get other people to do my work for me. All I have to do is fix the bugs or apply their patches. If it becomes *really* popular, I can sit back and take all the glory from the management for doing nothing!

    --
    Deleted
  99. It saves my employer money by brlewis · · Score: 2

    Having an outsider find and report a bug is usually a much happier situation than having in-house users encounter the same bug while conducting our business.

    For more details, see my essay: Free Software: Solving the Buy/Build Dilemma.

  100. Re: Why do we do it? by Junks+Jerzey · · Score: 2

    Please re-read the original posting. "Cool coding tricks" were never mentioned. Realistically, very, very, _very_ few people study the source code. You get more recognition for your achievements by what people think of the _running program_. And in that case the source is irrelevant.

  101. Sympathy by Paul+Komarek · · Score: 2

    I try to keep others from experiencing the same computer pain I've gone through. This means I produce more phone calls and less code, but I can live with it.

    -Paul Komarek