Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
United States

Open Source - Why Do We Do It? 378

mikosullivan presents us with a unique opportuinity: "This Saturday, Sep 8, I have an appointment to meet with Congressman Rick Boucher to discuss open-source software. I made the appointment after talking to the congressman at a town-meeting here in Blacksburg, VA. During our short talk he asked a question that (not being a particularly talented public speaker) I found difficult to answer: why do open source software developers devote their time and talents to something they give away? That's the question I'd particularly like to answer: why do we do it? Answering this question may be the key to resolving public FUD about open source. This meeting is part of the opensourcelobby.org efforts."
This discussion has been archived. No new comments can be posted.

Open Source - Why Do We Do It?

Comments Filter:
  • Returned value (Score:4, Informative)

    by Analog ( 564 ) on Thursday September 06, 2001 @11:13AM (#2259228)
    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.
  • by smallpaul ( 65919 ) <paul@@@prescod...net> on Thursday September 06, 2001 @11:16AM (#2259257)
    ESR's writings on this topic are recommended reading for open source hackers no matter how you feel about ESR. Homesteading the Noosphere [openresources.com]

    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.

  • by jorbettis ( 113413 ) on Thursday September 06, 2001 @11:19AM (#2259307) Homepage

    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.

  • Very simple (Score:4, Informative)

    by LordNimon ( 85072 ) on Thursday September 06, 2001 @11:29AM (#2259439)
    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.
  • Why do we do it? (Score:5, Informative)

    by chabotc ( 22496 ) <chabotc AT gmail DOT com> on Thursday September 06, 2001 @04:06PM (#2259724) Homepage
    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.
  • by Euphonious Coward ( 189818 ) on Thursday September 06, 2001 @04:12PM (#2259801)
    The compelling practical argument, summarized here [advogato.org] and here [linuxtoday.com], 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.

  • by dgroskind ( 198819 ) on Thursday September 06, 2001 @04:29PM (#2259942)

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

    A complete statement [willerup.com] of Mallory's view suggests that it does not really apply to writing software: "The first question which you will ask and which I must try to answer is this, 'What is the use of climbing Mount Everest ?' and my answer must at once be, 'It is no use'.

    Software is primarily and above all, useful.

    However, Mallory also says: What we get from this adventure is just sheer joy. And joy is, after all, the end of life.

    Sometimes I think this view applies to writing software and sometimes I don't.

  • by cburley ( 105664 ) on Thursday September 06, 2001 @07:16PM (#2261122) Homepage Journal
    ..."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!

Intel CPUs are not defective, they just act that way. -- Henry Spencer

Working...