Open Source: What, Why, How?
A developer explores the benefits of open source software and takes a look at some myths that often crop up when discussing open source.
Join the DZone community and get the full member experience.Join For Free
What comes to your mind when you hear the words open source?
I read about it and tried to understand the subject more closely. My research on the topic led me to many articles that described open source as source code that is made available to the public to view, use, modify, and distribute under a license. 'License' here is the key word; insight on how licenses work will follow soon.
In technical terms, "Open Source Software is computer software whose source code is made publicly available for modification and enhancements." (Source: HackerEarth)
Today, we see that the whole world is moving towards open source, but what is the reason for this shift? What was wrong with the previously used proprietary software? Let's take a look at what makes open source better:
- Control: Users own open source software, so the whole of the code is exposed. Users can modify it as per their needs; bulky unused pieces of code can be removed to make the code run faster. Platform-specific changes can be made.
- Training: You can learn while using open source software. Developers across the globe is coding the software, so best practices to follow and global standards for coding are all there for you to learn and use.
- Stability: Open source software will not go out of the market if the original developer stops working. New enhancements, features, and bug fixes will all be available sooner because developers from across the world are there to help and code.
Open Source Licenses
While I studied the many notable features of open source, I also came across Open Source Licenses. Now, this is not a set of papers that we acquire and get signed by a notary. A valid license is mandatory for our code to be considered an open source component. Without an open source license, software code is considered unusable, even though it is available on GitHub. What permissions users have with the software are all stated in the open source license; the terms and conditions of the license also state what the user cannot do with the open source component.
No open source license is good or bad, you can create any that suit your needs. This is the reason why there are more than 200 open source licenses available. But I'll just keep things simple and go through the two main categories:
- Copyleft: You've probably heard a lot about copyrights, but have you ever heard of copyleft?
Copyleft licenses enable users to modify, use, and share open source work, but only when they maintain the reciprocity of the license – that is, they make their work open source as well.
- Permissive: Referred to as “Anything Goes,” this license ensures open source components can be used with minimal restrictions. That means that this type of license allows for varying degrees of freedom to use, modify, and redistribute open source code, permitting its use in proprietary derivative works, and requiring nearly nothing in return in terms of license rules.
Now all of us have heard a lot about open source and we all have our own opinions on this subject. Below are some myths that need to be busted:
- Myth: Open source is free.
Fact: Software programmers may release their source code for free due to open source license restrictions. Alternatively, programmers find that charging money for services and support can prove more beneficial. In this way, they make money by helping others install, troubleshoot, and use the software while the software remains free of charge.
- Myth: Open source is not enterprise level.
Fact: If Google is not enterprise-level, then what is? Enterprises like Google base a large portion of their business on open source.
Opinions expressed by DZone contributors are their own.