The original program is open sourced under GPL v3, but asks for a fee to use it. I did not pay for it, but I'd like to share the no-fee version I compiled with my college friends (obviously under GPL v3). Can I do that?
-
3So how / from whom did you obtain the programme in the first place? – planetmaker Feb 03 '21 at 12:12
-
1@planetmaker the program was open source, I removed the obligation to pay and compiled it. So now I have a .exe which is free to use. – AlessandroF Feb 03 '21 at 12:22
-
14How is that ‘cracked’? Did you remove any copy protection? Add any secret information such as private keys or tokens? Break the terms of the licence (GPL3)? If the answer to all of those is ‘No’, then I can't see how you could justify calling it ‘cracked’. – gidds Feb 04 '21 at 00:29
-
2@gidds "Did you remove any copy protection" Section 3: "you waive any legal power to forbid circumvention of technological measures" – lights0123 Feb 04 '21 at 21:13
2 Answers
The GPL allows any use, including commercial use. And the author or distributor is not required to provide sources to anyone, but only to those which he distributed to the programme in binary form.
However anyone who obtained the binary of a GPL-licensed programme legally, is entitled to receive the source code. And the GPL license allows to make modifications as long as they are clearly marked and attributed and the modified version does give credits whom credits are due (thus copyright notices must be retained, but can be ammended).
Thus if you obtained the source code under a GPLv3 license, you are totally allowed to modify it, use it in compiled and/or source form as you see fit. You can also distribute it as long as you abide by and fulfill your obligations as stated in the license itself, namely to also make available the source to your modified version at least upon request to the recipients of your modified binary version.
That would be difficult, if you just hacked the executable instead of modifying the source and compiling that - and then you'd probably be in a grey area.
Mind though, just because a previous version of a programme was licensed and distributed under GPL, does not mean that the currently-distributed version by the original author is distributed under GPL. Whether or not a license change is allowed depends on who holds the actual copyright.
A famous example where a license key restriction was introduced in GPL-licensed code is rhodecode which hence was forked under the name kallithea which removed the license restriction introduced at that point and kept the programme free and open-source. Since then, rhodecode reverted its decision at least partially.
- 11,042
- 1
- 28
- 47
-
thank you! The source code is on GitHub so I legally obtained it :) – AlessandroF Feb 03 '21 at 13:25
-
2Another pretty known example is Microchip's fork of GCC for their PIC microcontrollers. It's mostly free, with some features requiring a fee (most notably an alternate instruction set which greatly lowers the resultant code size). However the workarounds are easily found online, the AUR package even includes them by default. – jaskij Feb 03 '21 at 20:18
-
3It's probably worth including a copy of your modified source code with the binary when you share that, so that you don't give yourself an obligation to supply the source code later on request. – bdsl Feb 04 '21 at 13:46
-
1@AlessandroF Just because you can download it does not mean you can legally modify it. Check that the license (usually in a README or COPYING or LICENSE file) of the version you modified is still GPL3. If not you need to checkout the last commit that still had the GPL3 license - that version would be legal for you to modify and distribute – slebetman Feb 05 '21 at 03:38
tl;dr: Yes, you can.
"The original program is open sourced under GPL v3, but asks for a fee to use it."
This doesn't make any sense. If the program was distributed to you (in either binary or source form) under the GPL, then you have a license to use it without paying any kind of fee. Once the software has been licensed to you under the GPL, this permission cannot be revoked unless you violate the terms of the GPL.
From Section 2 of the GPLv3:
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program.
You are additionally allowed to change it and use said changed version without any further restrictions:
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force.
You also have a license to distribute said changed version of it to whoever you want without paying any sort of fee, so long as you continue to license said distribution under the GPL (same version or newer) and preserve the copyright notice. If you distribute a compiled version of it, you're required to also make the source code available to whoever you distributed it to, also under the terms of the GPL. These rights are covered in Sections 5 and 6 of the GPLv3 (or Section 4 if you're distributing a verbatim [unmodified] copy.)
It sounds like whoever distributed this to you under the GPL didn't understand the GPL. Or hoped you didn't.
So, in short, yes, you can modify it to remove the part asking for payment and you can additionally distribute the modified version of the work - in either source or binary form - to anyone you want, so long as the distribution remains under the terms of the GPLv3 (or newer.)
- 221
- 1
- 6
-
1I guess they distribute the software that runs but won't do anything unless you either log in, or type a license key. – user253751 Feb 03 '21 at 22:27
-
Having a license to do something doesn't mean you might not need to pay a fee to do it. For example, I obtained a license to show a Monty Python movie commercially. I still had to pay to rent the place to show it, pay to obtain a legal copy of the movie, pay for electricity, and so on. All the license does is stop me from being charged with copyright infringement for showing the movie to the public. Similarly, all the GPLv3 does is stop you from being charged with copyright infringement for using it, which you can't be anyway since use isn't restricted (see 17 USC 106). – David Schwartz Feb 04 '21 at 05:42
-
2@DavidSchwartz When software is distributed to you under a license, then you have the right to do whatever said license says you can do with it in exchange for whatever consideration was given for said license. In the case of the GPL, that consideration is explicitly $0 and agreement to the distribution terms. You cannot be charged any additional fee to use it once it has been legally distributed to you under the GPL. It's true that you may incur other costs related to its use (e.g. cost of a computer, electricity, etc.,) but that's irrelevant to your permission to use it. – reirab Feb 04 '21 at 06:14
-
2@reirab Sorry, what stops you from charging an additional fee to use it? Nothing in the GPL prevents you from doing that. In fact, the GPL explicitly allows you to modify the software however you want, including putting in enforcement of a fee requirement. – David Schwartz Feb 04 '21 at 06:25
-
4@DavidSchwartz "You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License" - Section 10 of the GPLv3 – reirab Feb 04 '21 at 06:59
-
@DavidSchwartz And, equally importantly, as described in the answer, any distribution you make of the software must itself be made under the GPL and, thus, convey the right to change the software in any way and to distribute said changed version to anyone under the terms of the GPL. So, sure, you could add something to try to enforce a fee you're not allowed to require, but the person you distribute it to is free to simply remove that code and redistribute as they please. And, if you try to stop them, you've violated the license and your own license to the software is terminated. – reirab Feb 04 '21 at 07:02
-
3@reirab That is not a restriction on the exercise of any of the rights granted or affirmed under the license. The fee is not for any license, nor is it a royalty. It's not a fee for any right granted under the license. If you think it is, state what right granted under the license you think it's a fee for. (If you think it's a fee for the using the software, a right granted under the license, you're wrong. See 17 USC 106.) – David Schwartz Feb 04 '21 at 07:10
-
@DavidSchwartz A fee to use software is pretty much the definition of a software license fee, which the GPL v3 explicitly prohibits you from charging. You are allowed to charge a nominal fee for the actual conveyance (i.e. cost of media and postage or server operation, etc.,) but you are not allowed to charge a fee to use the software once it has been conveyed. Any attempt to charge such a fee renders your own license to the software void and any further distributions you attempt to make of it constitute copyright infringement. – reirab Feb 04 '21 at 07:13
-
-
Do note though that I can write a piece of software and release it under GPL3 and a proprietary license since I am the original author of the software. Just because you bought a software then notice that there is a GPL3 version does not mean the software you bought is also under GPL3. You are of course free to download and compile the GPL3 version of my software. There are lots of industrial libraries out there with dual license and other companies pay for them to avoid linking to GPL code. – slebetman Feb 05 '21 at 03:44
-
Side note: one of the most amusing dual license is the license for JsLint. The license simply says that JSLint must be used for good, not evil. IBM wrote to Crockford asking for exemptions to the license. So just for IBM and their customers Crockford released JSLint that may be used for evil purposes – slebetman Feb 05 '21 at 03:48
-
@slebetman Yes, that's very true, but OP's question asks about receiving it under GPL. If it were a dual-license piece of software receiver under the commercial license option, then the answer would be different and would depend on the terms of that non-commercial license. Though you could still just download the GPL-licensed version, remove any paywall, and redistribute it under the GPL unless your commercial license for some reason forbids you from also using the GPL version. And that's hilarious about IBM needing a license for evil. That sounds more like something Apple or Facebook needs. – reirab Feb 05 '21 at 16:13