Skip to main content

Software License

Pronunciation
SOFT-wair LY-sunss
Updated 2 min read

Share this page

Send the link, quote the definition with a link back, or show it as a card on your own site.

https://softwaredictionary.org/terms/software-license

In short

A software license is the legal permission that says how software may be used, modified and distributed; open source licenses can be permissive or copyleft.

What is a software license?

Code is automatically protected by copyright, so without a license nobody else may legally reuse it, even if it is public on GitHub. A license grants permissions and sets conditions. Proprietary licenses, typical for commercial software, usually allow use but forbid copying, modifying or redistributing it. Open source licenses grant those freedoms, with different conditions attached.

Permissive licenses, such as MIT, BSD and Apache 2.0, let you do almost anything, including using the code in closed-source products, as long as you keep the copyright and license notices; Apache 2.0 also includes an explicit patent grant. Copyleft licenses, such as the GPL, require that if you distribute software built from the code, you share its source under the same license. The AGPL extends this to software offered over a network, and the LGPL and MPL apply weaker, file- or library-level copyleft.

Teams track licenses because their dependencies bring obligations with them. Tools scan dependencies and flag incompatible licenses, and SPDX identifiers such as MIT or Apache-2.0 in package metadata make this automatic. Some companies avoid AGPL code entirely, and source-available licenses such as the Business Source License restrict commercial use even though the code is public.

A common misconception is that code without a license is free to use. The opposite is true: no license means all rights reserved. Another is that permissive licenses have no conditions at all; dropping the required notices is a license violation. When in doubt about obligations, especially for products, legal advice is worth getting.

Key takeaways

  • A license states how software may be used, modified and distributed.
  • Without a license, code is all rights reserved by default.
  • Permissive licenses (MIT, BSD, Apache 2.0) require keeping notices.
  • Copyleft licenses (GPL, AGPL) require sharing source under the same terms.
  • Dependency licenses bring obligations; SPDX IDs help track them.

Readers ask

What is the difference between MIT and GPL?

MIT is permissive: you can use the code anywhere, including closed-source products, if you keep its notice. GPL is copyleft: if you distribute software that includes GPL code, you must release that software's source under the GPL too.

What happens if a GitHub project has no license?

Copyright law applies by default, so you don't have permission to copy, modify or distribute it, even though you can view it. You would need to ask the author for permission.

Which license should I choose for my project?

MIT or Apache 2.0 if you want maximum adoption with few conditions, the GPL if you want improvements to stay open source, and the AGPL if that should also apply to software offered as a network service.

See also

Spotted a mistake or something missing on this page?Suggest an edit

Read a random page
Open today's review
Switch to the dark theme
Read this page in Türkçe

More

Settings