Why Does Open Source Matter?
scottalanmiller last edited by scottalanmiller
For decades one of the most important discussions in IT has been around source licensing and yet, even after twenty years at the forefront of IT discussion and thought, open source remains a bit of a conundrum, especially to those approaching it from the closed source world. I am going to attempt to make the discussion more clear and simple as best as I can.
Source Licensing: Before we get bogged down, the core of open source is purely about source licensing. It is extremely important to understand that this is all that it is about. So many false assumptions surround the open source concept that it is difficult to discuss it because people often add myths to their beliefs around what it means. There are simply two general ways to license source code when it is made, open and closed.
In closed source, the source code is not freely available to be examined, modified, enhanced, etc. With open source, it is. Customers of the product have the right to see, audit and modify the source code.
That is all that open source implies. Open source simply gives more visibility and more protection to the customer or end user.
Many Licenses: Open source is not a single thing. Just like closed source is not. There are a multitude of licenses in the open source world. Some famous ones being the Apache, MIT, BSD, GPLv2 and GPLv3. Each is a little different in what it allows, protects, etc. But they all allow the free access to the source code for their customers.
Free as in Freedom: Open source is about freedom, but people often mistake the free in freedom for "free as in beer". But there is nothing in the open source concept that says that the resulting product of the source will be free. Sometimes it is, sometimes it is not. No different than how closed source does not imply a set cost. Many closed source products are free as well.
Always Better: All other things being equal, open source is always better for the users and customers than closed source. It provides power and protection against dangers and fragility in closed source software - especially around security, stability, bug handling and protecting against code ownership loss resulting from things like corporation failure. Closed source only introduces risk to the customer, no advantages.
FOSS: Free & Open Source Software is the term generally used for what a product is both open source (free as in freedom) and also free for acquisition (free as in beer.) This would be products like Linux and LibreOffice.
Improved Quality: Research has shown that open source software encourages better coding practices through three key systems. One is exposure. Both developers and companies take far more pride and care in code when that code demonstrates their skill and care in writing it. Second is audits and reviews from the public, along with code contributions. There are just more sources for advice, help and enhancement. And third is what is known as the "hacker ethic", this is the desire for those with the most skill to naturally which to give away their skills for the good of the world. It is considered a level of economic development beyond the former cap level. Being the "richest" or "most successful" being seen not as who can accumulate the most, but who can give the most away.
Linux and the GPL: The GPLv2 (aka the Gnu Public License Version 2 or the infamous CopyLeft) is the license under which Linux and the majority of the biggest open source projects are licensed. The choice of license heavily influences the product. The GPL does much to protect the code including some very important facts:
- The GPL guarantees that the code will be public. Anything releases under the GPL must include the source code or make it available. You cannot close something that has been GPL'd.
- The GPL allows for the product to be sold as well as resold. Once someone owns GPL'd software they have the same right of sale as the original license holder.
- Any code added to a GPL code base becomes GPL'd automatically. You cannot "poison" GPL code with other code.
- GPL code added to another project makes the entire project GPL'd.
- The GPL is passed on. Products acquired under the GPL will also be redistributed under the GPL.
- The GPL guarantees that no further restrictions can be applied to the code.
- GPL guarantees that the code can be used for "all purposes." There can be no concepts such as "commercial use" with the GPL. All use is allowed.
Because of these rights and restrictions, code licensed under the GPL is the most friendly for businesses to use. The GPL protects end users and businesses in many ways and has made Linux and other similar products shine in business arenas because they carry vastly lower risk to the business while providing more functionality. Concepts such as license management, use management and such simply do not exist meaning that costly ideas such as licensing, time spent on license management, use case cost calculations and audits simply go away.
ChrisJ last edited by
Open source has been a very important tool in the operation of many cheaper systems, by cheaper, I mean company's who want the best, for the least. Been there done that. But, we used a Zip program that had a 4gb limitation, probably due to the limitations in place at the time of writing/modification. There were no warnings on its help, or on user documentation. A 6gb structure was not being zipped, Music mostly ITunes. Sure no problem there, just the Owners Son. Documentation, patching after the fact? What of limitations as above? Backup's serve well but would not have been needed if we could have stored the dir in a non local storage device. Now testing is as thorough as you can get without knowing all sources modified since the first code was documented, and as above some documentation may not have been known by the author, whoever that might have been. Managers hate not having someone to scream at on the phone if some part of what they have used does not perform as advertised, HA. But still open source fills a void, one that some 'Licensed' code cannot fill. As long as this is true, pioneers will navigate through the code until the 'perfect' fit is found.