GPL restrictions when distributing to a select number of customers? [closed]
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question 开发者_开发百科I have a small desktop application that depends on VLC, an application licensed under GPL. It does not link with any VLC libs, but it creates a VLC subprocess and communicates via stdin and stdout streams. My application will be used by a number of customers. It is not going to be a publicly available tool.
What does the GPL require me to do in this situation? Do I need open-source my code for these customers only? Or do I need to make it publicly available for the entire world?
EDIT
A few people mentioned that if I just call a GPL executable without actually linking with GPL code I'm fine. However, I'm no so certain about that after seeing these sources:- Joel discussion
- GPL Faq
I will accept the answer that can clarify this issue for me.
This answer does not apply, you are only launching VLC
If all you are doing is launching and distributing VLC, you are only obligated to provide the full (even if modified) source code to VLC to anyone who receives it from you. If you link against (or with) GPL2/GPL3 code, the GPL applies to your entire code base. This is not your case.
Original answer, due to a rather ambiguous question:
Once you distribute it, the GPL applies. If you give it to your wife, the GPL applies. If you give it to your neighbor, the GPL applies. If you give it to your dog .. you might be safe, I doubt that the dog would understand its rights under the GPL.
You are required to give anyone who receives a copy of your program the full source code. If they distribute it, they must give anyone who gets a copy of your program the full source code, as they are the ones distributing it.
You can not tell people to not distribute GPL code. Since your program links against it, its a covered, combined work and the license applies. Don't ask recipients to sign a NDA with additional copying restrictions to receive GPL covered code, if you do, you just lost your right to distribute (or even use) it.
Google readline vs editline to see what I mean :) Or perhaps libreadline vs libedit.
The GPL does not care how many people receive your program. Once it leaves your hands, even to one human being, it applies. I strongly advise you to follow it to the letter, especially when dealing with something like VLC.
The four freedoms that the GPL guarantees depend on access to the source code of covered works. I both agree and disagree with the philosophy behind it, the fact remains is you are bound by the terms of the license.
If you never distribute something .. hack away. Combine incompatible licenses, etc. Less restrictive licenses don't care (i.e. BSD) .. and the GPL cares only once you distribute it.
Again, whoever distributes GPL code is the one responsible for making the source available to whoever receives a copy from them. This is not quite the case with the LGPL .. and the AGPL introduces even more governance. Its left as an exercise to the reader to research the differences.
E-Mail licensing@fsf.org with questions like this in the future, they are the custodians of the license. Despite noted political conflicts, they are very friendly and helpful people.
Finally
Sorry to be a little over eager and over zealous, but at least I didn't bring Cthulhu into it :)
The answer critically depends on what "depends on" means. If you mean that your code runs as a separate process, and communicates with VLC with sockets or pipes or some other means of interprocess communication, then you are packaging your code with VLC, and there are no restrictions on what you can do that way. If you have actual changes to VLC, or link your code with VLC, then your code is subject to the GPL. Anything between the two is a judgment call.
If your code is subject to the GPL, you can distribute it as you please, but all distribution will be under the GPL's terms. In short, you must either provide source code with the binary or provide a written offer to supply the source, and everybody you distribute to has the same GPL rights that you do. You don't have to make your stuff publicly available, but anybody who gets it from you has the right to do so. You can sell the software, but you cannot forbid anybody else from selling it or giving it away for free.
You must pass the source to every customer. Every customer is free to publish the source in any form to anyone.
I think you want to review the GPL FAQ.
In particular, this question/answer may be of interest to you:
Does the GPL require that source code of modified versions be posted to the public?
The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.
But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.
Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.
Depends on is a bit vague. If you require VLC to be installed on their machine and your program launches VLC you should be okay. If, however, you are using parts of the code, or a modified version of VLC then you will need to release your code as well.
if you program is written completely from scratch and does not re-use code from any other software you're free to license or distribute it however you want (free, paid, closed, open). calling a VLC subprocess is not equivalent to re-using GPL'd code.
I am no lawyer but I believe that you can not distribute VLC for money(such as on a CD with your not-free application). If you use any code from VLC then your application must be opensource.
But basically I think you will have to tell your customers "I can not legally distribute VLC with this disk, please obtain it from " Or possibly in your installer just download it from the official site.
精彩评论