How is it possible that volunteers from all over the world, who might never see each other in real life and who have different backgrounds and interests, are able to create complex software? This question remained in my mind throughout this research.
Research shows that people who participate in open source communities frequently do so because they enjoy sharing their knowledge and they hope to learn from the knowledge they receive from others. Together participants are able to achieve great things: they develop software programs that are surprisingly reliable and used by many individuals, corporations and governmental organizations worldwide. One of the most important lessons I learned from talking to the many open source developers and enthusiasts is that you cannot write a complex software program without the help of others. These other people should not be confined to software programmers with similar skills and interests. On the contrary you need people who have different software development skills and even people who lack such skills altogether. Each performs a part in the quest to together improve the quality of the software.