From the OSI’s OSD:
- Free Redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
and
- Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
If the license is GPL then point 3 would suggest that derived works must be distributed under the GPL too, which is the intention of such a ‘viral’ license. Taken together with point 1 though there seems to be a contradiction, as the GPL specifically restricts you from selling the software.
As the OSI lists the GPL as OpenSource I must be missing something. Can anyone explain?
EDIT:
The FAQ section of the OSI site seems to speak to this issue but I am still unsure about their answer. I think this should mean that you can use GPL code in software that you sell as long as you also provide on request the new source code. However section 9 says:
- License Must Not Restrict Other Software
The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
Is the distinction here that derived software must be under the same license (point 3) but ‘packaged with’ is ok to be under a different license? I’m not quite sure what “distributed on the same medium” means.
5
The GPL does not restrict you from selling software. It explicitly allows you to do so. Section 4 of the GPLv3 reads:
You may charge any price or no price for each copy that you convey
The recipient then receives the same rights, so they can also choose to give the software to another person for a price, for free, or keep it for themselves. The price they charge is completely independent from how much they paid for their copy. This is also explained in the section “Does the GPL allow me to sell copies of the program for money?” of the GPL FAQ
Regarding “9.License Must Not Restrict Other Software”: The GPL doesn’t do this. It is only “viral” in the sense when GPL code is combined with other code to create a new piece of software. But as long as a GPL and a non-GPL program stay independent programs which can run independently, neither affects the license conditions of the other and they can be distributed together on the same medium. The GPL FAQ says about this case:
in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.