Open-source software is a type of software whose source code is published and available for anyone to look at, change or redistribute. Open-source software typically gets developed in an open, collaborative manner between many different participants. Such projects embrace principles of transparency, open exchange, free participation, rapid prototyping, and community-oriented, collaborative development.
While all open-source software licenses enable anyone to study, modify, and redistribute the source code, some require that the original source code is published alongside the modified source code.
The opposite of open-source software is closed-source software, whose source code is not published, and only the person, team, or organization who created it has the right to modify and distribute it.
Open-source software can have advantages over other types of software. While promoting the philosophy of open collaboration that can potentially benefit developers and users alike, it can also lead to a higher quality product because of the open call for participation bringing in many different experts from various fields. Fixing issues can also be faster and lower cost than in the case of closed-source software, as potentially a high number of participants have the right, access, and expertise to tend to those issues.
On the other hand, if open-source software is developed in a decentralized manner, without a single entity coordinating the development process, it can take a substantial amount of time for the different participants to agree on strategic decisions. Many open-source projects implement special types of governance models to address this issue.
In broader terms, the movement that aims to make all or most software use an open-source license is called the open-source software movement. The goals of this movement also include improving open-source technology with the production of high-quality code made cooperatively by similarly-minded people. Developers who support the open-source software movement voluntarily write and exchange code as a contribution to the philosophy of open collaboration.