You can, if you wish, 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.
Open source software is code that the creators make available through an open license, in which the copyright holder provides the rights to edit and distribute the software to anyone and for any purpose. Open source software allows coders to collaborate across time and space, and also helps developers like you to create new apps without starting from scratch.
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. Importantly, if you distribute new software that incorporates the open source software, then the open source license will apply to the derivative work. 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 nonprofit 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 requirements described below. If you use OSI Certified open source software in your app and publicly distribute it, you’ll have to comply with these rules as well.
First, the open source 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). Users are usually referred to as "licensees" since they are effectively "borrowing" the software.
Open source software is not necessarily free. 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 provided only with the object code version of the program, which is not intended to be read.)
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.
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.
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.
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.
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.
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.