A GPL license means the software's source code is open for anyone to read, modify, and share — but with one key requirement: if you change it and distribute it, you must share your changes under the same GPL license.

GPL stands for GNU General Public License. It is a legal agreement that comes with software to say what you can and cannot do with it. Unlike proprietary software where the company keeps the code secret and controls how you use it, GPL software gives you the actual code and the right to study it, change it, and pass it along — as long as you follow the GPL's rules.

The GPL exists because some programmers wanted to create software that would stay free and open forever, not locked behind a company's control. When you download GPL software, you are getting not just the program that runs, but the human-readable instructions (called source code) that built it. This matters because it means you can see exactly what the software does, fix bugs yourself if you need to, and adapt it for your own use.

Key Takeaways

  • GPL software gives you the right to use, study, modify, and share the code, but requires that any changes you distribute must also be released under the GPL.
  • You can download and use GPL software for free, and you can modify it for your own needs without asking permission.
  • If you distribute modified GPL software to others, you must provide them with the source code and the same GPL rights you received.
  • GPL software is common in servers, development tools, and operating systems like Linux, but less common in consumer applications.
  • Using GPL software in your own project does not automatically make your project GPL — only if you distribute it does the GPL requirement apply.

How the GPL's "Share Alike" Rule Works

The core idea of the GPL is called copyleft. Copyright normally lets a creator restrict what others can do with their work. Copyleft flips that: it uses copyright law to may provide freedom instead. When you receive GPL software, the license says you can modify it. But if you then give that modified version to someone else, you must give them the same freedoms you received — including the source code and the right to modify it further.

This creates a chain. If you take a GPL program, improve it, and sell it to a customer, that customer gets the source code and the right to modify it too. They cannot be locked in. This is why GPL software stays free and open across generations of changes — the license travels with the code.

The requirement only kicks in when you distribute the software. If you modify GPL code and use it only for yourself, on your own computer or server, you do not have to share anything. The moment you give it to someone else — whether you charge money or not — the GPL requires you to provide the source code and the license.

What You Can and Cannot Do with GPL Software

You can use GPL software for any purpose, including commercial purposes. You can run it on your business servers, use it to build a product, and sell that product. You can modify the code to fit your needs. You can study how it works. None of this requires permission or payment.

What you cannot do is take GPL software, modify it, and then distribute it under a different, more restrictive license. You cannot take the code, improve it, and sell it as proprietary software that others cannot modify. You cannot remove the GPL license and claim the code is yours alone. If you distribute it, the GPL must travel with it.

This does not mean you cannot make money from GPL software. Many companies build profitable businesses around GPL code. They might charge for support, customization, hosting, or services built on top of GPL software. What they cannot do is take the GPL code itself and lock it away.

Different Versions of the GPL

There are three main versions of the GPL in use: GPLv2, GPLv3, and the LGPL (Lesser General Public License). GPLv2 is the oldest and still the most common, used by Linux and many other major projects. GPLv3 is newer and adds protections around digital restrictions and patent rights, but some projects have chosen to stick with GPLv2 instead.

The LGPL is a looser version of the GPL. It still requires that if you modify the LGPL code itself and distribute it, you must share those changes. But if you use LGPL code as a library inside your own program, you do not have to make your entire program GPL. This makes LGPL better for situations where you want to use open-source components in a proprietary application.

When you download software, the license file will tell you which version applies. If a project uses GPLv2, it uses GPLv2 — you cannot upgrade it to GPLv3 on your own. Some projects explicitly allow you to use either version, but that is the exception.

Where You Encounter GPL Software

GPL software powers much of the internet and many business systems. Linux, the operating system that runs most web servers, is GPL. The Apache web server, MySQL databases, and WordPress are all GPL or use GPL-compatible licenses. Development tools like Git and GCC (the compiler that builds much of the open-source world) are GPL. If you use any of these, you are already using GPL software.

In consumer applications, GPL is less common. Most commercial software you buy is proprietary. But many free programs you might download — especially on Linux — are GPL. If you use open-source tools for programming, design, or system administration, you are likely using GPL code regularly.

GPL Software in Your Own Projects

If you want to use GPL code in your own project, you need to understand one thing: using GPL code does not automatically make your entire project GPL. You can write proprietary code that uses GPL libraries or tools. The GPL only applies to the GPL code itself and any modifications you make to it.

However, if you distribute your project to others, the situation changes. If your project is tightly integrated with GPL code — if it links to a GPL library, for instance — then the whole thing may need to be GPL. This is called viral licensing because the GPL requirement spreads to code that uses it. The LGPL exists partly to avoid this problem: you can use LGPL libraries in proprietary code and distribute both together.

Before you use GPL code in a project you plan to distribute, read the license carefully or ask a lawyer. The rules depend on how you are using the code and what you are building. Many projects are happy to let you use their code under the GPL; you just need to know the terms upfront.

Why Companies and Developers Choose GPL

Developers choose GPL for different reasons. Some believe software should be free and open as a matter of principle. Others use GPL because it protects their work — if they release code under GPL, they know it will stay open and they will benefit from improvements others make. Some use it because they are building on GPL code and the license requires it.

Companies use GPL software because it is often high-quality, well-maintained, and costs nothing. They can modify it to fit their needs. They can audit the code for security problems. And they can hire developers to improve it for their own use. The trade-off is that if they distribute GPL software, they must share their changes.

Frequently Asked Questions

Can I use GPL software in my business?

Yes. You can run GPL software on your servers, use it to build products, and make money from it. The GPL only requires you to share the source code if you distribute the software to others. If you use it internally, you do not have to share anything.

Do I have to pay for GPL software?

No. GPL software is free to download and use. Some companies charge for support, hosting, or customization services built around GPL software, but the software itself is free.

What happens if I modify GPL software and do not share the changes?

If you keep the modified software to yourself, nothing happens — the GPL does not apply. If you distribute it to others without sharing the source code, you are violating the license. The original author could take legal action, though this is rare in practice.

Can I use GPL code in a proprietary application?

Not directly. If you distribute a proprietary application that includes GPL code, the whole thing must be GPL. However, you can use LGPL code in proprietary applications. You can also use GPL tools (like compilers) to build proprietary software without making the software itself GPL.

What is the difference between GPL and open source?

Open source is a broad category of software where the source code is publicly available. GPL is one specific license that makes code open source. Other open-source licenses exist with different rules — some are more permissive than GPL, some are more restrictive. GPL is the most common open-source license.