-3

Lets say you have a library that licenses with GPL v3. You have two pieces of code, one of them is your "loader" and the other is your real "code".

So your "loader" makes a request to a server, and the server gives it a string of the real "code". The "loader" then runs the real "code". You are never given a binary version of the real "code", but you are given both binary and source code of the "loader".

From a technical/legal standpoint, is it legal to not release the source code of the real "code" since you aren't given a binary version of it and it is being dynamically loaded later on by the "loader" (which you have full source to).

Thanks.

3

This is silly. Your question basically amounts to: "How can I distribute a copyrighted work to someone, but to do so in a way that I can convince myself that I'm not distributing it, by calling it something else".

If you want to "distribute", "convey", or "load" or whatever term you choose, a copyrighted software in such a way that your software uses it, then you need to abide by the terms set forth by the author of the copyrighted software. In this case, that means your software must be GPLv3 licensed.

Saying you're not distributing the library because they don't get "a binary" is like a guy selling bootleg CDs saying he's not selling CDs because they don't have a jewel case.

  • I'm just looking a way to sell my products that I made 100% by myself, but use an api that uses GPL v3. I don't want to give my source code that I worked really hard for money when there are so many things that can go wrong. I'm not looking to convince myself, but to circumvent the gpl v3 license. Not looking for a moral/ethic lesson, I want to know if this is legal or not. – Rob Gates Aug 1 '17 at 21:34
  • 2
    You clearly did not make it 100% yourself, you made it 100-X% where X is the GPL library's contribution. Either agree to the libray's' terms or write that additional X%. – whatsisname Aug 1 '17 at 21:45
  • @RobGates Using an API doesn't imply any copyright liabilities. Linking to a specific implementation of that API does (that's the mainstream opinion, but there's some debate and AFAIK it's never been tested in court). – Stop harming Monica Aug 1 '17 at 22:38
  • @whatsisname Again, I am not here to discuss ethics or morality. I am asking if what I might do is legal or not, is it in violation of the gpl license (v3), and if it is, what part would I be violating. Please be specific, thanks! – Rob Gates Aug 1 '17 at 23:22
  • 2
    @RobGates You can dress it up in whatever flowery terminology you like, but the real "code" is clearly a derivative work of the GPL source, and the server is distributing it to the client. So that's a breach of copyright unless you comply with the GPL license. – Simon B Aug 2 '17 at 7:57
0

If your loader is linked with a GPLv3 library, this means your loader is GPL'd code. A GPL'd code cannot use GPL-incompatible code.

However, in your case the question is a bit tricky because in theory the server could offer GPL-compatible code. Or it could offer GPL-incompatible code.

Software licenses in general cannot restrict use, as it is a right given to you by the copyright law. Redistribution is not by default permitted by the copyright law.

So, if you don't have some SHA1 sum enforcement in the loader that would make it possible to use only non-GPL'd code, I would assume that you can distribute the loader. It is not a derivative work of GPL-incompatible code then.

However, if the offered code is a derivative work of GPL'd code (such as using GPLv3 library in such a manner that it is clearly a derivative work), you cannot redistribute the code using the server. So what I said about this scheme being permitted applies only to the case where the offered code is not a derivative work of GPL'd code.

  • I'm saying I made a loader for myself, which would run any code I put on the server. In this case, the code would be using api's that are gpl licensed, but you don't get a binary of this code. – Rob Gates Aug 1 '17 at 18:01

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