Question

I'm busy writing an application and I'm not sure if I should use LGPL or GPL (or maybe something else). Here are my restrictions:

  1. My application is open-source. I don't really care how people use my code as long as their code is also open-source. If they want to use my source code for a non-open-source application, they have to contact me first.
  2. I'm using external libraries which are under GPL, LGPL and IDGAFL (aka "I don't give a f*k license"). For most of the libraries I directly include their source code in my application. In very few cases I use their pre-built libraries and link to them.
  3. For the above libraries: I have a repository with all source code (including the libraries' code) and the .so/.dylib/.dll if I link to them.
  4. I have an executable that I release together with the pre-built library. Non-pre-built libraries are obviously included during compile-time in the executable.

Which license would be the best? Also for some of the libraries I change a bit of their source code to fit my application. These are not any major changes to the code itself, but changes to include statements, file extensions, etc, eg:

From (original library):

#include "libx/libx.hpp"

To (my changes):

#include "external/libx.h"

Note the different location and extension. Is this allowed?

Was it helpful?

Solution

You must use GPL if you are using libraries that are GPL.

I can't find it now, but it was on GNU page.

OTHER TIPS

per FSF if you are linking against external GPLd libraried, you must be GPLd yourself.

edit (comment): with that said, one could make an argument if you are only dynamically linking against said GPLd libraries, and not providing them, one doesn't need to. However, This isn't the FSF's position, but no one I know of has ever legally challenged their interpretation.

http://en.wikipedia.org/wiki/GNU_General_Public_License#Libraries has some of the discussion.

Item (1) above locks you into GPL. If you use LGPL you are allowing others to link up with your code in ways where they can write commercial software or just non-GPL software. So, basically, if you want absolutely everything written based on your code to also subsequently be open source, then you must use GPL.

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