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?"
Money. Just like everyone else.
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
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
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.
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.
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...
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.