Open source is by no means a new thing, but it has certainly become more visible in recent years. But why do people use open source? What’s in it for them? Well, it’s really simple. If you want to make your idea better and share it with other developers who can also help improve your work – open source projects are the way to go.
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized software development model that encourages open collaboration. A main principle of open-source software development is peer production, with products such as source code, blueprints, and documentation freely available to the public. The open-source movement in software began as a response to the limitations of proprietary code. The model is used for projects such as in open-source appropriate technology, and open-source drug discovery.
Open source promotes universal access via an open-source or free license to a product’s design or blueprint, and universal redistribution of that design or blueprint. Before the phrase open source became widely adopted, developers and producers have used a variety of other terms. Open source gained hold with the rise of the Internet. The open-source software movement arose to clarify copyright, licensing, domain, and consumer issues.
Generally, open source refers to a computer program in which the source code is available to the general public for use or modification from its original design. Code is released under the terms of a software license. Depending on the license terms, others may then download, modify, and publish their version (fork) back to the community.
What is open source, and why is it important?
Open source is a type of licensing agreement that allows users to freely modify a work, use said work in new ways, integrate the work into a larger project or derive a new work based on the original. By removing barriers between innovators, open source promotes a free exchange of ideas within a community to drive creative, scientific and technological advancement.
Although, it is most commonly used in the software industry, professionals utilize open source licenses in many industries: biotech, electronics, fashion, robotics and teaching to name a few. This article will focus exclusively on the software applications.
By placing an open source license on an original work, a person or organization agrees to:
- Make the entirety of the program’s code available to the public
- Allow anyone to modify, enhance or re-engineer a program’s code
- Allow the creation of derivative works
- Allow the program to be utilized for any purpose the user wishes (1)
An open source licensing agreement stands in contrast to “proprietary licensing.” When a user first starts a piece of proprietary software (e.g. Microsoft Office, Adobe Photoshop, iTunes) the user typically agrees that they will not alter or modify the source code and will only use the software in the ways prescribed by the manufacturer. The back-end code of proprietary software is kept secret from the public, and anyone attempting to re-engineer or copy the code is subject to legal action by the software’s owner.
Why open source?
The idea of open source stems from the technology community. From the earliest days of computers, programmers and engineers developed new technologies through collaboration. For instance, a programmer in San Jose develops a new application, then another programmer in Singapore studies the application and discovers ways to improve it. The knowledge is shared, and the entire community benefits from the collective innovation.
In many ways, the creation of the open source license was a direct response to proprietary manufacturing. The not-for-profit Open Source Initiative (OSI) was founded in 1998. It administers open source licensing around the world, promotes open source development, facilitates community and educational initiatives, and gives conferences (2).
To write software is a very creative process, and the things that make it work best are often very complicated and vague. One of the reasons for this is that being open source takes away the separation between what is “good” code from what is “code”.