Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

From the OSI's OSD:

  1. 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

  1. 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:

  1. 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.

share|improve this question
1  
GPL specifically restricts you from selling the software” – it does not. IIRC, it doesn't even require you to share the source code free of charge. It does however require you to to make the modified source accessible if you distribute modified versions (e.g. selling binaries of a modified version). It just happens to make no economic sense to sell open source software, as a bought copy can be redistributed itself without further restrictions; open-source companies sell related services instead. –  amon Mar 12 at 10:20
5  
What in the GPL restricts the sale of software? –  Thomas Owens Mar 12 at 10:30
    
@amon I think you may have found the issue with my understanding. Is it true that the GPL does not stop you from requesting people pay for the derived work if they also request the source code you have to provide it? –  Encaitar Mar 12 at 10:38
2  
@Encaitar yes, you either have to distribute the source directly or make it easily accessible. The central point of the GPL is that any user can see how your program works, and that he can make and distribute derived works of their own – free software as in freedom of speech. That free software happens to often be free of charge is a side effect of this: If you sell me your GPL-licensed software for 100€, I am free to resell copies for 50€. So you wouldn't sell the software itself (anyone can undercut your price), but services around that software (setup, support, bugfixes, warranties, …) –  amon Mar 12 at 10:59
    
@amon. I think your comments almost comprise an answer. The last point was just the 'package with' distinction. From my understanding now, static or dynamic linking to non GPL'd code is not allowed in GPL but is allowed in LGPL. Although I conceed that that is probably a separate question, and judging by the different answers on programmers.stackexchange.com/questions/167773/… it is one of those, you have to go to court to find out what the law is kind of questions. –  Encaitar Mar 12 at 11:18

1 Answer 1

up vote 2 down vote accepted

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.