At its core, a license is permission from one party to another to perform an activity which would not otherwise be permitted. An intellectual property (IP) license is an agreement between two parties (a licensor and a licensee) for the use, which would otherwise infringe on legal protections, of intellectual property. Put another way, an IP license lets a licensee use protected IP without being sued for infringement of copyright, patent, or trademark protections.
Since most protection for software in the United States is under copyright law, a software license is permission, by contract, for the use of copyrighted IP (the software); use without a license would be an infringement, actionable under US law, of copyright protections.
There are two main schools of thought that form the vast majority of software licenses: proprietary software licenses and free-and-open-source software (FOSS) licenses.
Proprietary licenses usually involve an End User License Agreement (EULA) that grants the licensee no right to the software beyond the use of it for a specific the term and territory. Generally, the EULA will limit where and how many times you can install the program, if you can copy or redistribute the software, and if you can modify it in any way. When software is distributed with a proprietary license, users generally are not given access to the source code (the actual programming of the software).
FOSS licenses, by definition, maintain access to the source code as an integral part of the rights being licensed. Keep in mind that the FOSS licenses protect the users’ rights to use and redistribute software, not the authors’. Also, open source does not equal free. The Free Software Foundation (FSF), in a comment made about the differing philosophies between ‘free’ and ‘open source’ software, highlights the similarity of the two paradigms: “nearly all free software is open source, and nearly all open source software is free”.
While the particulars of the many varied FOSS licenses can be overwhelming, there are some fundamental differences.
There are two primary categories of FOSS licenses: recursive - or copyleft licenses - and everything else. Copyleft licenses are recursive in that they require any successive distributions that have used the initial software in any way also to be released under the same permissive license as the original; in other words, that any successive modifications are also released as FOSS.
Some copyleft licenses, such as the GNU General Public License (GNU GPL; http://www.gnu.org/licenses/gpl.html), are strong copyleft licenses; they require that any derivative work also be released under the same license. The FSF maintains a list (http://www.gnu.org/licenses/license-list.html) of licenses that are compatible with the GNU GPL. Software released under licenses it deems compatible can be combined with software released under the GNU GPL and maintain the GNU GPL license. Keep in mind that you can use or modify any GNU GPL software and use them privately without ever releasing them to the public. The copyleft nature comes into play when you decide to release the modification.
Weak - or partial - copyleft licenses, such as the GNU Lesser General Public License (GNU LGPL; http://www.gnu.org/licenses/lgpl.html) allow the software to be linked, or used in conjunction with the GNU LGPL licensed software, without any requirement for the new software to be licensed in a particular way. In other words, if you use some software licensed under the GNU LGPL as part of software you author, you can still license your software in any way you wish to. The only caveat is that the part that was licensed under the GNU LGPL is still under that license.
All other FOSS licenses are permissive to the extent that they allow the user to do what they will with the software, including incorporating it into proprietary software. The Modified BSD license (http://opensource.org/licenses/BSD-3-Clause), a permissive FOSS license, allows redistribution, with or without modification, if the redistributed software includes the same notice of copyright permission and does not coopt the original author’s name without permission. The Apache License Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) is also a permissive FOSS license, with additional patent termination and indemnification provisions to further protect users.
Choosing a license under which to release your software can be difficult. While the details between the various FOSS licenses are important and need to be considered, the general differences discussed above should help get you pointed in the right direction.
The FSF maintains a short page on its license recommendations, http://www.gnu.org/licenses/license-recommendations.html; the OSI likewise maintains an FAQ to help navigate the FOSS waters, http://opensource.org/faq.