Jump to content
  • Advertisement
Sign in to follow this  
Alessandro

Clarification about GNU General Public License (Version 3)

This topic is 2539 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'd like to ask if an open source code application declared as

"... It is free software and can be redistributed and modified under the terms of the GNU General Public License (Version 3) as provided by the Free Software Foundation.",

after being modified and integrated in another application framework could be sold, or is violating the above License.
I've been reading the License but I don't understand all the english written there.
Thanks

Share this post


Link to post
Share on other sites
Advertisement
I think I found the answer browsing the GNU web site itself:

"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? (#GPLCommercially)
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.
These requirements are the condition for including the GPL-covered code you received in a program of your own."



However, how the new code should be made available? Bundled with the compiled (and not free) code? On a GNU repository such as SourceForge?

Share this post


Link to post
Share on other sites

I'd like to ask if an open source code application declared as

"... It is free software and can be redistributed and modified under the terms of the GNU General Public License (Version 3) as provided by the Free Software Foundation.",

after being modified and integrated in another application framework could be sold, or is violating the above License.
I've been reading the License but I don't understand all the english written there.
Thanks


Selling GPL software is perfectly fine, just remember that you have to provide all the code under the GPL aswell which allows your customers to build their own version of the software and give it away or sell at a lower price.

Share this post


Link to post
Share on other sites
However, how the new code should be made available? Bundled with the compiled (and not free) code? On a GNU repository such as SourceForge?

It doesn't matter how. Look, for example, how EA Games is providing its modifed GPL code: http://gpl.ea.com/
If the source code is small in size, just provide archive together with binary/other code. If it's not convienient, provide it on website, or provide diff patch file.

Of course you can even provide it as a service where you mail it printed out by snail-mail. But that wouldn't be very cool from your side.

Share this post


Link to post
Share on other sites

[quote name='Alessandro' timestamp='1325168184' post='4897788']However, how the new code should be made available? Bundled with the compiled (and not free) code? On a GNU repository such as SourceForge?

It doesn't matter how. Look, for example, how EA Games is providing its modifed GPL code: http://gpl.ea.com/
[/quote]

WARNING!

Note on the EA code that the libraries are the LGPL licenced Webkit and QT libraries.

On the surface the LGPL is similar to the GPL, but in the details they are radically different.



LGPL != GPL

LGPL lets you use the library in a closed program. You can include an LGPL library and only make the library available.

GPL affects the entire program. If you incorporate a single line of GPL code you need to make your entire application available.



GPL is considered "viral", it infects your program. The LGPL is not viral, it only applies to the library being used and does not spread.

Share this post


Link to post
Share on other sites

Of course you can even provide it as a service where you mail it printed out by snail-mail. But that wouldn't be very cool from your side.


Actually the license states that the source-code should be machine readable and if distributed physically it has to be on a durable medium customarily used for software interchange. (So sending a CD via snail-mail is ok, printed on paper is not).

Share this post


Link to post
Share on other sites
See http://www.gnu.org/l...PAndSendSources and http://www.gnu.org/l...nloadGetsSource . It says the source doesn't have to be bundled with the binary, or even on the same server, as long as it is available online.

All licences (including proprietary) are "viral" in the sense that if you distribute someone else's code in your product, your product has to abide by any of those licences.

If the source code is small in size, just provide archive together with binary/other code. If it's not convienient, provide it on website, or provide diff patch file.
Of course you can even provide it as a service where you mail it printed out by snail-mail. But that wouldn't be very cool from your side.
Actually, to add to SimonForsman's reply, my understanding is that if you distribute the binary online, you have to provide the source online - from the link above: "Can I make binaries available on a network server, but send sources only to people who order them? If you make object code available on a network server, you have to provide the Corresponding Source on a network server as well".

I believe the "offer" to send out source on request only applies when distributing binaries via physical media.

Share this post


Link to post
Share on other sites

All licences (including proprietary) are "viral" in the sense that if you distribute someone else's code in your product, your product has to abide by any of those licences.


When people say that the GPL is "viral" they refer to the 5.c clause;
You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.[/quote]
Which essentially means that if you use GPL licensed code in your own software then the GPL "infects" your code aswell. This is a good thing for the end users but as a developer GPL licensed code is not "gratis", you pay for it with your own code. (There are plenty of business models where using GPL licensed code to save development time is a great idea, Selling copies of games is not one of those business models though)

Share this post


Link to post
Share on other sites

[quote name='mdwh' timestamp='1325254932' post='4898136']
All licences (including proprietary) are "viral" in the sense that if you distribute someone else's code in your product, your product has to abide by any of those licences.


When people say that the GPL is "viral" they refer to the 5.c clause;
You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.[/quote]
Which essentially means that if you use GPL licensed code in your own software then the GPL "infects" your code aswell. This is a good thing for the end users but as a developer GPL licensed code is not "gratis", you pay for it with your own code. (There are plenty of business models where using GPL licensed code to save development time is a great idea, Selling copies of games is not one of those business models though)
[/quote]

Yes, that is the viral part. It is the most critical difference between GPL and LGPL.



LGPL you can use the library in the closed source without a problem. Many companies (including EA as shown earlier) do this. Webkit is a common LPGL inclusion.

GPL you cannot incorporate even a single line of it into your source code and still keep it closed source. If a game company (such as EA) were incorporate even a single line of GPL code into their released games they would also need to release the source code of the entire game.



You can develop tools and other unreleased stuff internally with GPL components. As long as you never release the product you never need to distribute the source. :-)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!