Imagine you need to implement a text editor into your website or app. The first option is to have your developers build a custom one from scratch. This might take from several hours to several days, or even weeks depending on its complexity.
On the other hand, there are dozens of open source text editors to choose from. Integrating such a component into your product will take several hours. So, why reinvent the wheel when you have thousands of ready-made solutions you can use for free?
Open source software can make your life a lot easier and save you thousands of dollars too. However, you need to make sure you understand the rights and limitations when using open source software in order to avoid legal issues in the future.
Commercial software (payware and freeware)
Most programs and tools we use on a daily basis are commercial/proprietary software. They are created and owned by a certain company/developer. Thus, the users of it have limited usage rights (defined by the Terms and Conditions of Use), while the provider holds the ownership of the product.
In terms of a pricing model, commercial software can either come at a certain cost (or use different monetization models) or be free to download and use. The latter is often referred to as freeware.
Freeware is a piece of software or a program that can be downloaded, installed, and used at no cost. This, however, doesn’t grant any further rights (just like any other commercial software). Namely, you cannot have access to the source code, use it for commercial purposes, redistribute, or change it.
There are many examples of freeware we use on a daily basis, for example, most web browsers (Opera, Google Chrome, Mozilla Firefox), office essentials (LibreOffice, OpenOffice), graphic editors (GIMP, Pixlr), etc.
Unlike freeware, free software is called “free” not because it is available at no cost but primarily because it gives its users “the freedom to run, copy, distribute, study, change and improve it.” Thus, free software grants four essential freedoms to its users:
- The freedom to run the program (regardless of the purpose).
- The freedom to study how the program works, and change it according to its users’ needs and requirements.
- The freedom to create and redistribute the copies of the program.
- The freedom to improve the software and share any improvements with the community.
To be able to make use of the listed freedoms, open access to software source code is required. As a result, free software can also be referred to as open source.
Open source software
Similar to free software, open source products also offer a wide range of rights for its users, including source code access, and the ability to adapt and further use this code in their own projects. However, there is a number of different licenses that can be applied to open source projects which can limit the redistribution and commercial usage rights.
For example, WordPress and Drupal, two of the most popular CMS platforms, are open source. Some of the listed freeware products (Firefox, GIMP, OpenOffice) also have open access to their source code.
It’s worth mentioning: All open source products can be classified as freeware (because they are available at no cost). Whereas, freeware products are not necessarily open source (only some of them are).
However, even open source software might have certain limitations or special use terms you should be aware of. The usage rights and conditions depend on the type of open source license the product is released under.
MIT license is one of the least restrictive open source licenses out there. It grants the rights to “use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software” as long as these copyright and permission notices are included in every copy or version of the product.
This license can be applied to both copyrights and patents. The rights granted by an Apache license are not limited by time (perpetual) and location (worldwide), they are available to anyone (non-exclusive) for free and cannot be revoked.
In order to redistribute the software licensed under the MIT license, you need to give proper credit to the authors as well as release your work under the same license.
Mozilla Public License (MPL)
The Mozilla Public License was introduced by the Mozilla foundation, but is currently applied to other open source software as well. The license is easy to comply with.
It offers a wide range of rights to use, modify, and redistribute the software on a simple condition: You should make the source code of the licensed files and their modifications available under the same license.
Common Development and Distribution License (CDDL)
The license is created by Sun Microsystems, based on the Mozilla Public License (MPL) described above. Similar to its predecessor, CDDL is quite permissive. The only restriction is that the modified or redistributed CDDL projects should be made available under CDDL.
At the same time, the license allows the use of the software under CDDL with the source code under other licenses without relicensing.
Both the MPL and CDDL (as its derivative) are considered to be a compromise step between permissive licenses listed above and stricter, reciprocal ones.
While the above-listed open source licenses are considered permissive, there is a number of licenses with more strict limitations. They are commonly referred to as copyleft licenses. Unlike copyright which is used to protect the ownership and IP rights of the author by prohibiting its users from reproducing, adapting, or distributing copies of their work.
As opposed to copyright, copyleft licenses give the freedom to reproduce, adapt, and redistribute copies of the software, providing that the copies or adaptations will be made available to the public under the same license. As a result, the license terms and authorship is usually embedded into the source code.
The most popular reciprocal (or copyleft) licenses are GNU and CPL.
GNU General Public License is one of the most popular open source licenses, offering a wide range of rights to software developers using the software. The rights include the legal right to copy the software, distribute (also for a certain fee), and modify it as you see fit.
However, it is a “strong copyleft” license. As a result, it requires all changes/dates to be tracked in source files. Any modifications you make to the original software or products that use GPL-licensed code should be also released under the GPL license.
Common Public License (CPL) is somewhat similar to GNU in terms of distribution of the modified software. In both cases you should make the source code of the modified software available to others.
However, the CPL is not compatible with the GNU license because the license was superseded by the Eclipse Public License (EPL), and that is why CPL is sometimes considered deprecated. Nevertheless, it is still used by a number of existing projects and often applied to new ones.
Both CPL and EPL have weaker copyleft provisions, as compared to GNU.
Creative Commons licenses are mostly used for design projects: photography, graphic designs, articles, music, or even complete websites. This license is not recommended for software projects.
There are several types of CC licenses, each having specific terms and granting certain rights. All of them allow users to share, use, redistribute, and build upon the licensed works.
However, there are certain conditions that can be applied to the licensed works under a CC license:
- Attribution. This means that in order to use the work, you should attribute the author as the creator of the work. Except for that, you are free to use, modify, redistribute, or copy the work as you wish.
- Share Alike. The work can be used, modified, and redistributed, but only under the same CC license.
- Non-Commercial. The work can be used, modified, and distributed, but not for commercial purposes. However, there is no clear definition of what “commercial” really means. Some sources think of “commercial purpose” as selling the product, others can even restrict such products from being used on a website that generates revenue (e.g. places to run paid ads). That’s why you might have to clarify this first with the author before you use any of the products released under this CC license.
- No Derivative Works. With this kind of license, you cannot modify a licensed work in any way or create other works based on it. However, you can still copy and distribute the original work.
Read more about CC licenses and their types here.
Open source projects can be a huge time-saver: They allow you to integrate ready-made solutions into your product instead of building the same components from scratch. Yet, you need to make sure you comply with the licensing terms to be able to use the open source software without violating the law. So, here is some advice on how to benefit from free software and keep your business safe.
- Choose a License is a handy tool that makes it easier to choose the right type of license when publishing your project online.
- Another great resource is TLDRLegal.com: it provides explanations for the main types of licenses in plain English.
- After all, you can always consult with official resources. Opensource.org has a complete list of all available licenses.
2. Establish a solid management process for open source components.
- Open source audits are the most popular way to keep track of the free software components used in your product. These can be conducted by both external parties, as in the case of a merger or acquisition, or internally on a regular basis.
- To make the process effortless and fast, there is a number of software tools that can help you identify open source components in your code (and check for license compliance). Some of them are Black Duck Software products, FlexNet Code Insight, and FOSSID.
3. Hire a professional software development team. Experienced software developers are usually well-versed in a number of aspects, including open source and licensing. So, find the specialists you can rely on and let them do the job.
We at Eastern Peak know exactly how to navigate the risks of using open source software. Contact us to receive professional consultation on the possible risks associated with using open source software, or request to have a call with our project managers to see how we can help you build your product from scratch.
- How to Create an App for Your Business
- Why Cheap App Development Will Actually Cost You More: Risks to Consider and Lessons to Learn
- How To Reduce App Development Cost