This morning, Tim O'Reilly published four big ideas about open source that will guide his discussion at OSCON next week:
The architecture of participation beyond software. Software development was the canary in the coalmine, one of the first areas to show the power of self-organizing systems leveraging the power of the internet to transform markets. But it didn't stop there. What we're now calling Web 2.0 is a direct outgrowth of the core principles that made open source software successful, but in my opinion, many of the projects and companies that make up the Web 2.0 movement have gone far beyond open source in their understanding of how to build systems that leverage what I call the architecture of participation.
Asymmetric Competition. One of the most powerful things about open source is its potential to reset the rules of the game, to compete in a way that undercuts all of the advantages of incumbent players. Yet what we see in open source is that the leading companies have in many ways abandoned this advantage, becoming increasingly like the companies with which they compete. I have no concerns about the ultimate health of the open source development model or the vibrant creativity of the open source community, but I do question whether open source companies really grasp the implications of the new model. I think that if they did, they'd be Web 2.0 companies.
How Software As a Service Changes The Points of Business Leverage. Operations and scalability lead to powerful cost advantages; increasing returns from network effects lead to new kinds of lock-in. The net effect is that even when running open source software, vendors will have lock-in opportunities just as powerful as those from the previous generation of proprietary software.
Open Data. One day soon, tomorrow's Richard Stallman will wake up and realize that all the software distributed in the world is free and open source, but that he still has no control to improve or change the computer tools that he relies on every day. They are services backed by collective databases too large (and controlled by their service providers) to be easily modified. Even data portability initiatives such as those starting today merely scratch the surface, because taking your own data out of the pool may let you move it somewhere else, but much of its value depends on its original context, now lost.
These are all important concepts for open source, but I am particularly drawn to the idea that open source has provided a foundation (technically and conceptually) for what we are now calling web 2.0. I have spent quite a bit of time thinking about this relationship recently because understanding how open source works (my background is in open source) can help us understand web 2.0. This is particularly true in discussions about what motivates people to freely contribute to communities.
Eric Raymond wrote that "Every good work of software starts by scratching a developer's personal itch." Within open source software communities, many projects are started to fill the developer's need, and as the user of the software, the developer has a personal stake in the product's quality. Linus started Linux to fulfill his personal need for a Unix-like operating system that would run on lower cost hardware. Other developers frequently contribute to open source projects to fill a need of their own to have a particular project ported to a favorite hardware platform or to add an additional feature that would make the product more closely meet their needs.
This idea can also be applied to other online communities outside of software. People join and participate in social networking communities, like the MySpace community, to fill a social need and have an online location to hang out with friends, coordinate social events, share new (or old) music, and blog about their ideas and experiences. Others join business-oriented networking sites, like LinkedIn, to make better connections with people in related industries and to network online with like-minded people. Some people join online news and information communities, like Digg and Newsvine, to share and discuss information with others.
These examples demonstrate how people can join online communities to fill a particular need, and how those needs can take many forms and motivate people in different ways. Keep in mind that motivation is incredibly complex. A single individual may be motivated to join and contribute to online communities for many different reasons, which when combined form a powerful set of motivators. The interesting thing is how the motivation is similar for open source communities and web 2.0 communities.