There's another hurdle that isn't mentioned. If you ARE a good programmer, and you DO manage to come up with a patch, it still has to get reviewed by the core team (you know, the guys with CVS write access). And sometimes that takes a long time. Or it doesn't happen without some campaigning. Or it doesn't happen unless you sign some sort of a release form which it far too much trouble.
Which reminds me... I should probably go review some SourceForge patches for Python.
At least with open source you have the option of changing the source code. With closed source you are generally stuck. I've gone round and round with large vendors to address bugs in their code with no success.
One time that I did modify open source code was to modify Struts to account for wierdness in my clients' servlet container when doing forwards. No one in the Struts community was really interested in the changes I made. However my client, whose website depended on the functionality, was very happy to accept a small patch to Struts instead of re-architecting their web site.
I think as a professional developer that using open source tools is an insurance policy for me and the company I'm working for. If it becomes important enough, you have the opportunity to fix the issue yourself.
There are a lot of other advantages to having access to the source code but those are well documented elsewhere.
Rather than actually trying to fix bugs in code I don't fully understand, my first line of attack is often to read the source as a way to find a workaround that avoids the problem.
All software sucks, be it open-source [or] proprietary. The only question is what can be done with particular instance of suckage, and that's where having the source matters.
-- viro [http://www.ussg.iu.edu/hypermail/linux/kernel/0404.3/1344.html]
I think people who write statements like "hardly anybody in real life" don't have the right data and thus their conclusions are way off.
I regularly adjust open source code to meet my needs. Sometimes, when it makes sense, I send those changes upstream. Sometimes, it causes me to end up as a project developer. Sometimes, I end up with my own version of the project.
That's just me. The issue here is that I know a lot of people like me. I would say most of the people I know who do consulting and development have made at least one change to one software project.
I suspect folks who come up with the "no one goes under the hood and fixes problems" aren't getting a diverse enough group in their statistical sampling of the population.
Sure, out of 6.5 billion people on the planet, the number of people who make changes will be very very small. But of the people using the software, I bet that there's a significant enough group of people that it makes enough of a difference and it's not a myth--it's real life.
Having said that, I don't agree with the rest of his article either. These great things about Open Source software aren't myths just because he and the people he knows have never done it.