3

I am not good at Licensing issues. So my question -

If my program is using these libraries (only linking like -ludev, -lblkid, -lcrypto, -lssl, -fopenmp) -

  • libudev (LGPL version 2.1 of the License, or any later version).

  • libblkid (LGPL version 2 or any later version).

  • libcrypto and libssl (part of OpenSSL, and OpenSSL stays under a dual license- OpenSSL license and Original SSLeay License - https://github.com/openssl/openssl/blob/master/LICENSE)

  • fopenmp (part of GCC, but GCC is a compiler with GPL 3+)

Can I make my code closed source? Or Do I have to make it open source?

If any of these has a problem to make my program closed source then please suggest me alternative libraries for that.

  • Are you statically or dynamically linking to libudev and libblkid? – Thomas Owens May 11 '16 at 12:21
  • I am linking dynamically to libudev and libblkid. – rrsuj May 11 '16 at 13:14
1

Can I make my code closed source? Or Do I have to make it open source?

In general if you use unmodified LGPL-licensed libraries and dynamically link with them, you can use any license you want for your own code. If you redistribute these LGPL-licensed libraries then the LGPL applies to these libraries of course.

There are no issue with linking with OpenSSL.

For OpenMP, if this is code that is part of the GCC runtime, then this is likely not GPL-licensed, but rather would likely be using the GPL with the GCC exception which is essentially equivalent to the LGPL.

If instead this is plain GPL and you are calling it from your code, I personally would consider the GPL to extend to your code.

I only included omp.h in my program [...] omp.h states that "This file is part of the GNU OpenMP Library (libgomp)", which is GPL 3. Then in next line it mentions- "Under Section 7 of GPL version 3, you are granted additional permissions described in the GCC Runtime Library Exception, version 3.1, as published by the Free Software Foundation." The 3rd post in this link openmp.org/forum/viewtopic.php?f=3&t=474 also confirms it. So can I use it as LGPL then?

You can use it under the the terms of the GPL 3.0 with GCC Runtime Library Exception, version 3.1, not as LGPL.

But IMHO the GPL with this exception is a better license than the LGPL. For instance, it is clearly allows for any kind of linking: the LGPL makes a distinction between static or dynamic.

I would go for it!

/IANAL /TINLA

  • I am using unmodified LGPL libraries, then there is only one issue with OpenMP. The gnu site (gcc.gnu.org/onlinedocs/libgomp/Enabling-OpenMP.html) mentions that the compile-time flag -fopenmp enables the OpenMP directive #pragma omp in C/C+, and also arranges for automatic linking of the OpenMP runtime library. So can I assume the OpenMP as LGPL? – rrsuj May 12 '16 at 6:51
  • 1
    I have no idea what is the license of OpenMP. Never assume anything ;). Run ScanCode on it to find out github.com/nexB/scancode-toolkit (disclaimer: I maintain this) – Philippe Ombredanne May 12 '16 at 7:11
  • I have only included omp.h in my program, and then use the #pragma in my code. omp.h states that "This file is part of the GNU OpenMP Library (libgomp)", which is GPL 3. Then in next line it mentions- "Under Section 7 of GPL version 3, you are granted additional permissions described in the GCC Runtime Library Exception, version 3.1, as published by the Free Software Foundation." The 3rd post in this link openmp.org/forum/viewtopic.php?f=3&t=474 also confirms it. So can I use it as LGPL then? – rrsuj May 12 '16 at 8:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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