No history yet

Software Licensing

What is a Software License?

When you buy a physical object, like a chair, you own it completely. You can use it, take it apart, paint it, or sell it. Software is different. When you get a new app or program, you aren't buying the software itself. You're buying a license, which is permission to use that software according to a specific set of rules.

A software license is a legal document that governs the use and distribution of software. It's the contract between the creator and the user.

Think of it as the terms and conditions. These rules, laid out in the End-User License Agreement (EULA), dictate what you can and cannot do. Can you install it on multiple computers? Can you make copies? Can you change how it works? The license has the answers. Its main purpose is to protect the intellectual property of the creators while granting you the right to use their work.

Lesson image

Proprietary vs. Open-Source

Software licenses generally fall into two broad categories: proprietary and open-source. The distinction comes down to control and access to the software's underlying recipe, its source code.

Source Code

noun

The human-readable instructions written by programmers. This code is compiled into the machine-readable format that your computer actually runs.

Proprietary licenses are restrictive. The source code is kept secret, like a closely guarded recipe from Coca-Cola. You can use the finished product, but you can't see how it's made, modify it, or share it freely. Most software you pay for, like Adobe Photoshop or Microsoft Office, is proprietary. You're a user, not a co-creator.

Open-source licenses do the opposite. They grant users access to the source code and give them the freedom to view, change, and distribute it. This collaborative approach means anyone can inspect the code for security flaws, adapt it for a new purpose, or share their improvements with the community.

Lesson image

Different Shades of Open

Not all open-source licenses are the same. They exist on a spectrum from highly permissive to more restrictive, based on the conditions they place on modified versions. The two main types are permissive and copyleft.

Think of it this way: a permissive license says, "Take this and do whatever you want," while a copyleft license says, "Take this, but if you share it, you have to share your changes, too."

Permissive licenses, like the MIT and BSD licenses, have very few restrictions. You can take the source code and use it in your own projects, even in proprietary, closed-source software. The main requirement is usually just to give credit to the original creators.

Copyleft licenses, most famously the GNU General Public License (GPL), are designed to keep software free. If you use GPL-licensed code in your project and then distribute that project, your entire project must also be licensed under the GPL. It ensures that the freedom to use, modify, and share the software is passed on to all future users. This is often called a "viral" license because its terms spread to any larger work that incorporates it.

License TypeView Source CodeModify & DistributeKey Condition
ProprietaryNoNoYou must adhere to the EULA, often after payment.
PermissiveYesYesYou must include the original copyright notice.
CopyleftYesYesYour derivative work must be shared under the same license.

Understanding these differences is key. The license attached to a piece of software defines your rights and freedoms as a user and what a developer can do with that code. It's the legal framework that underpins the entire software world, from the operating system on your phone to the web browser you're using right now.