Question

I developed a client-server application in Java. I want to distribute the client side using a zip file containing a jar for my program and Qtjambi jars (LGPL) placed in a different directory. On the server side I have a servlet that communicates with a MySQL database using mysql connector (GPL). Under which licence to I need to release my software? Do I need to make my source code public?

Thanks a lot in advance Rossella

Was it helpful?

Solution

You don't have to make your source code public. You can release the client under any license you want.

The LGPL allows dynamic linking to software under a different license. Using it as a library in a separate directory fulfills this criteria. Just remember to put a text file with the GNU LGPL into the library directory and mention where the sourcecode for the LGPL library can be found.

The GPL, however, does not allow dynamic linking. So when your server includes GPL software, you can only distribute it under the GNU GPL. But as long as you use your server yourself, you aren't distributing it. The GPL only applies to the distribution of software. You have absolutely no obligations as long as you keep the software to yourself. Having people connect to your software via network is no form of distribution according to the GPL, because the GPL software doesn't leave your hardware.

There is also a license called Affero General Public License (AGPL) to close this loophole by requiring that people who use the software over a network gain a license, but the vanilla GPL doesn't require anything like that.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top