In today’s world, open source software (OSS) is everywhere, whether we know it or not. It is used within almost every software application we use every day. To some people, OSS is any software that is “free.” It is true that OSS does not have a license fee to use, so in that sense, it is free. And perhaps, for some people, that’s all that matters. But there is more to the definition of OSS than it being free. For instance, we can download an app to our phone for free, but that doesn’t make the app OSS. So, what exactly is OSS?
One of the best definitions of OSS comes from the Open Source Initiative (OSI). It has a ten point test to determine if a piece of software is OSS. I’ll cover these ten tests below, but for those who want to see the full definition, you can find it here.
Free Redistribution – The license accompanying the software does not restrict how anyone can redistribute the software, nor does it require a royalty or other fee.
Source Code Freely Available – The source code is freely available (including any compiled form), carrying no more than a reasonable fee to cover reproduction. In most cases, it is made available for free download on the Internet.
Free to Create Derivative Works – The recipient of the software must be free to create derivative works with the software and be permitted to distribute those works under the same terms as the license of the original software. Note that this does not necessarily mean that you can create a derivative and offer it under a different (or commercial) license.
Retain the Integrity of the Author’s Source Code – The license may restrict your ability to alter the code and redistribute the code under the original name. That makes sense. We would have chaos if different software was named the same and had common roots. We wouldn’t be sure which one we were really using and if it functioned the same!
No Discrimination Against Persons or Groups – The license must allow everyone to have access.
No Discrimination Against Fields of Endeavor – Similar to #5, everyone must be able to use it for any endeavor.
Retention of Rights (Distribution of License) – Whoever receives the software receives the same license and the same rights.
License Must Not Be Specific to a Product – Bundling the software with other software does not change the rights of any recipient from the rights originally granted prior to bundling. If you include the software in your product, the consumers of your product can extract the OSS and have the same rights to it as if they downloaded it from another source.
License Must Not Restrict Other Software – When you bundle software together with OSS, the OSS cannot require that all the other software is also open source.
License Must be Technology-Neutral – The license cannot require you to use a specific technology or style of interface. You must be free to use and integrate the software into your other software as you see fit. That doesn’t mean the OSS will support all means of software integration – just that the license will not compel you to use a specific method.
As you can see, OSS isn’t about the software itself or the fact that it is free to acquire and use. The determining factor that tells us if a piece of software is OSS is the license. This is why it is critical that you use a knowledgeable attorney when reviewing OSS licenses and why you need a solid management practice surrounding the selection of OSS.
—Jeff Brown, SilverStream Consulting