(Written against GPLv2.)
It is always said that GPL does not prohibit selling the software, as long as its source code is provided under the same license (GPL). Now, I do not understand how it is consistent with Section 2b:
You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
I don’t get it. Does not this clause prohibit selling the software? If not, then what exactly does it trying to say?
EDIT: Following the answers below, I wish to note that answering a question “everyone says that GPL says A but this part of GPL says B, how is it?” with “everyone says A so GPL must mean A” is not an answer.
3
I am not a lawyer either, but here’s how I see it:
A sales agreement is a contract between you (the first party) and the buyer (the second party). The clause you have quoted says absolutely nothing about anything that happens between the first party and the second party.
What the clause does say is, the program itself must be available free of charge to all third parties, i.e. anyone who has not entered into a sales agreement with you. So, if the program is the only thing you’re actually selling, there is no incentive whatsoever for me to enter into a sales agreement with you and pay money for it when you’re required to give it to me for free. If I’m the kind of person who wants to pay for it, great, but you’ll probably go out of business if you rely on finding that kind of person.
So, in order to induce me, a third party, to become a second party and enter into a sales agreement with you, clearly you should be offering some added value; warranty, support, installation services, hosting, etc.
1
Disclaimer: I’m not a lawyer
(section 2a)
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
This indeed confirms that you may charge a fee in some cases. e.g. warranty protection.
Since “you” refers to any licensee, this means anyone who licenses the program may do so. Any licensee who wishes to become a “warranty seller” can.
(section 2b, emphasis added)
You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
This means that every licensee must not charge to license the program. However, you may still charge for warranties, etc. Provided you also offer a version of the program without that warranty.
As for the physical transfer fee, that might be an issue. However, since the licensee can freely distribute it, only one person would be required to pay that fee – then that person could redistribute it to others for free.
This section might be problematic:
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
If I understand this correctly, that means that artwork etc. may not be GPLed, but when distributed as a whole, then it must be GPLed.
This means that a game that’s distributed “as a whole” must include the artwork as GPL.
If you can’t license the artwork as GPL, then the GPLed portions of the game can’t be distributed as a whole either. For this situation, dual-licensing seems to be the only option.
My understanding of what a “whole” is is kind of fuzzy, though.
3
EDIT in response to comment. I Am Not A Lawyer. If you want a legal explanation about what each section in the GPL means, and how they interact, contact a lawyer in your jurisdiction. The answer below explains the overall meaning of the GPL as explained in the FAQ. My understanding is that this is correct in many jurisdictions (i.e. it has been tested in court).
Technically the GPL does not prohibit selling software. But it does require that any purchaser must be allowed to distribute the software to anyone else, free.
Clearly this requirement effectively prohibits many business models for selling software for a living! You may be able to make some money by selling other things along with the software: support, warranties, training, documentation, consultancy, hardware…
If you own the copyright on the software, you can dual-license it: sell a paid version under different license terms.
2