There are tons of questions like "Can I use GPLed code X in my commercial project?" but I found nothing which answers my question.

I take ExtJS as an example, but actually you can any commercial / community edition dual licensed software.

If I contribute to the community edition, isn't my contribution GPLed?
Even if my contribution was small (like a bug fix) how come they're allowed to sell it?

Disclaimer: I know, we're not lawyers. Just wondering.

  • 2
    Something to note about dual GPL/commercial software: Because GPL is "infectious" to any software containing GLPed code, sometimes simply having the software under a commercial license will be enough to charge money for.
    – Dan
    Commented Dec 2, 2014 at 3:24
  • how come they're allowed to sell it? Well, GPL gives them the right to sell it. The correct answer to the real question is given below, I just wanted to clarify that particular subquestion.
    – GnP
    Commented Dec 5, 2014 at 20:30
  • The point is, that they're selling it as non GPL. I'm aware of the fact, that you can sell GPLed software as long it stays GPL. But you're right, I should've added that point to my question.
    – Knickedi
    Commented Dec 5, 2014 at 21:00
  • 1
    @GlenH7 sorry, but how is this question a duplicate of mine? Maybe it relates but it's not the same. They are not just taking GPL software and resell / redistribute it. I can buy a license and keep everything I develop closed and don't even bother with GPL. That's something very different to me... (but maybe it's just me)
    – Knickedi
    Commented Dec 10, 2014 at 23:20
  • This question appears to be off-topic because it is about legal advice. Commented Dec 12, 2014 at 13:25

2 Answers 2


Software can be dual licensed if all the copyright holders agree. Most companies that have a dual licensed product and accept contributions have some form of contributor license agreement that must be accepted before you can contribute code. In the case of ExtJS, it says:

You hereby grant to Sencha and to recipients of software distributed by or on behalf of Sencha a perpetual, worldwide, non- exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.

You are giving them your code and the right to do with it whatever they want, including GPL license it, commercially license it, etc.

  • 7
    Yup, this is commonly called a Contributor License Agreement, and all dual-licensed software projects make sure to use one. Example links: ExtJS/Sencha, Qt. It's important to note that you can create a fork of the GPL'ed software without having to accept such a CLA, but agreeing to that additional license is necessary to get your contributions into the official project.
    – amon
    Commented Dec 1, 2014 at 21:08
  • I see. That makes sense. I thought about that but failed to find the information. Thank you both!
    – Knickedi
    Commented Dec 1, 2014 at 21:17

Dual licences

Software licences are not exclusive, you can give the same code to everyone under terms of licence A, and to some people (who pay you) under the different terms of licence B. Of course, that refers to your code. If other people develop and distribute additions to your system under the GPL, then you can always reintroduce them back to your system, but if you want to futher re-licence code developed by others, then you need their permission - such as the Contributor License Agreements that are used by some organizations.

You can sell GPL software

Also, GPL allows you to sell that software, and it doesn't require to offer the software to everybody. In essence, it requires to give a copy of the source code and the relevant rights when you distribute the code and nothing much else.

You can distribute GPL software to select paying customers only or request payment of $x per seat - with the caveat that you must give them the software, the source, and they gain the full GPL rights, including a right to use, modify and freely redistribute. This doesn't require any extra permissions - I am allowed to do that with your code that you published under GPL, even if I didn't contribute a single thing to it.

In practice this means that you need to offer a sufficient added value for people to keep paying you instead of obtaining the software from any of your customers (which are also allowed to resell it or publish it freely). It can be feasible if you sell it as a package that involves the GPL software and also some complementary services, consultations or support; others might redistribute the software but you can still charge a solid premium for the whole package.

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