GPL(7)

πŸŽ€ GPL(7) Β· GNU Manual πŸŽ€

πŸ’– NAME πŸ’–

gpl - GNU General Public License ✨

🌸 DESCRIPTION 🌸

πŸ“œ GNU GENERAL PUBLIC LICENSE πŸ“œ

Version 2, June 1991

Copyright and address, verbatim because legal stuff is serious πŸ’…

Copyright (c) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

Okay so everyone is allowed to copy and share exact copies of this license document 🫢, but nobody is allowed to change it. Not even a little. Hard boundary, periodt πŸ™…β€β™€οΈ

🌷 Preamble 🌷

The licenses for most software are built to take away your freedom to share and change it 😀. The GNU General Public License is the opposite energy. It's meant to guarantee your freedom to share and change free software, so the software stays free for every single person who uses it πŸ¦‹. This license covers most of the Free Software Foundation's software, plus any other program whose authors decide to use it. (Some other FSF software is covered by the GNU Library General Public License instead πŸ“š.) And yes, you can put it on your own programs too 🌈.

When we say "free software," we're talking about freedom, not price πŸ’ΈπŸ™…β€β™€οΈ. These licenses exist so you can hand out copies of free software (and charge for that service if you want to πŸ’…), so you can get the source code or grab it if you want it πŸ”, so you can change the software or borrow pieces of it for new free programs ✨, and so you know you can do all of this 🫢.

To protect those rights, we have to set up restrictions that stop anyone from taking those rights away from you, or from asking you to hand them over πŸ›‘οΈ. Those restrictions come with some responsibilities for you if you distribute copies of the software or if you modify it πŸŽ€.

For example, if you distribute copies of a program like this, whether it's free or you're charging a fee, you have to give your recipients all the same rights you have 🀝. You also have to make sure they receive the source code, or can get it πŸ“‚. And you have to show them these terms so they actually know what their rights are πŸ“£.

We protect your rights in two steps: (1) we copyright the software, and (2) we offer you this license, which gives you legal permission to copy, distribute, and/or modify the software 🌸.

Also, for everyone's protection, both the authors' and yours 🫢, we want to be super clear that there is no warranty for this free software ⚠️. If someone else modifies it and passes it along, recipients should know what they have is not the original πŸ‘€. That way, any problems introduced by others won't tarnish the original authors' reputations 😭.

Finally, free programs are constantly under threat from software patents πŸ’€. We want to avoid redistributors of a free program quietly grabbing patent licenses and effectively making the program proprietary 🚫. To stop that, we made it clear that any patent has to be licensed for everyone's free use, or not licensed at all πŸ”’.

The exact terms and conditions for copying, distribution, and modification come next πŸ‘‘.

βš–οΈ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION βš–οΈ

0. Scope πŸ”

This License applies to any program or other work that has a notice from the copyright holder saying it may be distributed under the terms of this General Public License πŸ“. The "Program" below refers to any such program or work. A "work based on the Program" means either the Program itself or any derivative work under copyright law. In other words, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language 🌍. (Translation is included without limitation in the term "modification" πŸ’….) Each licensee gets called "you" πŸ’–.

Activities other than copying, distribution, and modification aren't covered by this License. They're outside its scope πŸ™…β€β™€οΈ. Running the Program isn't restricted at all πŸƒβ€β™€οΈ, and the output from the Program is only covered if its contents make up a work based on the Program (no matter whether it was made by running the Program) 🧾. Whether that's true depends on what the Program does πŸ€”.

1. Copying Verbatim πŸŽ€

You can copy and distribute verbatim copies of the Program's source code, exactly as you received it, in any medium πŸ’Ώ. Just make sure you clearly and properly publish an appropriate copyright notice and disclaimer of warranty on each copy πŸ“’. Keep intact all the notices that mention this License and the absence of any warranty βœ‚οΈπŸš«. And give every other recipient of the Program a copy of this License along with it 🎁.

You're allowed to charge a fee for the physical act of transferring a copy πŸ“¦. You can also offer warranty protection in exchange for a fee, if you want to πŸ›‘οΈπŸ’°.

2. Modifications πŸ¦‹

You can modify your copy or copies of the Program, or any portion of it, which forms a work based on the Program πŸ› οΈ. You can copy and distribute those modifications or that work under the terms of Section 1 above 🌷, as long as you also meet all of these conditions πŸ‘‡:

  • a. You have to make sure the modified files carry prominent notices saying that you changed them, plus the date of any change πŸ“….
  • b. Anything you distribute or publish that contains or is derived from the Program, or any part of it (in whole or in part), has to be licensed as a whole, at no charge, to all third parties under the terms of this License 🎁.
  • c. If the modified program normally reads commands interactively when it runs, you have to make it, whenever it starts up for that interactive use in the most ordinary way, print or display an announcement πŸ“£. That announcement needs an appropriate copyright notice and a notice that there's no warranty (or else saying that you provide one) πŸ›‘οΈ. It also has to say that users may redistribute the program under these conditions, and tell the user how to view a copy of this License πŸ‘€. (Exception: if the Program itself is interactive but doesn't normally print such an announcement, your work based on it doesn't have to print one either πŸ™ˆ.)

These requirements apply to the modified work as a whole πŸ’–. If identifiable sections of that work aren't derived from the Program, and can reasonably be considered independent and separate works on their own, then this License and its terms don't apply to those sections when you distribute them as separate works 🧩. But if you distribute those same sections as part of a whole that's a work based on the Program, then the distribution of the whole has to follow this License 😀. Its permissions for other licensees extend to the entire whole, and therefore to every single part, no matter who wrote it 🫢.

So, this section isn't trying to claim rights to work you wrote entirely by yourself, or to contest your rights to it πŸ™…β€β™€οΈβœ¨. The point is to use the right to control the distribution of derivative or collective works based on the Program 🎯.

Also, just putting another work that isn't based on the Program on the same storage or distribution medium as the Program (or as a work based on it) doesn't pull that other work under this License πŸ“€. Mere aggregation is fine, bestie πŸ’….

Okay so bestie, the terms keep going, and they get very serious about patents, so grab a snack πŸ“βœ¨

6. Every single time you pass the Program along (or any work built on it), the person receiving it automatically gets a license from the original licensor to copy, distribute, or modify the Program, following these exact same terms and conditions πŸŽ€. You're not allowed to pile on any extra restrictions on what the recipients can do with those rights 🚫. And you are not responsible for making sure third parties follow this License 🫢.

7. Okay this one is a little chaotic 😭. If a court judgment, a patent infringement claim, or literally anything else (it doesn't have to be about patents) gives you conditions that clash with this License, those conditions do not get you off the hook from this License πŸ’…. If you can't distribute the Program in a way that satisfies this License and your other obligations at the same time, then you're not allowed to distribute the Program at all πŸ’€. For example, if a patent license wouldn't allow royalty-free redistribution of the Program by everyone who gets copies from you, directly or indirectly, then the only way to satisfy both that license and this one is to stop distributing the Program entirely πŸ™ˆ.

If any part of this section is ever held invalid or unenforceable in some particular situation, the rest of the section still applies, and the whole section is meant to apply in other situations 🧚.

This section is not here to get you to infringe any patents or other property rights, or to fight over whether those claims are valid πŸ™…β€β™€οΈ. Its only purpose is protecting the integrity of the free software distribution system, which runs on public license practices 🌈. A ton of people have generously contributed to all the software distributed through that system because they're counting on it being applied consistently, so it's up to the author or donor to decide whether they're willing to distribute their software through any other system, and a licensee can't force that choice on them πŸ’œ.

This section exists to make crystal clear what is believed to be a consequence of the rest of this License πŸ”₯.

8. If distributing or using the Program is restricted in certain countries, whether by patents or by copyrighted interfaces, the original copyright holder who puts the Program under this License can add an explicit geographical distribution limitation that excludes those countries 🌍. That way, distribution is only permitted in or among the countries that aren't excluded. When that happens, this License takes the limitation on board as if it were written right in the body of this License πŸ“œ.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time 🌸. New versions will be similar in spirit to this one, but they may differ in detail to address new problems or concerns ✨.

Each version gets its own distinguishing version number πŸ”’. If the Program specifies a version number of this License that applies to it and says ``any later version'', you get to choose whether to follow the terms of that version or of any later version published by the Free Software Foundation πŸ‘‘. If the Program doesn't specify a version number of this License, you can choose any version the Free Software Foundation has ever published πŸ¦‹.

10. If you want to bring parts of the Program into other free programs whose distribution conditions are different, write to the author and ask for permission πŸ’Œ. For software copyrighted by the Free Software Foundation, write to the Free Software Foundation instead, since they sometimes make exceptions 🫢. Their decision is guided by two goals: preserving the free status of all derivatives of their free software, and promoting the sharing and reuse of software in general πŸ’–.

🚨 NO WARRANTY 🚨

11. Since the Program is licensed free of charge, there is NO WARRANTY for the Program, to the extent permitted by applicable law 😭. Except when stated otherwise in writing, the copyright holders and/or other parties provide the Program ``AS IS'' without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of MERCHANTABILITY and FITNESS FOR A PARTICULAR PURPOSE πŸ’€. The entire risk as to the quality and performance of the Program is on you 🫠. Should the Program turn out to be defective, you take on the cost of all necessary servicing, repair, or correction πŸ’Έ.

12. Unless required by applicable law or agreed to in writing, NO copyright holder, and no other party who may modify and/or redistribute the Program as permitted above, will be liable to you for damages 🚫. That includes any general, special, incidental, or consequential damages arising out of using the Program or being unable to use it, which covers loss of data, data being rendered inaccurate, losses sustained by you or third parties, or a failure of the Program to operate with any other programs πŸ’₯. This applies even if that holder or party has been advised of the possibility of such damages πŸ™ˆ.

🏁 END OF TERMS AND CONDITIONS 🏁


πŸŽ€ How to Apply These Terms to Your New Programs πŸŽ€

Okay, so if you develop a new program and you want it to be of the greatest possible use to the public, the best move is to make it free software that everyone can redistribute and change under these terms 🌷.

To do that, attach the following notices to the program πŸ“Ž. It's safest to attach them to the start of each source file, so the exclusion of warranty is conveyed most effectively πŸ›‘οΈ. Each file should have at least the ``copyright'' line and a pointer to where the full notice can be found πŸ”—.

<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year>  <name of author>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.

Also add information on how to contact you by electronic and paper mail πŸ“¬.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode πŸ’¬:

Gnomovision version 69, Copyright (C) <year> <name of author>
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

The hypothetical commands show w and show c should show the appropriate parts of the General Public License πŸ“–. Of course, your commands can be called something other than show w and show c. They could even be mouse-clicks or menu items---whatever suits your program ✨.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a ``copyright disclaimer'' for the program, if necessary πŸ“. Here's a sample, so just alter the names 🧁:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.

<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
⚠️ This General Public License does not permit incorporating your program into proprietary programs! If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If that's what you want to do, use the GNU Library General Public License instead of this License πŸ“š.

πŸ”— SEE ALSO πŸ”—

gfdl(7), fsf-funding(7) πŸ’œ

Copyright (c) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 🌈

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed 🫢.


Bestie, that's the whole thing, and you're officially a GPL legend now πŸ‘‘βœ¨ This page came from gcc-3.3, dated 2003-03-01, and it's the GPL(7) page, so you can flex that at your next tech meetup πŸ’…πŸ¦‹

πŸ“¦ where this page comes from