A software license is a legal instrument that grants permission to do things with a program that copyright law would otherwise forbid. Under copyright, the author holds exclusive rights to copy, modify, and distribute a work; without a license, a recipient of software has no right to do any of those things beyond what statute narrowly permits. The license is the document that converts those withheld rights into granted permissions, on whatever terms the rights holder chooses to set.
Because the license sits atop copyright, its terms define the entire relationship between author and user. At one end of the spectrum sit proprietary licenses, which typically grant only a limited right to run the software while forbidding copying, modification, reverse engineering, and redistribution. At the other end sit free and open source licenses, which grant rather than restrict. The Free Software Foundation frames free software around four freedoms: as gnu.org states, the user has the freedom “to run the program as you wish, for any purpose” (freedom 0), to study and change it (freedom 1), to redistribute copies (freedom 2), and to distribute modified versions (freedom 3).
The open source side of the same movement codifies its terms in the Open Source Definition, maintained by the Open Source Initiative. The Definition requires, among ten criteria, free redistribution, availability of source code, and that “the license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.” A license that fails any of these criteria is not open source no matter how the code is published.
Within the family of free and open licenses, a further axis separates permissive licenses from copyleft licenses. Permissive licenses such as MIT and BSD impose few conditions and allow incorporation into proprietary products, while copyleft licenses such as the GPL require that derivative works carry the same freedoms forward. Both are software licenses in the same legal sense; they differ only in the conditions attached to the grant.
The choice of license is therefore not a formality but the mechanism that determines whether software can be combined, sold, modified, or locked down. A program’s license travels with every copy and binds every downstream recipient, which is why the texts of these licenses, and the definitional frameworks that classify them, are treated as foundational primary documents in the history of software.