An open source software development began with two styles of development, called The Cathedral and The Bazaar. These were two very different styles and of open source development. Cathedral was a very regimented carefully and controlled architectural based process. Bazaar, was quite different, and was characterized by a rapid release method with all changes given out freely and followed a survival of the fittest approach.
The main tenets of the Bazaar Model were:
1) Users are treated as co-developers and are given access to source code, and can report bugs, etc
2) Release often and early
3) Frequent Integration
4) Several versions (stable vs. development)
5) Employ high modularization
6) Dynamic decision making
Open source software has many strengths and weaknesses that present challenges to a team. So a hierarchical model is used to manage the teams. This means that people have to go through several roles before they can rise to the level of a project manager.
One company that has been successful with Open Source Software is Oracle. They purchased MySQL, and currently have about 8000 customers who pay for support of the software as well as updates. Even though users pay only 1-10% of the cost of Oracle database software, there are one new customer for every 1000 free users. Oracle has made the business decision to support these users because they see them as potential paying customers and future employees. The company currently employs about 60 developers all over the world, and many of them work at home.
As you become a software professional, learning development and participating in open source projects can be an excellent way to achieve visibility for your work, showcasing your skills and abilities.
Open source development can be a very rewarding experience. Developers do it for the passion that they have for creating software. They love what they do and in shows in the quality of the product. People will put much more effort into something that they love to do as opposed to doing something merely for the remuneration. There is a strong sense of community and many developers like that philosophy. That means acting professionally and treating others with kindness and respect. This is done in an environment that typically lacks a lot of formality, but that does not mean that there are no standards of behavior. It’s just that they are not written down.
There are many advantages to developing open source software. Many developers enjoy the interaction among like-minded people. They enjoy the ability to share ideas and collaborate to get a better result. There are real advantages to having an experienced team, with many resources.