- So I want to use some code under GPLv3 for a project do we have to use GPLv3?
- The project I’m making costs money am I allowed to have free GPL code in a paid project?
- Do I have to make my source code on GitHub or can I have it so they have to buy it to get it/request it?
1 Answer
Basically, yes, you do.
It is absolutely fine to sell GPL-covered code, but you must deliver freedom along with the binary. That is, you must deliver the complete corresponding source also, and both source and binary must be covered by GPLv3, which will allow recipients to share them (whether modified or unmodified) with others, on those same terms. Note that, as Gnasher729 points out below, though you may charge for the binary, you may not charge extra for providing this source, except in one case, where you may only charge on a reasonable-cost-recovery basis.
GPLv3, like GPLv2 before it, requires only that source be available to those who have received the binary, so no, you don't have to put it on GitHub. GPLv2 (s3b) was OK with simply offering source to any of your customers on request; GPLv3 in s6b restricts that option to people who ship software inside physical products, so unless you're doing that, you will need to provide source to all customers who purchase the binary.
For the avoidance of doubt, note that you are not allowed to try to contractually restrict what source recipients can do with that source - they must get it under the terms of GPLv3, and that (in s10) says that other restrictions can be ignored.
-
You should add that you can charge any amount you like for the software, but only reasonable cost for providing the source code. So you can't sell the software for $10 and then charge one million dollars for the source code (in order to get around GPL). And you can ALWAYS distribute the software with the source code, and then you have fulfilled your duties - you can ignore anyone else who wants the source code. That may be easier for you. Oct 13, 2021 at 7:15
-
@gnasher729 I had thought that was already implicit in my s2, but in the light of your comment I will make it explicit; thank you for that! The latter part of your comment I have already covered in s3 para 1.– MadHatter ♦Oct 13, 2021 at 7:19