Can I Use Open Source Licensed Software in My Software App?
You can use open source licensed software in your software app, but you must take care to read, understand, and follow the terms of the open source license that comes with the software.
Anyone who uses open source software has the freedom to modify the program, or to incorporate it into other programs. This is the reason the source code is provided to users. So long as the new work is only used internally, the open source license will not affect you. However, the provisions of an open source license will apply when you create a derivative work from open source code and publicly distributes it. In this event, the new code must be distributed under the same open source license as the original code. This means the program must be licensed as a whole at no charge to all third parties under the terms of the open source license.
There is no single open source license. Over 30 are in common use. To help establish some degree of uniformity, the Open Source Initiative, a non-profit corporation that promotes open source software, created the Open Source Definition to help classify open source licenses. The Open Source Definition is not itself a software license. It is a specification of what is permissible in a license in order for the software to be called open source.
Licenses that meet the definition may contain the legend “OSI Certified” or use the OSI Certified logo. If you see either of these marks on software, it is being distributed under a license that conforms to the open source Definition. In other words, it is an open source license. However, it is important to understand that these are minimum requirements. Licensors are free to use licenses that provide additional rights beyond the minimums. Thus, OSI certified licenses are not all the same.
To meet the Open Source Definition, a license must meet the following requirements. If you use OSI Cerrtified open source software in your app and publicly distribute it, you’ll have to comply with these rules as well.
Learn more about Fair Use of Copyrighted Material.
First, the license must permit anyone who obtains and uses the covered software to sell or give it away it to others without having to pay a royalty or other fee to the original copyright owner(s). From now on, we’ll refer to such users as licensees.
Open source software is not necessarily free—that is, without financial cost. Users may sell copies to others, and are free to charge whatever they want (and can get). In the open source universe, “free” refers to freedom, not price. Thus, some open source software is sold and some is given away; in all cases, the recipients are free to redistribute the software.
Open source licenses require everyone who distributes the software to provide unfettered access to the program source code—the version of the program written in a computer language like C, Java, or Basic, that is intended to be read and understood by humans and debugged, modified, or adapted by them; hence the name “Open Source.” “Source” refers to the source code, and “open” means such code is freely available to users. (In contrast, proprietary software is ordinarily “closed.” Users are only provided with the object code version of the program, which is not intended to be read.)
Integrity of The Author’s Source Code
Open source software is typically updated, debugged, modified, or otherwise altered by programmers other than the original creators. Since the software is open source and must be distributed along with the source code, these programmers need not obtain permission to make their changes. However, in the typical open source project, someone acts as a “maintainer.” This is a person, committee, or other body that works to maintain the integrity and usefulness of the software.
If a programmer’s changes are rejected by the maintainer, they do not become part of the software’s official source code tree. But the programmer may still distribute the changes. The original author(s) of the software can’t prevent such distribution, but their license may require that the original source code be distributed unmodified, with modifications in a separate patch file. The original code is then combined with the patch file at build time to create a new working version of the software.
Learn more about Software, Applications, and Copyright.
No Discrimination Against Persons
The license must not discriminate against any person or group of persons—in other words, anybody may use open source software so long as they abide by the open source license.
No Discrimination Against Fields of Endeavor
The license may not restrict anyone from using the software in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. This provision permits commercial users to join the open source community.
Distribution of License
When software is distributed under an open source license, that license must be a complete grant of rights and restrictions. For example, users cannot be required by the license to sign nondisclosure agreements, patent licenses, or any other agreements governing how the software may be used. This prevents closing up the software through indirect means.
License Must Not Be Specific to a Product
The license may not restrict the software to a specific product or products. For example, open source software cannot be limited to use with Linux.
License Must Not Restrict Other Software
The license may not place restrictions on other non-open source software that is distributed along with the open source software. For example, the license must not insist that all other programs distributed on the same CD-ROM or other media must be open source software. Thus, a company may distribute both open source and proprietary software in the same package. However, many copyleft licenses, notably the GPL (GNU General Public License) require that if a software package was derived from any GPL code, then it, too, must be released under the terms of the GPL.
Learn more about Copyright and Public Domain.