Open source software are increasingly finding their use in the computing world. These are software that are made available together with the source code, with some rights to the use of the source code reserved to the copyright owner. The open source software are provided under a license that gives permission to the user to modify, improve and sometime distribute the software.
Open source software are mostly developed collaboratively and in public communities and provides a lot of savings for both developers and consumers. Users of open source software are considered co-developers and involved in the development process. A consumer is may detect and fix any bug or vulnerability found in such software instead of the developers spending more time and resources to fix bugs. Also most open source developers leave the testing process for the consumer to do, rather than paying people to do it.
Defining the "open source" of a software package is difficult at a glance. The Open Source Initiative has therefore provided a definition for open source software. It defines open source as software that makes source code available to the general public, with little or no copyright restrictions. The definition however did not say anything about trademarks or patents but requires that no restrictions are placed on the distribution and use of such software.
Open source software products are used in both business and non-business environments. Most businesses are however skeptical about the use of open source tools, fearing that they may not organized training and support for these tools. They also complain about the rate at which new versions of the same product are released and stability of these products. Incensing is also cited as a problem, as licenses for open source software have to be renewed regularly to correspond with releases of new versions of the software. Open source software such as MySQL, Alfresco, Ingress and Red Hat have however found widespread use in business environments.
The processes leading to the development of open source software do not differ much from those employed in proprietary software. The process is likened to building a cathedral and named the cathedral model. Roles are clearly defined, with the design stage assigned as few architects as possible. There is another model called the bazaar model that opposes the clear definition of tasks.
Funding for open source software is one thing that scares new developers away. Open source software are mostly distributed free of charge and therefore require some sort of funding for the developers. One way of funding such projects is to develop for customers as a consulting project. The customer here pays the consultation fees directly to the developer and the developer in turn fix bugs and add features at the request of the customer. Funding can also be obtained from training.
Open source developers can charge their users for training them on how to use their software products. Funding can also be obtained by providing installation and technical support for users of one's software. The common source of funding however is the sale of licenses and proprietary add-ons. Open source software can also be used to promote the sale of a hardware system, thus funds are generated from the hardware sale.
About Author / Additional Info: