Most software that you buy or download only comes in the compiled ready-to-run version. Compiled means that the actual program code that the developer created, known as the source code, has run through a special program called a compiler that translates the source code into a form that the computer can understand .
It is extremely difficult to modify the compiled version of most applications and nearly impossible to see exactly how the developer created different parts of the program. Most commercial software manufacturers see this as an advantage that keeps other companies from copying their code and using it in a competing product. It also gives them control over the quality and features found in a particular product.
Open source software is at the opposite end of the spectrum. The source code is included with the compiled version and modification or customization is actually encouraged. The software developers who support the open source concept believe that by allowing anyone who’s interested to modify the source code, the application will be more useful and error-free over the long term.
To be considered as open source software by the software development industry, certain criteria must be met:
- The program must be freely distributed
- Source code must be included.
- Anyone must be allowed to modify the source code.
- Modified versions can be redistributed.
- The license must not require the exclusion of other software or interfere with the operation of other software.
Let’s take a real world example of Open Source software. In this discussion we can talk about Q-GIS, which is the leading open source desktop GIS software.
According to their website
QGIS is a user friendly Open Source Geographic Information System (GIS) licensed under the GNU General Public License. QGIS is an official project of the Open Source Geospatial Foundation (OSGeo). It runs on Linux, Unix, Mac OSX, Windows and Android and supports numerous vector, raster, and database formats and functionalities.qgis.org
Every open source software still comes with a license that helps to protect it from certain activity. As you can already see Q-GIS is protected by the GNU General Public License. There are quite a number of licenses which are also used for such software which are listed below:
- GNU General Public License.
- BSD License.
- MIT LICENSE.
- CREATIVE COMMONS.
- APACHE LICENSE.
Among others that are also used by various developers. When thinking of contributing or developing any Open Source projects there is need to read and understand the terms of each license.
A common concern for end-users who wish to use open source software is the lack of a warranty and technical support. Because the software’s license encourages modification and customization, it is nearly impossible to support. For this reason, most Open Source tools have a community base where developers get to discuss & help each other with certain issues that might occur from time to time.
How Do Developers Contribute to Open Source?
You might be wondering how people get to contribute to software like Q-GIS. Q-GIS has approximately over 1,000 contributors who work on certain plugins and themes to improve the efficiency of the software.
Obviously these developers come from different parts of the world and cannot be confined in one space in order to work. This is where one great platform that allows the development of Open Source comes into play. GitHub has been a home for most developers.
Starting an open source project is great and helps development become easier and faster. So before starting, always make sure you pick the right license for your project.