I've noticed that the jQuery plugin "Fancybox" has a peculiar licensing note in its header:

// Licensed GPLv3 for open source use
// or fancyBox Commercial License for commercial use
// http://fancyapps.com/fancybox/
// Copyright 2017 fancyApps

I get what the author is trying to achieve. They want to allow non-commercial use for free and charge for commercial use. I have been looking for a way to do just that for some of my code as well.

However, can you really restrict the GPLv3 (or MIT for that matter) to a set of conditions (open-source/non-commercial) when GPLv3 itself explicitly permits commercial use? This seems to be a bit of a conflict. Not to mention that someone could fork the code and release it under GPLv3 without those restrictions, if I'm not mistaken.

Would there be a better alternative to achieve this?

  • "They want to allow non-commercial use for free and charge for commercial use" - although some developers would like that, that isn't the OS distinction. See this answer. Open Source is about keeping software free, not from preventing anyone anywhere from making money using it. Commented Nov 6, 2021 at 23:28

1 Answer 1


The natural interpretation of such a license declaration is that they are dual licensing their work:

  1. You can use and distribute it under the terms of the GPL3, which because it is a copyleft license means that your derivative work must also be licensed under the GPL3, so you must make your source code available etc.

  2. Or, you can buy a commercial license which does not require you to openly license or publish your work.

Both options allow you to sell your software. The difference is whether you have to do so under the GPL or not.

If they had said "GPLv3 for non-commercial use" you would be right that there would be a conflict. But the way they have written it is perfectly in line with how the GPL is intended to be used.

  • I see. However thinking about how GPLv3 applies to front-end code gives me a headache. (For context: I make Bootstrap templates which consist of HTML/JS/SCSS code. So it's similar to what the author here does.) Commented Jul 25, 2017 at 11:45
  • @AlexanderRechsteiner Indeed, how it applies to non-compiled languages in general can be messy. Commented Jul 25, 2017 at 11:52
  • 2
    @AlexanderRechsteiner: That would probably be a good topic for another question (if it hasn't been asked here yet), but in general, the main things to keep in mind about the GPL and front-end code are that 1) yes, sending the code to the client generally counts as distributing it, and 2) minified, preprocessed or obfuscated code normally counts as "object code", not as "source code", under the definitions used in the GPL (which defines "source code" as "the preferred form of the work for making modifications to it"). Commented Jul 25, 2017 at 16:10
  • @curiousdannii If I want to use said tool in an Apache License v2.0 tool, I obviously can't use the GPLv3 version, but can I buy it and then include it in my software? Or is that not possible because it's licensed under Apache License v2.0?
    – Baz
    Commented Sep 13, 2017 at 10:30
  • @Baz You'd have to ask them, their commercial license could have any terms they wanted. Commented Sep 13, 2017 at 10:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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