The article also highlights the strengths of the open source software model: By working collaboratively in the open source software model, developers resolve issues that a single programmer might find impossible. An open source program can quickly grow from an interesting proof of concept used by only a few developers to a mature, stable application that benefits many general users.
Here are a few snippets from the anonymous developer that I found most insightful:
Granted, occasionally one sees naive people try to make things better. These people almost always fail. ... See, component owners are generally openly hostile to outside patches: If you're a dev, accepting an outside patch makes your lead angry (due to the need to maintain this patch and to justify in shiproom the unplanned design change), makes test angry (because test is on the hook for making sure the change doesn't break anything, and you just made work for them), and PM [project manager] is angry (due to the schedule implications of code churn). There's just no incentive to accept changes from outside your own team. You can always find a reason to say "no", and you have very little incentive to say "yes".
There's also little incentive to create changes in the first place. On linux-kernel, if you improve the performance of directory traversal by a consistent 5 percent, you're praised and thanked. Here, if you do that and you're not on the object manager team, ... your own management doesn't care.In order for open source software to thrive, it requires excellent and open communication among all its participants. Open communication breaks down barriers, allowing people to collaborate as peers. And communication in several forms is critical to the success of open source software. Through this interchange of ideas, developers work together for rapid and continual improvement.
As the anonymous developer mentions, in open source software projects, developers are congratulated and praised for improvements. Open source communities are generally a meritocracy anyway, where the best ideas rise to the top through peer review and open discussion. However, proprietary software such as Microsoft's tend to operate in a more defensive mode; unplanned changes (even improvements) are not welcome.
It's no surprise that Linux and open source software outpaces Windows in performance. Now we need to do the same with usability and user experience. That's one reason I started this blog, to study and discuss usability in open source software.