1

We are planning to use an Open Source GNU GPL License software for distribution also with the hardware we sell. We will make several changes to GP, software to make it work with our device and are ok to make derived source code open source. However below situation do exist for us in order to complete the whole package. I will be grateful is someone can answer below question for us and suggest alternatives.

  1. We do have other Open source component that we would need to integrate with original GPL software in order to achieve our goal. Is it permissible under GPL

  2. We do have few proprietary DLLs provided by our vendors that we need to integrate but we do not have source code for them. Will this still satisfy GNU GPL requirement?

  3. We have a licensing module which derives the licensing logic for this application. This is a DLL but the source code is owned by us. Do this source code have to be made public?

  4. We have plans to submit derived software along with our medical devices for FDA approvals? Is GPL ok with it?

  5. We license our software as permanent as well trial version. Trial version expires after certain period. Can this cause any problem with GPL?

  6. The license is also controlled by a hardware dongle which is again provided by outside vendor. Is this ok with GNU GPL?

  7. Do we have to package source code with every media (CD, USB) we distribute? Will adding a statement for availability of source code on demand or from a public location acceptable for GNU GPL?

  8. We plan to add a few module such as apps for android and iOS. This will not be linked to derived software but will only use data and images collected by derived software from end users. Do we have to make source code of those apps also under GNU GPL?
3
  • 1
    Are you talking about the GPL-2.0 or GPL-3.0 or both? they have different terms that matter a lot in your specific context. Dec 12, 2016 at 8:43
  • 1
    There are several ways to "integrate" with GPL-licensed code. When you say integrate, what do you mean? Call a function from a GPL-licensed library? Call a command in a separate process? Also are you modifying GPL-licensed code and if yes, how? Dec 12, 2016 at 8:45
  • 1
    Too many questions. Please ask one at a time. Dec 12, 2016 at 21:24

1 Answer 1

7

This is a lot of questions, and should perhaps be split into several different questions. But I'll answer what I can.

We do have other Open source component that we would need to integrate with original GPL software in order to achieve our goal. Is it permissible under GPL

If the other licenses are GPL-compatible, yes. You will have to offer them under the terms of the GPL as well; the compatibility list contains licenses that the FSF believes can be met while also meeting the terms of the GPL.

We do have few proprietary DLLs provided by our vendors that we need to integrate but we do not have source code for them. Will this still satisfy GNU GPL requirement?

Not for the GPL, no; any derivative software, including the entire package that has your vendors' libraries, must be offered under the terms of the GPL.

If you are not stuck with the choice of license (that is, you're just deciding this yourself, and aren't forced into it via modification of a GPLed project), then you may wish to use the LGPL, which has an exception for things that are linked in.

We have a licensing module which derives the licensing logic for this application. This is a DLL but the source code is owned by us. Do this source code have to be made public?

Under the GPL, yes. Under the LGPL, no.

We have plans to submit derived software along with our medical devices for FDA approvals? Is GPL ok with it?

Sure, there's no restriction in the license about whether you can submit it to a government agency. If you are providing a modified version, the FDA has the right to ask for the source code.

We license our software as permanent as well trial version. Trial version expires after certain period. Can this cause any problem with GPL?

The first of the four "essential freedoms" of free software is the right to run the software however and whenever you wish.

The GPLv2 had a loophole that lead to tivoization, where the user could technically run modified versions of the software, but the hardware would refuse it. The GPLv3 is designed to prevent this.

I'm not sure if section 2 prevents a license of the type you talk about; you should consult your legal counsel.

Anyways, users are allowed to modify the source code, so they could dig in and remove the code that requires a valid license.

The license is also controlled by a hardware dongle which is again provided by outside vendor. Is this ok with GNU GPL?

Unsure, see previous point.

Do we have to package source code with every media (CD, USB) we distribute? Will adding a statement for availability of source code on demand or from a public location acceptable for GNU GPL?

Section 6 covers the full range of options. In summary, providing it in a public location or in response to specific requests is fine.

We plan to add a few module such as apps for android and iOS. This will not be linked to derived software but will only use data and images collected by derived software from end users. Do we have to make source code of those apps also under GNU GPL?

Files generated by the program are not considered part of it for licensing purposes (this would otherwise be a major issue in using gcc). Other programs that communicate with it via a network API also do not trigger the viral licensing clause.

4
  • 1
    Thanks for you answers Xiong, this really helped. Would you be able to elaborate answer to question 2 please i.e. "Not for the GPL, no; any derivative software, including the entire package that has your vendors' libraries, must be offered under the terms of the GPL.". If i still like to go ahead with GPL, does it mean that i have to ask all DLL vendors to provide the source code so that i can package that with our software. If yes, then how does it work for DLL that we use from , lets say , Microsoft for .Net framework. Thanks for your help again. Dec 10, 2016 at 22:42
  • 1
    Thanks you Xiong. I found teh answer to my above question after some research on GNU website. Basically there is a provision for system libraries and another provision for proprietary library in GPL. Thanks You. Dec 12, 2016 at 2:59
  • 1
    @BhimRathor The provision for system libraries is automatic but the provision for proprietary libraries is not! (The author needs to add an exception and if it isn't there, then it cannot be used.) However, the .NET framework is now (I think) published under a GPL-compatible open source license, so it shouldn't be a problem at all.
    – Zimm i48
    Dec 12, 2016 at 15:29
  • 1
    There's also some useful reading on whether dynamic linking provides an exception here. Dec 13, 2016 at 23:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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