Open Source software refers to the kind of software whoose source code can be modified and shared due to its publicly accessible design. Its a software that is freely available to be used, to learn from as well as to be freely distributed. Such software is typically shared via a public code repository hosting service like GitHub, BitBucket e.t.c. Example's of open source softwares are Open Source Point Of Sale Software(OSPOS), Apache Web Server and GNU Image Manipilation Program (GIMP).
The opposite of Open Source is "Closed Source" or "Propietary Software". The creator(s) of proprietaty softwares maintain exclusive control over its source code as it can only be modified by the person, team or organization that created it. Example of proprietary software is Microsoft Windows.
Open source projects that are hosted in public repositories benefit from contributions made by the wider software developer community, and are typically managed through a version control system like Git. Open source projects encourages a transparent process which is advanced through distributed peer review. These projects can be updated quickly and as needed, and offers a reliable and flexible software that is not built on locked proprietary systems. These efforts often result into a software that is representative of the broad base of technology end-users since contributers' diverse perspectives provide added value to the project
An open source project would embrace and foster principles of open exchange, collaboration among its contributers, transparency, meritocracy, rapid prototyping, and not forgetting community-oriented development. A distributed version control system being used makes contributing and maintaining open-source software projects easy . Git as an example of version control system is Free to download and use, and it is itself an open-source project.
Generally, open source licenses grant computer users permission to use the open source software for any purpose that they wish.
Advantages of Open Source Software
1. Very Reliable
A software being worked on by tens or hundreds of people implies that there are numerous eyes to monitor for existing bugs thus numerous developers being ready to fix any found bugs within the shortest amount of time. Usually, skillful developers engage in contributing toward the software making it to be of good quality.