Skip to content

Instantly share code, notes, and snippets.

@kn9ts
Last active March 8, 2024 07:26
Show Gist options
  • Save kn9ts/cbe95340d29fc1aaeaa5dd5c059d2e60 to your computer and use it in GitHub Desktop.
Save kn9ts/cbe95340d29fc1aaeaa5dd5c059d2e60 to your computer and use it in GitHub Desktop.
GPLv3 explained

GPL3 LICENSE SYNOPSIS

TL;DR* Here's what the license entails:

1. Anyone can copy, modify and distribute this software.
2. You have to include the license and copyright notice with each and every distribution.
3. You can use this software privately.
4. You can use this software for commercial purposes.
5. If you dare build your business solely from this code, you risk open-sourcing the whole code base.
6. If you modify it, you have to indicate changes made to the code.
7. Any modifications of this code base MUST be distributed with the same license, GPLv3.
8. This software is provided without warranty.
9. The software author or license can not be held liable for any damages inflicted by the software.

More information on about the LICENSE can be found here

@vijayaparthiban
Copy link

vijayaparthiban commented Mar 5, 2022

@DaanBiesterbos Looking at your reply just now. Let me breakdown your comment into a few bits and pieces.

  1. Let's say I need a microservice to manage users within my organisation....
    This falls in a grey area. ie. If you use the microservice -within- your organisation, you may not be distributing. If you use it to sell your service/product externally, then your are distributing.

  2. Secondly, I agree with your whole comment from a fairness point of view. You are 100% correct and there is bunch of OSS licenses that are fully supportive of that (eg, Apache License 2.0 is just fine)

  3. My original comment mainly applies to a few restrictive OSS licenses such as GPLv3.0 or Affero GPL. I still standby by comment unfortunately (it is not my personal wish :) ie. If you use GPLv3.0 code within your service and distribute your product/service, then the license would expect you to OS the whole code. It may not be fair, but it is what it is. Also, if you do it anyway, then the original author may not sue you just because many of them IMO do not know the difference between GPLv2.0 and GPLv3.0 and adopt a higher version believing it is better. However, if your competitor finds out there is a remote probability that they may sue or expose you.

  4. A bit of history on why GPL3.0 was created. Suse Linux signed an agreement with Microsoft to settle all the lawquits when MS sued them for violating their patents in the OSS code. By enforcing GPL3.0 into OSS software the OSS community forced MS to abandon suing other Linux vendors. ie. If they extended the OSS code elsewhere they had to open their code.

Disclaimer: I am not a legal expert, so enquire a lawer who specialises in it (we did).

@vijayaparthiban
Copy link

@imagtek Know the version of your license. Is it GPLv3.0? If so, it may not forgiving unfortunately. If you use it within your service, it may affect all the code.

@imagtek
Copy link

imagtek commented Mar 23, 2022 via email

@DaanBiesterbos
Copy link

@DaanBiesterbos Looking at your reply just now. Let me breakdown your comment into a few bits and pieces.

  1. Let's say I need a microservice to manage users within my organisation....
    This falls in a grey area. ie. If you use the microservice -within- your organisation, you may not be distributing. If you use it to sell your service/product externally, then your are distributing.
  2. Secondly, I agree with your whole comment from a fairness point of view. You are 100% correct and there is bunch of OSS licenses that are fully supportive of that (eg, Apache License 2.0 is just fine)
  3. My original comment mainly applies to a few restrictive OSS licenses such as GPLv3.0 or Affero GPL. I still standby by comment unfortunately (it is not my personal wish :) ie. If you use GPLv3.0 code within your service and distribute your product/service, then the license would expect you to OS the whole code. It may not be fair, but it is what it is. Also, if you do it anyway, then the original author may not sue you just because many of them IMO do not know the difference between GPLv2.0 and GPLv3.0 and adopt a higher version believing it is better. However, if your competitor finds out there is a remote probability that they may sue or expose you.
  4. A bit of history on why GPL3.0 was created. Suse Linux signed an agreement with Microsoft to settle all the lawquits when MS sued them for violating their patents in the OSS code. By enforcing GPL3.0 into OSS software the OSS community forced MS to abandon suing other Linux vendors. ie. If they extended the OSS code elsewhere they had to open their code.

Disclaimer: I am not a legal expert, so enquire a lawer who specialises in it (we did).

Thanks. Sounds like a license to stay far away from. Guess we have microsoft to thank for it.

@imagtek
Copy link

imagtek commented Mar 23, 2022 via email

@Kylejustknows
Copy link

The product I am distributing is a “cloud virtual server” (Windows 2012) with a “GPLv3.0 tool” pre-installed on the desktop.

Should I make my whole product (Windows 2012 disk image at the backend) GPLv3.0 open source?
Where can I get the Windows2012 source code, please? Need help!

@vijayaparthiban
Copy link

@Kylejustknows I am not sure if you are really serious... Windows 2012 is Microsoft's proprietary product. Someone who uses your GPLv3 tool can get just the tool from you and install the OSthemselves. You should not distribute the Windows image as it must have a specific product key...

That said, it is possible to distribute the Windows 2012 image with a pre-installed product, just in the same way like the laptop vendors do. They pay MS directly and sell the OS pre-installed along with other bloatware :) Each image carries a different product key. It is legal in this way.

It seems I keep tracking this thread for years :) But I am happy to respond...

@pedro15
Copy link

pedro15 commented Mar 22, 2023

So if i use a plugin that uses this lisence in my privative closed source android application, i have to make open source just the modifications that uses the plugin, right?

or i'm breaking the rules and i need to make the whole thing open-source??

@RogerInHawaii
Copy link

If a company develops a 3D printer that uses Open Source software (under the GPL3 license), such as the Merlin code that's used with many commercial 3D printers, and the 3D printer hardware includes a patented addition that provides some unique feature, with modifications to the Merlin code handling the processing of that patented unique piece of hardware, I understand that the modified Merlin code needs to be made available as Open Source code, but does that have any impact on the patent that covers the unique hardware? Can the company still enforce its patent rights and prohibit other companies from building a similar printer that includes the patented part?

@vijayaparthiban
Copy link

Looking at the messages just now...

@pedro15 If your android app is for private (?!) use, you are not distributing. If you pu it in the Google Play store (for instance), you are distributing. One of tackling this situation is to force the user to install the plugin after the instalation. Then you are not distributing anything and what the user does is none of your concern.

@RogerInHawaii In your case, it is important to know what you are patenting. Is it the unique hardware part? Even if you open source your software, your patent would protect the hardware design. As for the software side, any unique addition that you offer with OSS GPV3.0 must be open source. Patenting that part is difficult and even if you do, enforcing or protecting it would be difficult.

Disclaimer: I am not a legal expert, get advice from an IP lawer.

@obriat
Copy link

obriat commented Nov 17, 2023

@hoang-innomizetech

All code linked with GPL 3.0 source code must be disclosed under a GPL 3.0 compatible license.

There's is no such text on the linked page, where did you see it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment