Whether the Open Source Initiative is viewed as an ideology or as a definitive methodology, open source software offers users, developers and programmers a unique opportunity to change, promote and even, under specific conditions, distribute the updated product. Consider, briefly the life cycle of a software application.
- Developers, noting a need for a specific application, develop, test and distribute an application.
- Users purchase, install and utilize said application.
- Bugs, problems and areas in which the application is lacking are noted.
- Developers utilize this information to create version 2.0
- Repeat as needed.
While this process works, providing users with software and applications that mostly fill their needs and that are pretty much bug free, the process is laborious and costly for the end user. That is where open source comes in.
In short, open source is an initiative under which a given application is effectively stripped down to its code, allowing users, developers and programmers to view the source code, work collectively to solve known bugs and implement needed changes. The new program is effectively evolved, giving as many users and developers with a need, the version they require for their needs.
This is actually where things become more interesting. The underlying licensing agreement that allows this development to take place also grants users the right to redistribute their work, providing they meet the terms and conditions of the license agreement. In most cases, open source software agreements require that software only be redistributed for free. The original source code must be included, and the end user must also have the right to redistribute said work. Other conditions regarding integrity and discrimination often apply.
Those that believe in open source distribution see the development world as a collective arrangement, where everyone can contribute. Those that don’t agree often cannot see how the process works.