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

 



Forgot your password?
typodupeerror
×
GNU is Not Unix

Why Do People Write Open Source Software? 283

M.Broil writes "Two interesting articles try to answer this question. One's at NewsForge, the other's at Cybernaut.com. The two writers reach conclusions that are almost exactly opposite. Which one is right? Or is it possible that different open source coders have different motivations? (That's what I think, anyway.)" I suspect as well that each developer has their own reason, ranging from ego to malcontent to benevolence.
This discussion has been archived. No new comments can be posted.

Why Do People Write Open Source Software?

Comments Filter:
  • by gobbligook ( 465653 ) on Saturday April 26, 2003 @10:22AM (#5814542)
    some write for recognition, some write for pleasure, some write just cause they are anti-corporation/microsoft.

    I personally write cause it passes the time, and because some projects I can submit and get marks in my classes at university for the projects I do.

    I guess to answer you have to examine (or almost have to) a persons beliefs and lifestyle. I believe open source is the way to go for most things, some I don't however.

  • by bluesangria ( 140909 ) on Saturday April 26, 2003 @10:23AM (#5814544)
    This one of those "well DUH!" kinda articles.

    Does it really take people that long to understand that someone may want to create something just for the sheer joy of creating something useful or helpful? How the hell do you explain drawing, music, painting, etc.? Jesus, corporate-boneheads must think everybody is a greedy, sonuvabitch driven only by monetary compensation.

    blue
  • by bluesangria ( 140909 ) on Saturday April 26, 2003 @10:31AM (#5814571)
    One last final point: Open source was doomed from the beginning. Yes, it's a blanket statement that sounds ridiculous. Keep reading. Open source is based on the very principles of communism: everyone works on it, everyone owns it. The very thing that led to the collapse of Communism leads to the inability of open source to become popular: workers then tend to migrate quickly, and not work hard, since they can't gain anything from working on one thing hard.

    Actually, I disagree that communism failed because people got tired of contributing. In my opinion, there really hasn't been a "ideological" communist state to exist yet. Russia and Cuba are both just glorified dictatorships, not communist states - no matter how much they claim otherwise. Their governments ended up hoarding all the resources and not really giving back to the people they governed.
    Getting back to open source software, however, a key difference is that you can LEAVE an open source project whenever you feel like. Do some people have the attention span of mayflies? Sure. But sometimes they just need a break to be able to get back into the project. Since this is their personal interest, it's less likely to be subjected to permanent disinterest. Somewhere, somebody loves everykind of project.

    blue
  • Why I wrote it. (Score:5, Interesting)

    by questamor ( 653018 ) on Saturday April 26, 2003 @10:32AM (#5814576)
    I wrote mine and released it OSS for one reason - laziness.

    One was a simple addressbook, 2 were games, and one a graphics prog - the latter for Commodore 64s.

    I released them all as free software, source included, and didn't know what the GPL was at the time. All the same it was open source, simply because I couldn't be bothered with the marketing/distribution/etc. I may have sold them as shareware or donationware had I a strong enough urge to, but for me the majority of the fun was in writing the programs themselves. Getting money for them seemed more work than I could be bothered putting into it
  • by Gefiltefish ( 125066 ) on Saturday April 26, 2003 @10:34AM (#5814579)

    I'm sure nobody can say why exactly people write open source software because different people are quite likely to have different motives. That said, I think we can look to Slashdot posters for equivalence on at least a few levels.

    I say this because I've often wondered to myself, "Self, why do you spend at least a few minutes each week drafting comments to slashdot postings?" And the answer, just for me, varies depending on the day, the post, and my mood.

    Some days I post to avoid work and flex, perhaps, a different part of my brain. The same might be said for some authors or contributors to open source software.

    Other days, I post because an article catches my interest and I have something compelling to say. Again, the same might be said about open source programmers. They contribute to projects about which they are passionate.

    Other days, I post to get a rise out of others or to simply be an attention-seeking karma whore. Surely, some open source programmers contribute for recognition, status, or props from their peers.

    My bet is that most people write open source software for many reasons and that, even for an individual, those reasons change from one day to the next.

  • by Musashi Miyamoto ( 662091 ) on Saturday April 26, 2003 @10:35AM (#5814583)
    I think there are a few reasons.

    First, most OSS developers do not think they can make money selling their software. They think that software that sells needs to be super stable and perfect, with a perfect UI and a large advertising budget... Though, shareware shows that this does not have to be the case.

    They do not realize that they are taking food out of their future mouths.

    Think about this.

    When someone makes a scientific discovery, usually, thier discovery becomes part of the public domain and everyone can use it without paying royalties. On the other hand, when someone writes closed source software, they must be paid whenever anyone wants to use that software.

    Open source software (via the GPL in particular) causes software development to resemble scientific research, as you give your "inventions" to the public domain, allowing others to improve and advance the "science". The progess is then cumulative (or can be), as other programmers add to existing sofware and improve on it.
  • peer pressure (Score:2, Interesting)

    by audiophilia ( 516688 ) <`gro.ycci' `ta' `mot'> on Saturday April 26, 2003 @10:39AM (#5814593) Homepage
    everybody's doing it.
  • by cribb ( 632424 ) on Saturday April 26, 2003 @10:39AM (#5814594)
    i think i am not the only person who does this:
    my boss tells me: We need a program that does foo
    So i write the program that does foo, and if i decide that it could potentially be useful to someone else except me, i release it as open-source. I get enough money from my job, and have to write the program anyway. It's not like i'm obsessed with the thought of one day writing the killer program that everyone simply has to have and that i'm gonna become a millionaire from selling it.

    Why open-source? Because my software will be customized for our machines, our OS and it may not work anywhere else. So instead of someone else reinventing the wheel, he could just as well check freshmeat, get my program and it would hopefully work with some minor modifications.

  • What about laziness? (Score:5, Interesting)

    by richieb ( 3277 ) <richieb@@@gmail...com> on Saturday April 26, 2003 @10:41AM (#5814597) Homepage Journal
    I think most programmers get tired of doing the same thing over and over again, especially as you move from job to job. I had convinced several companies I worked for to release some of the software as open source, mostly so I can use it in the next job.

    For example, this project [sourceforge.net] was part of code we build at a startup (now defunct). Since then I used it in two other jobs. The team that build this software to start with, is still using it at several different companies.

    So, rather than building the same thing again and again, I got to build it once and then since it's open source, I get to use it as long as I need.

  • by RLiegh ( 247921 ) on Saturday April 26, 2003 @10:41AM (#5814599) Homepage Journal
    fame, [slashdot.org] notoriety, [slashdot.org] power [slashdot.org] and cold hard cash. [slashdot.org] ...not to mention the many lucrative job oppurtunities! [slashdot.org]
  • by i_want_you_to_throw_ ( 559379 ) * on Saturday April 26, 2003 @10:47AM (#5814612) Journal
    In my own case I do it for two reasons...
    1. To show my customer that I can bring them a wealth of functionality with no additional cost (which goes a LONG way towards explaining why we keep getting awarded our military contract year after year even though our expense is a little higher than our competition)
    2. To level the playing field and to empower the little guy. Here's a great example, travel agents are being put out of business slowly but surely by airlines and GDSs (SABRE, WorldSpan, etc) by the way of no commissions, etc.

    Orbitz, a collusion between carriers to control the distribution channel for tickets, does things like sends ticket holders a notification if their flight is late and so on. Travel Agents have not had that ability until now. They CAN use such CRS solutions like Virtually There and so on but SABRE strips the customer data and will market to their customers behind their backs bypassing the payment of any commisions. This lack of commission is pretty huge. Imagine if your travel agency was turning 10 million dollars worth of revenue for the airlines to get nothing in return?

    I created a Perl app called TripTiger [travelagencyhosting.com] that parses CRS terminal data and stores it on the travel agent's web server and stores it in a MySQL database.

    The CRS cannot harvest their customers emails, I can have a Perl script running via a cron job to check flight information and send notifications but MOST importantly travel agencies can now control their customer data.

    TripTiger is FREE to all trave agencies and they don't have to host with my service at all. It's more important to keep them in business by demonstrating their value to the customer and this helps.

    Open Source hasn't crashed the travel technology party and I am trying to help make that happen. Otherwise travel agencies aren't going to be in business much longer.

    By the way, I have placed TripTiger on Sourceforge [sourceforge.net] but am having some difficulty with file uploads if anyone can offer advice. I have the spirit just not a master at the mechanics yet.
  • by jaaron ( 551839 ) on Saturday April 26, 2003 @10:51AM (#5814622) Homepage
    What is the "open source" you speak of?

    What open source needs to do:... blah blah blah

    Sorry, but this concept really drives me up a wall. What centralized 'open source' organization are you talking about? Open source isn't a single group. It isn't a solid movement. It isn't a company or even a consistent culture. Heck, I'm on open source developer, but I have no connections with most major projects individuals think of when they say 'open source.' Sure you have the FSF and the Apache Software Foundatation. There are larger projects like Gnome and KDE and the Linux Kernal. We also have some companies like Red Hat and SuSE. But they all distinct entities! They often disagree with one another. They often disagree internally! So let's repeat it again: There is NO open source master plan!

    Despite what anyone tells you, the 'open source' you speak of is a loose connection of individuals each with their own interests and reasons for contributing. And no open source developer has any obligation to make a peice of software any better for you as a user anymore than you do! I'm doing this as a hobby. Because I like it. Because I want to. Because it's fun. And if I don't want to build "in-between" programs like games or media servers, then that's fine. Who are you to tell me I should. Heck, I don't even have to make my software, which I write and give away FOR FREE, any more user friendly than I want it to be. If you want something more user friendly, then WRITE IT YOURSELF!

    I can't stand it when open source users cry about why "open source" is going to fail or why the software sucks. Well, the beauty of it is, if you really think that, go over to sourceforge and start your own! Or maybe you could spend some time writing some documentation, or funding the project (in which case the developer would have an obligation to listen) or maybe even submit some code yourself.

    But one last time: OPEN SOURCE IS NOT A SINGULAR MOVEMENT. Each developer does it for his or her own reasons and in most cases that means that they'll write and develop what they want to. No one beyond ESR or RMS has ever promised anything more. Linus sure hasn't. So before you claim the movement will never work, you might want to check if there's really a movement to begin with.

    /me steps off soapbox and returns to coding
  • because it's fun (Score:2, Interesting)

    by brosmike ( 662936 ) <brosmikey.hotmail@com> on Saturday April 26, 2003 @10:53AM (#5814626) Homepage
    Personally, I think that programming is fun. Sure, it's not as good as gaming, but sometimes I really don't feel like racking my mind with anything but code. Making it open source lets people comment on my poor programming habits, which in turn makes me a better programmer. I think. :) Plus, it's amusing to see the reactions when I give my classmates [I'm twelve ;) ] a link to the source code.
  • Another reason (Score:2, Interesting)

    by Chief Crazy Chicken ( 36416 ) on Saturday April 26, 2003 @10:55AM (#5814636)
    Off-the-shelf games have a terribly short life span. Other software does as well, but I reached this line of thought through the avenue of games. The general industry now uses a model of approximately "realease slightly premature, patch twice, move on to another product".

    As such, if there's a particular type of game that you like to play a lot, over a period of many years, you have what I see are two choices: play a series of disconnected commercial games that come somewhat close to giving you the feeling of having played that sort of game for a while, or play an open source game of your chosen genre.

    That's the reason to play. The reason to code is to put back into the community -- either you want to see a change to match your style, or you just want to do something to make sure that this product is still around for you in a few years.
  • by iFlynn ( 668727 ) on Saturday April 26, 2003 @11:01AM (#5814651)
    This is such a simple subject it's very easy to over complicate it. While there are a variety of reasons to write any software, the overwhelming motivation for most open source software is obvious.

    Someone wants an app that does X in a certain way Y. They could only find an app that does X-3 and it does it in a round about way Z. So they write an app that does X in the certain way Y and release it with the source so that others can modify it to suit their needs as well. Perhaps their mods will be benefitial to the original author as well.

    Linux, Perl, blah blah blah, all started this way. It's not complicated or difficult to understand.

    What's difficult to understand is why so many people release shareware that does one simple thing and expect people to pay them 20 bucks for it.
  • by GrubInCan ( 624096 ) on Saturday April 26, 2003 @11:05AM (#5814667)
    Well I've seen lots of dupe articles, but a dupe comment [slashdot.org] (although I notice you removed the opening paragraph that made you sound really stupid).
    I guess you didn't get enough responses to your Communism troll that time.
  • I disagree (Score:3, Interesting)

    by Anonymous Coward on Saturday April 26, 2003 @11:17AM (#5814711)
    > So, projects die as they become less "hot" to work on.

    So do commercial products. If noone bought Windows, do you think they'd continue selling it?

    I am an OSS developer. Here's my three reasons why:

    1. I want to make the world a better place by contributing with free software. It may not be much, but it helps.

    2. Credit. Dislike it if you will, but being an OSS developer is a nice way to show off your code. Read some of the the OpenBSD sources and be impressed. Those guys really know how to code, and the proof rests within the source.

    3. I am a "hobby communist". I believe in the communist system - and don't be afraid, communism isn't about torture and repression. The theory behind real communism is sharing the goods.

    (But hey, don't get me wrong, not all OSS developers are communists :-D)

    So, projects die as they become less "hot" to work on. ...or they are finished, no more work required. That happens too, you know.
  • by AaronLuz ( 559686 ) on Saturday April 26, 2003 @11:23AM (#5814733)

    Reduce the cost of your tools and increase the productivity of your labor.

    I've worked as a contractor on a number of database and batch environments in and around a small city. The amount of duplicated effort is astounding. Everyone has their own half-baked, written-from-scratch solution that is expensive to maintain and lacking in some respects. As a contractor, I have the advantage since I can apply some of what I learn at company X to company Y.

    However, for legal reasons I need to very careful not to re-use code from one place to another. I'm also very careful not to reveal trade secrets that might seem obvious to everyone but a lawyer. Really, I think most companies see sharing of code as a legal thicket instead of a common-sense approach to saving effort.

    (Now, I'm not saying a company should give away all its code, just the dull-but-imporant stuff unrelated to the core business.)

    I think most of the primary contributors to significant open source projects do so with the backing of a company with an enlightened view of self-interest. I really hope this view catches on, since it would make the workdays of slobs like me that much more rewarding.

  • by Esion Modnar ( 632431 ) on Saturday April 26, 2003 @11:24AM (#5814740)
    I suspect much of it is written on company time, on the sneak, the QT... at least partly.

    Assuming, of course, they're employed.

    The one thing that has bothered me about OSS (I like the concept, don't get me wrong) is that writing software for free might be a coder pride thing, but folks, vanity don't pay the rent or the groceries.

    Unless you're independently wealthy, you have to be doing something to pay for the pork and beans.

  • There is no mystery (Score:5, Interesting)

    by dsfox ( 2694 ) on Saturday April 26, 2003 @11:26AM (#5814757) Homepage
    Why do people wash their own cars? Cook their own food? Play their own music? Why do people pick up litter on the beach? There are plenty of reasons to do things besides wrapping them up in plastic and putting them on a store shelf. Saving money. Making money indirectly or otherwise fulfilling job or academic requirements. Enjoyment.

    Why does this question even get asked? Why are people always questioning the motivation of this particular hobby or activity? It seems like someone out there would prefer that people *didn't* write open source software...
  • by biz0r ( 656300 ) on Saturday April 26, 2003 @11:29AM (#5814772) Homepage
    I can relate as I have experienced the same thing. Hell...visit my website...the one project I have up there (removed all of my exremely old ones) currently hasn't been updated in almost a year, why? Because I never hear anything from any users about what features they like/don't like/want added etc. I guess thats ok though...because work has kept me too busy to mess with OSS lately anyhow. Gotta pay the bills first you know...
  • Comment removed (Score:2, Interesting)

    by account_deleted ( 4530225 ) on Saturday April 26, 2003 @11:32AM (#5814792)
    Comment removed based on user account deletion
  • by shrinkwrap ( 160744 ) on Saturday April 26, 2003 @11:34AM (#5814798)
    Whenever I release source code, it's for the reasons listed in both articles.

    The NewsForge article concludes that we go open source because "there's something in it for me." And yes, that's true. My #1 marketing plan has always been, "Get it distributed; get it used; get it accepted." Open source is a great way to "get it distributed," especially for customers with thin wallets.

    On the other hand, Maslow's hierarchy of needs in the Cybernaut article also applies. At this point in my career life-cycle (I'm 53), I've drawn a line and said (financially), "Enough is enough!" So, it doesn't bother me to "give it away" as much as it would have 10-20 years ago.

  • Re: Communism (Score:2, Interesting)

    by bj8rn ( 583532 ) on Saturday April 26, 2003 @11:40AM (#5814829)
    Communism has never collapsed, because... ...it has never even existed. USSR was a socialist country, so were all its satellites. Socialism was suppposed to be just a preliminary stage before communism, which never was.

    Communism doesn't mean that "everyone works on it", it means only that everyone owns it. In USSR, everything belonged to the state which was supposed to belong to the people, so theoretically I as a citizen of the USSR (only a child back then) owned a microscopic share of everything, but didn't work anywhere.

    The idea that communism is "everyone gets paid the same, no matter what they do" is wrong. Being equal didn't, according to (Neo-)Marxist theory mean "finishing the same" (=getting paid the same), but having the same starting position - equal opportunities to get a good education etc. It's kind of the same in the Open Source community - you get your name higher in the list, if you do more work (correct me if I'm wrong), and some people get paid for working on some certain thing.

    Why do some projects get "less hot" do work on? Maybe it's because there's nothing more to do?
  • by JohnFluxx ( 413620 ) on Saturday April 26, 2003 @12:35PM (#5815034)
    There are good users, and then there are whiney lusers.
    When people say "Linux has to do X for it to be ready for the desktop", 9 times out of 10 they are talking about for the lusers, which contribute nothing at all back.

    Thankfully, generally what is good for the lusers are also good for the users and so generally these things get done.

    On the one hand I do like having the lusers because they have the side effect of dragging in hardware companies, games, users, and corperate funding. On the other hand they can be demoralising and have a negative affect.

  • by Anonymous Coward on Saturday April 26, 2003 @12:40PM (#5815053)
    Open source is based on the very principles of communism: everyone works on it, everyone owns it.

    Actually, Open Source is based on the foundation of capitalism: the free market. Open Source is the ultimate free market for ideas. Anyone can put forth code, but no one is under an obligation to use that code. Different project compete (mysql vs postgres, linux vs *bsd, redhat vs suse, etc). Cutsomers decided which succeed in the marketplace of ideas, and which ones fail.
  • by kbielefe ( 606566 ) <karl.bielefeldt@gma[ ]com ['il.' in gap]> on Saturday April 26, 2003 @12:47PM (#5815076)
    I'm okay with end users who just want to "learn the minimum necessary" and expect others to find the bugs. What I'm not okay with is end users who whine about software bugs on slashdot endlessly but won't take 5 minutes to submit a bug report to the developer. Most developers I have submitted bug reports to are like this one; they are well versed in their software and can fix a bug in about 5 minutes if you give them a chance.

    Bottom line is: Don't complain about bugs in free-as-in-beer software if you haven't made a minimum effort to fix it.

  • by cdemon6 ( 443233 ) on Saturday April 26, 2003 @12:55PM (#5815108) Homepage
    Same for me. I'm developing JFtp, a graphical java ftp/sftp/smb client which can be launched via java web start / downloaded / used in 3rdparty-products.

    I have about 500 downloads during 2 weeks if i announce a release, webstart users not counted (which should be the majority of users), but there are only few incoming emails and they are often in phases of the project when no work is done for at least a week.

    Most mails are about others who want to embed the ftp api, almost no bug reports even when there have been very obsolete bugs in some releases...

    This is a huge disadvante to commercial product where customers tell you thousands of duplicate bugs even if there is an ovious workaround.
  • by Enkerli ( 554033 ) <enkerli@gmail.com> on Saturday April 26, 2003 @02:36PM (#5815550) Homepage
    Disclaimer: Not a coder, just an observer...
    Doesn't the OSS community work as a culture where one's motivation comes, in part, from emulating what others have done? A culture isn't centralized, it doesn't have committees or even goals. In many ways, "it just works"...
    There are obvious leading figures and groups, of course. And, surely, some people start coding because they read The Cathedral and the Bazaar or they look up to RMS or Linus. Others are just part of it because it works...
    On the other hand, contrary to a "real" society, (almost) nobody's born into it. Come to think of it, we also choose our affiliations IRL, so the difference isn't so great...
  • Re:Programmers... (Score:3, Interesting)

    by Daniel Phillips ( 238627 ) on Saturday April 26, 2003 @05:15PM (#5816319)
    Well, what happens when someone who has invested their life in Microsoft products and tools sees that others are encroaching on their turf? Don't they fight? Don't you fight to defend and protect your life and investment? Don't you write more code that people might use freely so that you won't lose everything you have in your head?

    If somebody running a Microsoft OS decides to "fight back" by writing open source code, they just become one of us, not one of them. Look at the 3D engine community for an excellent example [sourceforge.net] of that. There are probably more Windows coders in this than Linux+all unixen combined. Yet everybody's working together, without animosity.

    Sure, it's likely that most of the Windows coders will eventually drift over to the Linux side, just because it's so much easier to get stuff done when all the tools are there, and because - well, things are just moving faster on this side. But there will be a new crop of Windows coders joining, and the end effect is, it's likely there will be more Windows coders on these projects than Linux coders, for a good while to come.

    So, to answer your question, that's what happens. It's good.
  • by budgenator ( 254554 ) on Saturday April 26, 2003 @07:44PM (#5816776) Journal
    Most people don't even believe they're stealing because its bundled with the hardware they really see it as free and given to them to do with as they see fit.
  • by zorander ( 85178 ) on Saturday April 26, 2003 @07:51PM (#5816794) Homepage Journal
    If Methods for reporting bugs were more easily accessible from runtime objects, rather than source packages, I'd do it a lot more.

    Even with Gentoo and all the source packages sitting on my computer I rarely feel the need to unpack one just to find out the maintainer's email, though if there were an easy way (help:about is fine, except many people don't take advantage of it for this purpose) and maybe some sort of meta-information for a library. If every library exported a const char* "maintainer" string, then a simple utility could dlopen the library and spit out the data given a library name.

    Even a centralized database somewhere that would connect a package name to bug reporting instructios would be better, though that's more steps for the user--bug reporting should be easy, not a chore, if you want it to be done.

    Libraries are the toughest because everyone suspects the program they're running, not its silent dependencies.

    I for one would be more likely to report and track down bugs if A: I saw them more, and B: It was only ever a few clicks away.

    Automated systems make me feel distanced from the bug reports. I'd rather have an email address and a checklist of information than a fill-in form and a "click to send" button so I could at least anticipate interaction with the maintainer.

    Brian
  • Simple answer. (Score:3, Interesting)

    by AyeRoxor! ( 471669 ) on Sunday April 27, 2003 @12:04AM (#5817455) Journal
    For the same reason cavemen painted on caves. Certain artists/creators have a desire to share their work with the world, to express themselves through their medeium. This idea is not peculiar; this idea is human. It's where the term humanitarian comes from.

Any circuit design must contain at least one part which is obsolete, two parts which are unobtainable, and three parts which are still under development.

Working...