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?

  • 3
    So how / from whom did you obtain the programme in the first place? – planetmaker Feb 3 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 3 at 12:22
  • 14
    How 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 4 at 0:29
  • 2
    @gidds "Did you remove any copy protection" Section 3: "you waive any legal power to forbid circumvention of technological measures" – lights0123 Feb 4 at 21:13

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.

  • thank you! The source code is on GitHub so I legally obtained it :) – AlessandroF Feb 3 at 13:25
  • 2
    Another 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. – Jan Dorniak Feb 3 at 20:18
  • 3
    It'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 4 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 5 at 3: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.)

  • 1
    I guess they distribute the software that runs but won't do anything unless you either log in, or type a license key. – user253751 Feb 3 at 22:27
  • 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 4 at 6: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 4 at 6: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 4 at 6:59
  • 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 4 at 7:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.