This is the first time I have dealt with licensing issues so I am sorry if I am making any stupid assumptions. My issue is that I have written a program in Python that uses PyQT for the GUI and also uses another library licensed under BSD.

PyQT comes with GPL v2 and GPL v3 as well as a commercial license. From what I have read until now (including the GPL license), I understand that you can sell a software that is licensed under GPL. However, there is an issue if you're not the original author and you are reusing source code that is licensed under GPL. So here are my questions:

  1. In my case since I am using PyQT I believe that I should license my program under GPL as well? Also if this is the case I can sell my software provided that I release the source code as well right?

  2. If PyQT is released under GPL which as far as I understand gives you freedom to sell your software if you use the library why do they also provide a commercial license? Is it only for the case where you do not want to release the source code?

  3. Since I am also using a library that is licensed under BSD it is OK to license my software only under GPL and mention that my program uses this library in the License.txt and the About section of my program?


To answer the third question first, the fact that your program uses a library licensed with license X does not necessarily mean that your program must also use license X.
For permissive licenses, like BSD, you are completely free to choose a different license for your own code.
When the library uses a strong copyleft license, like GPL, then you can avoid a lot of legal questions and uncertainty by using the same license for your code.

The reason for this is because copyleft licenses require you to distribute the entire product that makes use of the copyleft licensed source under the copyleft license conditions. So, when you distribute your program, the GPL conditions of having to provide source code apply to both your code, the PyQT library and the additional BSD-licensed library that you use.

Neither the BSD nor the GPL license prevent you from asking money for your program, but they also don't forbid anyone to buy the program from you and redistribute it further without asking money for it.

The reason that PyQT is available both with the GPL and a commercial license is to make it possible to write commercial applications based on PyQT without having to release your source code.

  1. GPL nor BSD prevents you from selling your product
  2. GPL requires you to release everything under GPL, and make all source code available
  3. You can't change the license of the BSD licensed library to GPL

Conclusion: you can't release it as is.

As Bart hinted, you can get a commercial license for pyQT which would allow you to release it without putting everything under GPL. I'm not sure if that would clash with the BSD license but I doubt it.

  • 1
    The GPL doesn't require you to release anything. And it doesn't require you to make the source code available. It only says that if you distribute the software, then you need to make the source code available, but only to those people you distributed the software to. – Jörg W Mittag Mar 19 '14 at 15:34
  • @JörgWMittag the GPL requires you to make the source available if you make a binary available. And he's planning to sell the product, so he's going to make a binary available at the very least. – jwenting Mar 19 '14 at 15:35
  • But you only have to make the source code available to those people that you sold the binary to. You don't have to make it available to the public. (Of course, anybody that you made the source available to can then make it public, but you don't have to. You just can't prevent it.) – Jörg W Mittag Mar 19 '14 at 15:37
  • 1
    I disagree with point 3. I believe that you can release the BSD code under the GPL, since the point is that you can do anything with it you want (except claim it as your own original work). The important point is that even though you release it under the GPL doesn't keep that part of the code from still being available under the BSD license. Thus people could still continue to distribute the original BSD code under any license that they would like to. – Itsme2003 Apr 22 '16 at 6:55

Your Answer

