Slashdot Mirror


What Motivates Software Developers?

TekZen asks: "LWN posted a reference to an ABC News article that claims 'Other than Linux, all the other open-source projects move along at a rate best described as glacial.' The reason? 'This probably is a function of how motivation and lack of fear work among open-source developers.' Are you motivated by fear to develop at work? What motivates you as an Open Source software developer?"

40 comments

  1. Simple. by Mockingbird99 · · Score: 2, Insightful

    Money. Just like everyone else.

    1. Re:Simple. by Xtifr · · Score: 3, Insightful

      Aside from the fact that you left out a few motivations, I agree. (And you didn't deserve the "troll" mod, IMO.) The motivations of software developers are much like the motivations of everyone else: money, sex, power, prestige, frustration, curiousity, comfort, etc.[*] There's no mystery here--developers are people, and, generally, have the same motivations as other people.

      The quote, "[o]ther than Linux, all the other open-source projects move along at a rate best described as glacial," is both false and rather stupid, but that's a separate issue. Open source projects, like all projects, move at a variety of rates, some fast, some slow. I'm a little surprised that Dvorak said that, since he's usually not quite that clueless, but then I'm also not quite sure how his article ties into the question of the motivations of developers.

      [*] "Money, sex, power and elephants," is the curious list proposed by Barrayaran ImpSec Chief Simon Illyan.

    2. Re:Simple. by Rick+the+Red · · Score: 1

      And time. I spend eight hours a day at work (at least). I'm lucky if I can spend eight hours a month on my personal persuits. Which do I enjoy more? No question. But which gets more time? No brainer.

      --
      If all this should have a reason, we would be the last to know.
  2. Personally.. by E_elven · · Score: 1

    It's 'writing code'. It feels good. Like it feels good when you stop beating your head against the wall.

    Mmm. *Ruby fuzzies*

    --
    Marxist evolution is just N generations away!
  3. what major projects move slowly? by spectral · · Score: 2, Informative

    KDE releases with decent frequency. Gaim does too. There's eclipse, which has come quite a long way in a short amount of time. Mozilla/firefox.. yeah, real slow there. PHP, hasn't changed a single bit, nope nope.

    Compare it to other projects in the same vein. Independent ones, there's not many developers, it moves slowly. Major ones, or ones with funding, there's motivation to work on it besides "Hey, I have a few minutes and wouldn't it be cool if...".

    1. Re:what major projects move slowly? by MBCook · · Score: 2, Insightful
      The big projects tend to move quite well. But they often have corporate funding or full-time coders.

      But what I think the article means is that if you get away from large projects, many really do move rather slowly. Take a look at the 2 billion things on SourceForge. They often move incredibly slow or are abandoned. Also small projects often reach their goals and really don't NEED updates very often.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    2. Re:what major projects move slowly? by Anonymous Coward · · Score: 0
      Correct me if I'm wrong, but...

      KDE is mostly funded by The Kompany

      Eclipse is mostly funded by IBM

      Mozilla/Firefox owes it's existance to funding from Netscape (AOL)

      You forgot to mention what a great job all the folks at Fedora are doing! Ok...I'm done being snide...but still, if you're going to come up with counter examples, you might not want to choose the ones where people are actually being paid to work on them.

    3. Re:what major projects move slowly? by spectral · · Score: 1

      I specifically mentioned that major ones (or ones backed with money) would move faster than smaller, independent ones. I think they're related -- Get large, get important, get money. I also dont' think gaim developers are being paid, yet it releases often. And there are plenty of people being paid to work on the linux kernel, so to compare to other projects where people are being paid to work on it is also a valid comparison.

      The article specifically mentioned Open Source. All of these are open source. Most of them are also being paid, but that wasn't a requirement, and the one that I was comparing to also has people being paid to develop it.

      *shrug* I see both sides. Most projects get to a certain point where it's more tedious than interesting to develop, as it's bug fixes or edge cases. They stagnate then. Meanwhile, I'm often desiring these edge cases to be finished, and they never are.

      Other projects get large, get popular, and then get even larger and/or get funding. They then go faster than anything else for improving themselves. Rather amazing work comes out of these..

      *shrug* :)

  4. Fear is a good motivator by djcapelis · · Score: 2, Insightful

    Fear is a good motivator to do a rush job. Many open-source projects pride themselves on quality work. The BSDs actually follow this philosophy fairly strongly and refuse to commit anything that's just a quick hack.

    So yes, open-source projects aren't motivated to do it, they're motivated to do it right.

    --
    I touch computers in naughty places
    1. Re:Fear is a good motivator by lphuberdeau · · Score: 1

      I think that challenge is a good motivation factor for most as well. Fear might force to do quality work, but the challenge is probably what triggers developpers in the first place.

      I just don't know how many projects I refused to work on simply because they seemed boring. If I don't end up learning anything when coding, it's a waste of time.

      On the other hand, I just like the fact that my contributions are appreciated.

      --
      Qui ne va pas à la chasse n'a pas de gibier
      PHP Queb
  5. right. by reynhout · · Score: 1

    ...contrast the "glacial" development of open source projects other than Linux to the "rapid and relevant" development of commercial projects such as Internet Explorer, right?

    Maybe the author defines "Linux" as "all the stuff that comes on the 9-disc super Red Hat distribution".

    In which case, I probably agree.

  6. Fear is a horrible motivator by Vilim · · Score: 2, Insightful
    And there is no fear to drive anyone to do anything -- no fear of getting fired or yelled at by a mean boss.

    I would say that this is actually a credit to the quality of Free Software. Most open source projects won't commit quick hacks, they will wait for someone to do a proper job of it (especially the BSD's). An angry boss breathing down your neck is a very good reason to do a quick hack of the job

    --
    History will be kind to me, for I intend to write it - Sir Winston Churchill
  7. disagree with that statement....... by Anonymous Coward · · Score: 0

    I see projects moving fairly rapidly (maybe TOO rapidly in some cases). Maybe these other non-Linux project are simply stable enough that they don't need to keep moving.

    And what motivates me as a "developer"? Solving a problem that a customer has (and usually, but not always, getting paid for it). The open source bit is just a way to get feedback and improvements and/or a faster way to develop (instead of writing from scratch, download and improve). The concept of "selling" software more than once seems very strange and unsustainable to me, but getting paid to install it, maintain it, improve it, teach it, etc., makes perfect sense.

  8. John Dvorak -- please retire by xoboots · · Score: 1
    Always a questionable source for analysis and insight, it looks like he isn't even trying anymore.

    Worst slashdot article, ever.

  9. Sensationalist headline. by reynhout · · Score: 3, Interesting

    OK, it was a dumb comment by someone who doesn't know what he's talking about (and yeah, he's a columnist, but that is no insurance against ignorance).

    But the article was actually pretty good.

    Summary:
    1. The open source world is pretty confusing and seems complicated to the not-previously-exposed.
    2. More and more people are growing up in this culture and that's trouble for Microsoft.
    3. Wouldn't it be great if all that legacy software (that gets sold as part of the assets when a company goes under, and then disappears from view forever) was released as open source. It's not doing anyone any good where it is.

    The last point is a great one. The problem is that all that code is usually encumbered by licensing agreements with companies that are also defunct, and the successors are sometimes hard to find and/or don't know how to renegotiate a contract when they don't even recognize the products and licenses being discussed. That, and of course, that there's no monetary incentive to do so, certainly not one that outweighs the risk of getting sued a la SCO by the fifth-generation successor to the ownership of the assets of XYZ corp (d.1990, RIP)..

  10. and FreeBSD and KDE and GNOME and Mozilla and by bluGill · · Score: 2, Insightful

    There are thousands, perhaps millions of open source projects (over 100,000 on sourceforge alone). Some move, some don't. Linux isn't the only fast mover, in fact I'd have to say that KDE moves faster. Course KDE has about ten times as much code, in a lot more different areas, and that leaves more room. Remember the Mythical man-month applies, but when there is more modular code there is more room for more people.

    Check the linux game of the month project. Just a couple months to take a game from almost nothing to great. Course the scope is much smaller than linux. Just one example of what motivates developers, and a good one because they are not a single project like KDE or the linux kernel.

    When you define success you can eliminate all projects except linux if you want. However there are plenty of projects other than linux that are successful if you would give a definition that isn't so narrow.

    1. Re:and FreeBSD and KDE and GNOME and Mozilla and by Anonymous Coward · · Score: 0

      Course KDE has
      Course the scope

      "Of course" or "'Course".

  11. Fear and recognition by mnmn · · Score: 3, Interesting

    Say your manager doesnt run after you with a stick at work, to motivate you. Say youre given 6 months to develop something with no required feedback during that time. Will you develop the way you'd write drivers for the linux kernel?

    Its just kinda yucky to put effort into software which will make another man rich. Its like youre told to sculpt the best sculpture you can, which will be snatched by someone else, youll get paid $5 and he'll put his name on it. Even if you couldnt personally sell the sculpture at $5, its still a bad deal.

    And then, there are the constraints which REALLY and I mean REALLY demotivate you. Say you absolutely love developing in ANSI C99, using lots of pointers, using the Intel compiler, QT, and making the code portable across BSD, Linux, Win32 and Solaris. Youre put on a VisualC.NET platform, where you have to use C++, not allowed to touch many libraries you'll depend on, not allowed the Intel C compiler, not allowed to port to Linux etc. Say you think the code should be distributed across many small shared libraries to make it neat, and youre told to pack it all in 2 DLLs. It just makes you want to stop working on it. You just push yourself from that point onwards to get the paycheck.

    If someone asked Da Vinci to put a smile on Mona Lisa, he'd probably spend only a few hours on it, PREFER not to have his name signed on it, and he'll paint another personal copy with passion, just for the satisfaction.

    Just put 12 developers together, make a list of their IDEAL development environment, OS, language, tools, algorithm etc, and you'd know how hard it is for the employers to instill motivation into the work. Many people have preferences on 'just because' rather than reason, for example I just hate Java and want to use C, perl, OpenBSD, Postgresql, QT everywhere.

    Just because.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    1. Re:Fear and recognition by spectral · · Score: 2, Interesting

      Totally not trolling here, but I was under the impression that QT was nearly entirely C++? You imply 'not c++' as your prefered langauge, but then like qt?

      I ask only for clarification, because I haven't coded any gui apps for linux. Windows (api, mfc, vb, foxpro) and generic (java/swing, wxwidgets) only.

      In fact, I thought that was one of the big 'draws' of gtk, was that being written in C, it could export to everything. QT, being written in C++, was much harder to make work in other languages.

    2. Re:Fear and recognition by Nasarius · · Score: 1

      You're entirely correct. Qt is thoroughly C++ and object-oriented. I really don't see why people hate C++ and love C. If you don't like certain features of C++, don't use them.

      --
      LOAD "SIG",8,1
    3. Re:Fear and recognition by mellon · · Score: 1

      The reason some people, myself included, do not like C++ is because it's *dissapointing*. It doesn't solve any of the real problems with C or other programming languages. So why *bother*?

      On the topic of what motivates me, I work for a company that's gotten a lot of venture capital, has a lot of potential, and is beginning to show some signs of doing well. What motivates me is the hope of producing enough value to (a) repay the investors and let them show some happy profit, (b) keep my fellow group of employees, who I think are great, employed, and (c) keep me in fudgsicles, Buffy DVDs and shade (living in Arizona, one learns to value shade).

      What does not motivate me is that idea that my work is significant - it's not. If I don't do it, someone else will. Or that my work is going to make the world a better place. My work earns me the money so that I can go out after work and try to make the world a better place. Some people are lucky enough to be able to do both at the same time, but it's fairly rare, and my experience has generally been that I can easily fool myself into thinking that my work is the most important thing in my life, and when I do that, the result is that I don't have a life. Something to avoid, obviously.

    4. Re:Fear and recognition by sql*kitten · · Score: 2, Insightful

      you absolutely love developing in ANSI C99, using lots of pointers, using the Intel compiler

      I'm going to guess here that you're probably very inexperienced, in fact have never worked as a developer. Real developers don't give a monkey's about things like that. Languages and compilers to us are tools that are used to solve problems. A mechanic doesn't develop an emotional attachement to his hammer and then try to use it to bang in screws!

      put on a VisualC.NET platform, where you have to use C++,

      No-one "puts" you anywhere. Last I heard programmers weren't conscripted! You get a job, you work it, you get paid, if you don't like the work or the pay you can either leave, or get yourself promoted to a position where you're making the decisions. That's called the "real world".

      Just put 12 developers together, make a list of their IDEAL development environment, OS, language, tools, algorithm

      Development teams standardize for a reason - so everyone can work on everyone elses code, and it all integrates nicely. And real developers, as I say, don't even care about those things. What matters is elegant solutions to tricky problems.

      I just hate Java

      You hate it, but can't explain why? A real developer, who hates any language, will be able to say why, and why that is a problem, for example he might say "I hate java because it has no MI, and MI is useful for...". But it's unlikely that hate would come into it, languages and compilers are just tools after all.

      You'll learn all this for yourself, just as soon as you actually start developing something non-trivial.

    5. Re:Fear and recognition by HeyLaughingBoy · · Score: 1
      Say youre given 6 months to develop something with no required feedback during that time. Will you develop the way you'd write drivers for the linux kernel?

      The fact that my Linux Device Drivers book is still unopened on the shelf notwithstanding, no I wouldn't.
      Why not? Well if I'm writing a device driver outside work it's for something *I* need. I can customize it to what I want. But if I'm developing for someone else, there's no way I would go 6 months without feedback. Even if I have a spec carved in granite, I know that customers usually aren't sure exactly what they need, and they need feedback to converge on just what they want the product to do. Even if I think the product is stupid, I will still try to produce what they want as best I can, which leads to my next point...

      Its just kinda yucky to put effort into software which will make another man rich

      This really doesn't make sense unless you don't like to eat. Any way of making a living, except crime or barter, involves the exchange of money which can potentially make someone else rich. So are you saying you'd do a crappy job when working for hire, but a good job when doing hobby projects?

      If someone asked Da Vinci to put a smile on Mona Lisa, he'd probably spend only a few hours on it,

      I disagree completely. True artists and craftsmen try to do their best work whether or not they like the project they're tasked with. Sure, you may not be inspired by boring, run of the mill stuff (like most jobs!), but that's no excuse to not produce good quality work. Especially in the case of artists where the quality of their work is so readily apparent, they'd better do a good job on everything public lest they get no more commissions.
    6. Re:Fear and recognition by mnmn · · Score: 1

      Youre prefectly correct. I hate C++ but I love C. I do prefer QT (in C++) over GTK, wxwindows MFC and other stuff like visual basic etc.

      I've only seen C++ working really well in QT. I can work with it. Beside GUI applications, I'd much rather be programming in pure C just because I understand EVERYTHING about the language, all its keywords are second nature to me, and I cant look at a piece of C code and go 'huh'. I'll just read and understand it.

      C++ on the other hand is too big for a language. I honestly neither understand all of C++'s tricks, nor 'get it' in an intuitive way. It takes your abstract concepts and builds different structures/code behind the scenes. you cant always visualize the code in assembly being run when youre working with C++, thats one major reason why most of the Linux kernel is made in C.. These are the people who simply must know understand and conceptualize every bit of it, rather than type in a working code, grab the paycheck and move on.

      C++ is easier to program in, and impossible to fully understand. C is harder(hectic) to program in, compared to say using C++'s objects/methods but if you knew assembly language once, and wanted to have a complete 'feel' of the code, or high optimization, or high hardware customization, its for you.

      I wouldnt develop GUI apps in C though.

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    7. Re:Fear and recognition by Geno+Z+Heinlein · · Score: 1

      I really don't see why people hate C++ and love C. If you don't like certain features of C++, don't use them.

      Every so often, I used to run a little test: I compiled "hello, world" in C and C++. The last time I did this -- with gcc on Slackware, maybe a year ago -- was the *first* time the binaries were the same size. Usually the C++ binaries are two to two-and-a-half times the size of the C binaries. That is with *no* C++ features and the identical source code file renamed with a ".cc" suffix.

      C++ has other issues, but they're more subjective: I don't like the look of it. It doesn't feel right to me. The whole concept seems a little shady. It feels too much like the natural language programming scam: the idea that we can make programming easier by changing the tools. I always feel like it's hiding things from me.

  12. Lack of a girlfriend. by Anonymous Coward · · Score: 3, Funny

    'nuff said.

  13. Yeah but, by metalhed77 · · Score: 1

    What if your co workers are of opposite opinions? Compromise is key.

    --
    Photos.
  14. Nothing motivates me by stevenvi · · Score: 1

    I'm guilty of being one of those slow paced open-source developers. My main reason for lack of motivation is cash. Money is my drive to program. I don't care what I'm programming, if there's money coming my way for it I'll code it. Other than that, I work solely on whatever interests me at the moment. And my interests change like [insert something that changes rapidly here.]

    Games are mainly what I like to program. So playing my creation takes up a good portion of time as well. It's usually more fun to look at my beautiful creation which isn't nearly completed than it would be to finish it off and make it interesting to other people. ...so there's my answer in praise of the almighty dollar :-p.

  15. Accomplishment by TekZen · · Score: 1

    I don't know if I should post to an Ask Slashdot that I started, but...

    I am motivated by the desire to accomplish something (impressive). Fear has never been a motivating factor for me to get something done (tough I have been motivated by fear to leave a situation).

    The responses to this thread begs the question "Are the software developers on Slashdot typical of the industry?"

    -Jackson
    <shameless plug> Core Enterprise PHP</shameless plug>

  16. It's a silly statement by spitzak · · Score: 1

    There are other open source projects moving just as fast as Linux, or faster. Browsers? Movie playback? The infrastructure for the KDE/Gnome desktops? Conversely Linux itself is huge, if you read the LWN weekly kernel reports, how many times has some new change been described starting with "this has not changed in many years and has gotten really old and unstable, so..." Some parts of Linux are going slowly.

    The truth is that you should immediatly discount about 95% of the open source projects that are announced, as nothing will be done (counting them would be like counting every idea suggested and then retracted in a Microsoft conference room as a "slow Microsoft project"). If you then plotted all the rest in some sort of fashion of "speed of development" big things like Linux itself would smear out, depending on how finely you divided it, I would expect Linux would cover at least half the range, and would be hard to distinguish from most other non-zero-speed projects.

  17. Chaos and Unification by russellh · · Score: 2, Insightful

    A note about one point this Dvorak character makes: he seems to think that one day there will be unification among competing open source projects. He states that from an outsider's perspective, it all seems confusing. Well isn't that always the case? If you know which are the most popular, then don't you pick one of those? ie, go to the computer section at Barnes & Noble and buy one of the ones in the box. I doubt there are many non-drivers waiting till there is only one car to buy.

    I also have to say that there will not be unification of competing projects in general - but quite the opposite. Projects will be forked and specialized or created anew because they can be; what unification that may happen may be in the form of common component architectures or other standards like common file, DB formats that make such specialization possible. However, to an outsider, it will still look the same even if all the projects are perfectly interchageable and interoperable, which is not unlike the linux situation. Where would project unification motivation come from? I just don't see it (generally) when these projects are for insiders, not for outsiders.

    Think there are too many competing {standards|projects|languages|ideas} today? Consider retirement.

    --
    must... stay... awake...
  18. Slightly off topic by BortQ · · Score: 1

    As a shareware author I am motivated by a couple of factors. The big ones are money and pride, and they go hand in hand. It feels really great to be the official owner of something that you have put your heart and soul into and see it be successful.

    --

    A Multiplayer Strategy Game for Mac OS X, Windows, and Linux
  19. Along the same lines... by chuckcolby · · Score: 1
    Feel free to mod me offtopic here, but I think only marginally.

    I've recently managed to move my company (of one... okay, I'm not huge, but it's significant to me) to mostly open source software. I've used Codeweavers to maintain the last couple of Win32 dependencies that I have. In this mind-expandingly healthy process, I've wondered only one thing...

    Let's assume that the more militant OSS folks get what they want, and Microsoft tanks due to the availability of free software that does everything that we all need. Regardless of what you think of Microsoft, they have served to motivate a lot of people to code something that works as well/better/more securely/more efficiently than Microsoft products.

    Please keep in mind that I hold no particular love or hate for either Microsoft or OSS... I'm just into finding the right tools for the job. Please don't view this as an opportunity to flame one way or another.

    Anyway, back to the question. We'll pretend that Microsoft is crumbling. What then? What do you think is the future of OSS? Please, don't provide utopian "virus free" scenescapes... instead, ponder this. OSS has done exceptionally well in proving that software can be produced securely, efficiently, and for a fair price (sometimes even free). Without the common enemy, will OSS lose direction, motivation? Or will it be able to manage overwhelming success as well as it has managed overwhelming adversity?

    --
    We all get along together like tornadoes and trailer parks.
  20. Varies by dtfinch · · Score: 1

    I mostly do it for fun, for freedom, for exposure, and for education.

    I know that "for money" is a motivation for many of those who actually depend on open source in their work environment. If the software doesn't meet their needs, they have to make it meet their needs, or lose money, and that's where the financial motivation exists. With closed source they'd just have to take their losses, which is rarely a big problem but it happens, moreso for some than others.

    I'm not yet at a point in my career where money has directly motivated me to produce open source, but the exposure and education is profitable. It's like an investment.

  21. Open Source? by Jinsaku · · Score: 1

    I really, honestly don't understand open source projects. I would understand if I was like, in college (or high school) and just wanted to fill time.. but adults?

    Maybe people trying to pad their resumes to get a real job?

    As a developer who's never in his life been out of work and switches jobs every year or two, I guess I can't understand that.

    --
    -- Jinsaku
    1. Re:Open Source? by koreth · · Score: 1
      Two explanations...

      1. Coding for pay and working on an open source project aren't mutually exclusive. I've worked on open source code for pay, because my employer felt that it would ultimately benefit the company more to open the code than to keep it proprietary. Many of the biggest open-source projects are full-time jobs to at least a few of their developers. But more commonly...

      2. Some of us code for fun! And to us, "Why would you work on open source projects when you already have a job?" is like asking a professional musician, "Why do you jam with your friends on the weekend when you already have a steady gig that's paying your bills?" Or asking a professional travel writer why they go on vacation. Someone wants to pay me to do what I'd be doing on my own anyway -- how lucky is that?

  22. It's Dvorak by Alex+Belits · · Score: 1

    ...so why would he know anything at all about Open Source, that he does not use or write? Or anything else that he doesn't use or write, what happens to be pretty much everything other than opinion-piece journalism?

    --
    Contrary to the popular belief, there indeed is no God.
  23. Time by Associate · · Score: 1

    If I can spend an eight hour shift coding up something that will run in five minutes, something I can manually do in 30, then it's motivation enough for me.

    --
    Someone hates these cans.
  24. Making a difference by HeyLaughingBoy · · Score: 2, Interesting

    I work for a medical device manufacturer. When I took the job it was really because I wanted a change of scenery and they paid to relocate me 1,200 miles away.

    Now the reason I'm still here many years later, and what motivates me to do a good job is that my work has impact on people's lives. It's nice to see the occasional letter from a patient who thanks us (along with his doctor, to be sure) for saving his life.

    Sure, our QA department will remind us from time to time that if we screw up, we can kill people, and that is a *huge* motivator to try to do a good job, but a much larger one is realizing that my code really does improve someone's quality of life.

    And for that reason I'd really like to spend the rest of my software career in the medical/biotech field.

  25. Easy by 4of12 · · Score: 1

    Sex.

    Food.

    Lack of pain.

    But most of us will settle for peer recognition of our prowess in lieu of the above in anticipation of eventually get them directly.

    --
    "Provided by the management for your protection."