What is Open Source Software?
Open Source software, in layman’s terms is software for which the source code is open and available to everyone. However, if the scope of Open Source software were to be limited to just a single line, it wouldn’t have created ripples in times like today. OSS has been defined with most of its provisions that makes it stand apart from ‘Free’ and ‘proprietary’. These definitions have been adapted from the Debian Free Software guidelines mainly, by Bruce Perens. The following provisions have been made in the guidelines of Open Source Software License:
1. Free Distribution: Any party may give away the software as standalone or as a part of a larger aggregate distribution and no royalty or any kind of fees may be charged for it.
2. Source Code: It should be included in both source code as well as compiled form. If direct distribution of the source code is not possible in the bundle, it should be available over publicized channels like internet.
3. Derived Works: The user of OSS is allowed to modify the software and develop derived works from it which shall be distributed under the same license as the original software.
4. Integrity of Author’s Source Code: The distribution of a modified code may be forbidden by license in explicit form, but would be allowed as ‘patch files’ along with the source code which are integrated during compilation optionally. If the license explicitly allows direct code modification, then a different name or version number use is advocated.
5. No Discrimination: The license shall not discriminate against any kind of individual or group or any field where the software might find use. Also, the software should not be dependent on a particular software distribution, nor should it place any restriction or compulsion on use of other technology.
6. Distribution of License: The rights associated with the license shall automatically be applicable to all the parties receiving it without the need of any additional licenses.
As stated in the guidelines, an OSS may be given away for free. Thus alternate channels for the inflow of funding have emerged.
1. Consultancy: The software may be developed as a consultancy project where money has been put in by users with prioritized objectives needed from the project.
2. Proprietary Add-On: The initial software may be distributed freely with a supportive framework. But some proprietary add-ons like libraries may be charged in the form of subscription or one-time payment models.
3. University Funded: These are different from consultancy projects as these are approved and funded by universities for their students as personal projects or for scientific research, for example, Berkeley Software Distribution (BSD).
4. Company Funded: Company may deploy developers on OSS projects which would be useful for the infrastructure of the company as shared public utility like bug fixes.
However, most of the Open Source projects are developed by volunteering developers from different parts of the world, relying mainly on other existing open source software for support. For example, Concurrent Versions Systems (CVS) and SVNs help centrally manage source code files, central repositories on the web like SourceForge for easy access and debuggers like Bugzilla.
Filed Under: Articles