A software license is effectively a contract that governs how a user of a piece of software is able to use that program and what he or she can do with the software. This license is typically explained in great detail through documentation provided with the software, such as an end user license agreement (EULA). The license typically allows a person who pays for a program to use the software in certain specific ways, and this license may be issued at the time of purchase and could have to be renewed annually. A software license usually comes in one of three major forms: a proprietary license, a free license, or an open software license.
The software license that is issued to the user of a software program typically indicates any stipulations that control how a person is able to use the software. These stipulations usually depend on the type of license that is accompanied with the software. This license is usually free through freeware and shareware, though commercial products often charge for a license and this may be a single fee or an annual charge to continue using the software.
A proprietary software license is typically provided with commercial software and allows someone who acquires a license to use a program but the software developer retains ownership of the program and source code. Many commercial programs such as mainstream word processing software, antivirus programs, and computer games use this type of license. The user of the program acquires a license that allows him or her to use the program, but the actual software itself remains the sole property of the developer of the program.
Other types of software license afford different rights and varying degrees of ownership to users of programs. A free license, for example, allows the person who acquires the license to legally own the copy of the program he or she purchased. While the software remains under copyright protection for the developer, the person with a free software license can otherwise use his or her copy of the program as he or she wishes and is given copyright ownership over his or her copy of the program.
An open software license affords much greater ownership of a program to the user of that software and typically comes in one of two forms. One form of open license, often called a "copyleft" license, allows a user to change the source code of a program and develop any new programs using that code, but the source code must be provided with any future releases, as well as documentation about the source code itself. The other major form of open license, often called a “permissive” license, allows the user to alter the source code for future projects, without having to provide the original source code or documentation in any future releases.