Login    Forum    Register    Members   Search    FAQ

Board index » Development » Project Announcements, Showcase and Developments




Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: GNU GPL questions
 Post Posted: Mon Jul 23, 2012 9:20 am 
Offline
User avatar

Joined: Sun Dec 16, 2007 9:14 am
Posts: 1579
Location: The Beautiful Pacific Northwest
Hi. I am looking at using an open source project but do not understand the licensing it is under. We plan on using the pre-compiled DLL of the project and at this point in time, don't plan on expanding it. The licensing is the GNU General Public License v3.0.

My question is, are we then required to give out our source code if we use this project?

Some people say if you use something with this license, then you, too, are required to give out your source code. Others say only under certain uses do you have to give out your source code. Some say the difference is based on if you use the project as a DLL (don't need to give out source code) or if you directly embed the source code in your own application's codebase (required to give out source).

We have multiple options at this time. We can use the DLL directly within our application and call it directly from there. If we have to give out our source code, then this won't work. So another option we can do is write a client GUI app that uses this DLL. This app will then communicate to our main application acting as a server. I don't mind giving the source code for the client App in this case. But if it communicates to our main application, do we then need to give out the code for our main application?

Thanks for any insight.

_________________
My quote: Have I mentioned I love C# and the iPad?
Another quote: Have I mentioned I love the iPad?


Top 
 Profile  
   
 Post subject: Re: GNU GPL questions
 Post Posted: Mon Jul 23, 2012 11:44 am 
Offline
SpeedGame 2012: Best of Show Dev
User avatar

Joined: Thu Jul 10, 2008 3:52 pm
Posts: 124
Location: Michigan
I have spent a good deal of time researching the GPL since the game engine I use (Blender) is licensed under the GPLv2. I have also read the GPLv3, and the main differences are that the v3 license has some special text about software patents and stops hardware manufacturers from locking out users from the ability to modify devices (this is a good thing... for example, it could prevent Android manufacturers from denying you the right to modify technology that you purchased).

Now to your questions: In the second part of your post, you are talking about a server/client architecture, so there are some important things you need to consider. The GPL only affects "distributing," "conveying," or "propogating" of GPL software. If you use the server option, you are not "distributing," "conveying," or "propogating" your server software to the end user, so the GPL does not require you to make the source available to them. Your server software is an "in-house" program, not intended for distribution. As long as the software runs only on your server and never runs on the end user's computer, then you can link a GPL library and no one can require you to share your source. The only way the GPL would ever apply to your server software is if you (the copyright holder) distributed it to someone else.

(The AGPL would require you to provide copies of the source code to users who interact with the program over a network, but from what you've said the library in question is not licensed under the AGPL.)

If you are linking the library in the client software, you are required to license the client software under a GPL3-compatible license. If you don't link the GPL library directly with the client, then merely communicating with the server would not be enough to require you to release the client source code.

Read this to understand the FSF position on this issue:
http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL

If you "statically link" a library (i.e., at compile time), the FSF considers the two to be functioning as "a single program." So they extend the GPL to the program that links the library by saying it must be licensed under a compatible license. They provide a list of compatible licenses somewhere, but suffice it to say, you would be required to release your source code and allow it to be distributed and modified freely.

According to the FSF, you can make exec and fork calls and allow simple communication between the GPL program and the non-GPL program.

The FSF claims that "dynamically linking" to GPL software also requires your software to be GPL-compatible. That is a ridiculously complicated and legally untested claim.

Read this to understand who decides how you can use a library:
http://www.gnu.org/licenses/gpl-faq.html#WhoHasThePower

The copyright holder and license issuer is the one who decides if you are violating the license. If the FSF holds the copyright to the library, then you should interpret the license the way they do. Otherwise, ask the copyright holder how you may use the library. You could try asking if they would be willing to grant you permission to use it under the LGPL, since that would allow you to keep your source closed.


Top 
 Profile  
   
Display posts from previous:  Sort by  
 
Post new topic Reply to topic  [ 2 posts ] 

Board index » Development » Project Announcements, Showcase and Developments


Who is online

Users browsing this forum: No registered users and 1 guest

 
 

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron