I want to ask whether any materials that has “Free for non-commercial use” license can be used in a GNU GPLv3 licensed software.
In my opinion, it is “free for non-commericial use”, and GNU GPLv3 is also non-commericial, so it can be used in the software, is it?
I’m asking this question because there are no explicit or clear declaration about “FREE FOR NON-COMMERCIAL USE” license out there….
1
Definitely not. GPLv3 allows for both commercial and non-commercial use. Other than the license itself, which does not restrict commercial use, see this GPL FAQ answer:
Q: If I use a piece of software that has been obtained under the GNU GPL,
am I allowed to modify the original code into a new program, then
distribute and sell that new program commercially?A: You are allowed to sell copies of the modified program commercially,
but only under the terms of the GNU GPL. Thus, for instance, you must
make the source code available to the users of the program as
described in the GPL, and they must be allowed to redistribute and
modify it as described in the GPL.
Also there is this page about selling free software, which is not talking about the GPL specifically.
3
There can’t be. GPL is a Free Software license; a “free for non-commercial use” license is not, because it restricts commercial use, and such a restriction is a violation of the Four Freedoms. (In case you’re wondering, here’s a definition of Free Software).
GPL (all varieties, really) were designed specifically to ensure that the software is and remains Free; the viral nature of it is a direct consequence of making sure that it is possible to build upon GPL-licensed works without impacting its free-ness. Unfortunately, this also means that if you want to (or have to) release under GPL, you cannot restrict the license to non-commercial use, and you cannot forbid the use of the software for, say, military, espionage, executing death sentences, running nuclear facilities, clubbing seals, hunting whales, or destroying rainforests. By contrast, the MIT license allows reuse as part of a non-free work; while the original work is free, the derived work may not be, and such a derived work can add such restrictions to its license, as long as it adheres to the original work’s requirements (typically, attribution).
https://www.gnu.org/licenses/license-list.en.html#CC-BY-NC also contains a quote of interest which states the general view of the GNU project towards NC:
Creative Commons NonCommercial, any version
This license does not qualify as free, because there are restrictions on charging money for copies. Thus, we recommend you do not use this license for documentation.
In addition, it has a drawback for any sort of work: when a modified version has many authors, in practice getting permission for commercial use from all of them would become infeasible.
That page seems to imply that non-free means not compatible with the GPL in their view, e.g. “GPL-Compatible Free Software Licenses”.
You are free to build an application combining GPL licensed code with code licensed under some license X, as long as license X allows it. You can pass it to someone else if both licenses allow it. In your case, first you can’t give the application to someone using it commercially, because X disallows it. That would be no problem on its own, because GPL doesn’t force you to give your application to anyone.
However, if you give the application to anyone, it must be accompanied by the GPL license. Which means the receiver can give it to anyone. But it would be extremely unlikely that X allows this, so you can’t allow the receiver to pass the application to someone using it commercially, so you can’t accompany the application with the GPL license, so you can’t distribute it.
If you create an application with two incompatible licenses, then you can’t distribute it.
Short answer: No. The GPL requires you to re-use the same license as the cost of making a derivative work. If you also attach a “no commerical use” rider, you are not re-using the same license.
Longer answer: Yes, but. If you have the right to dictate the terms of license for your entire project — i.e., you could license it 100% closed source — you could release your code jointly under both licenses. The “no commercial source” library would maintain with itself and attach to your program, while the “copyleft” of the GPL would attach to all of your original code and anyone else’s derivations thereof.
Be aware that this is NOT what Stallman and the FSF intended the GPL to be used for. And the license for your “no-commerical use” library might not include “re-license your own project” in their description of “use.” While I am confident enough to say “it’s possible”, with the condition that you are not compelled to use the GPL, I would be remiss if I did not tell you in no uncertain terms that you should get a professional opinion.
The interplay of licenses is a complicated legal issue. ASK A LAWYER if you are using anyone else’s GPL’d code!!!
6