GNU's website has a FAQ section where they say what constitutes and what doesn't constitute a 'single combined program'. My current understanding is that, if you use GPL code in a 'single combined program', your whole 'single combined program' MUST be released under the GPL, as they say here. Is this interpretation enforceable in a court of law and reflected in the license, or is this just the way GNU would like you to think about it and you could realistically argue otherwise in court?
-
For your question about a Neovim plugin or script, it may depend on how the plug-in system works. Do downloaded plugins in (Neo)vim all become part of the same program (e.g. akin to "import" in Python to combine in all the code), or do they behave as separate programs, more like having separate Python scripts .py files in a directory (which are independent of each other), and you are only invoking each of these separately?– BrandinSep 8 at 12:21
-
Related: opensource.stackexchange.com/questions/1579/…– BrandinSep 8 at 12:26
-
You are asking if GPL is enforceable, especially w.r.t. combined programs. The most recent case I am aware of related to this went all the way to the French Supreme Court. And it strengthened the case that GPL is indeed enforceable in court. There are other cases in other jurisdictions which showed the strength of GPL. But every jurisdiction is different.– Martin_in_AUTSep 9 at 16:19
3 Answers
When it comes to law, nothing is ever proven until its been decided in a court of law - even if I walked up to someone in broad daylight and shot them dead in front of hundreds of witnesses, I legally wouldn't have committed murder until I was found guilty by a court. Barring extenuating circumstances (insanity etc), it's of course incredibly likely that a court would find me guilty in that case.
The same principle applies to copyright law - while anybody, the FSF or otherwise, can opine on matters of copyright law, nobody has actually committed a copyright offence unless a court finds that, and every situation is to some extent unique. The FSF's opinion is probably pretty close to what courts in most of the "western world" would rule, but that doesn't mean it's universally true. (I don't know enough about e.g. the Chinese legal system to know how things would potentially go down there).
One thing to note:
I violate my own GPL license
As the copyright holder, you are incapable of violating your own license.
-
If I cannot violate my own license, how come the owner GPL software can't link proprietary dependencies? Sep 8 at 12:17
-
3The rightsholder can, but (s)he is distributing software that can't be redistributed or reused by anyone else.– MadHatter ♦Sep 8 at 12:21
-
8You've asked two distinct questions in one, which we don't encourage. I'm going to edit this question down to the theoretical one - so the question matches the title - and I recommend you ask the one about your particular example as a separate, new question. I strongly encourage you to be specific in that question - tell us exactly which plugins, and link to their homepages, so we can check the licences for ourselves.– MadHatter ♦Sep 8 at 12:35
-
3
-
4@NicolasDumitru I saw the new question, which I think is a good one, so thank you for that. Just in case you don't know, may I point out that part of the social contract here is that when you're happy with an answer to your question, you accept it by clicking on the "tick" outline next to it? This signifies to the world that you're happy, and drives the SE reputation engine for both you and the author of the answer. If you do know this already, please accept my apologies for the unneeded verbiage.– MadHatter ♦Sep 8 at 16:03
The GPL FAQ is not part of the GPL, therefore it is not something that a GPL licensed program is relying on. The FAQ is the opinion of the FSF, but it is not necessarily the opinion of the author(s) of the software (the ones granting the licence) nor a court. Courts have varying rules about cases setting precedence and those vary from one jurisdiction to another. In many jurisdictions the FSF would have no standing to partake in a lawsuit between the authors and a licensee of the software.
In the specific case of the GPL, one contention is the definition of 'linking'. In Unix, there's a commonly-understood way things are done. But consider a retrocomputer where third-party software can be provided on ROM chips or cartridges - there are no files, no linker tool, just lumps of binary code. Plug in a utility ROM chip and call its functions from your code by their (known) address. In Unix that may be called 'static linking' which is widely considered to cause the ROM to come under the GPL, but those computers operated in a very different way from Unix.
Ultimately, such questions would need to be decided by a court and, to my knowledge, nobody has tested them.
-
1Note that the FSF did author the GPL, so its opinion on the interpretation of the GPL carries substantial weight. They may not have standing as a process party, but their opinion can definitely be entered as evidence. It is entirely common for courts to defer to industry experts when it comes to defining the meaning of jargon.– MSaltersSep 11 at 8:41
-
@MSalters The opinions of the authors of the software are more important in this case, because it's the authors who have the right to enforce their copyright, not the FSF. For example, if the FSF thinks what you're doing is not OK, but the authors of the software think it is OK, then you're fine, because the FSF have no right to stop you in that case. The FSF however do have a copyright on the GPL text itself.– BrandinSep 12 at 7:29
-
@Brandin: This is a legal question. The problem with "opinion of the software authors" is that this opinion is generally unknown to the users. The software is supplied with the GPL, authored by the FSF. Users have a reasonable presumption that the software authors agreed with the FSF when they selected the GPL. Hence, in a legal dispute (where it matters) the software authors would likely be blocked by estoppel.– MSaltersSep 12 at 7:57
Philip Kendall is technically correct, but here's some more practical not-technically-legal-advice-that-might-technically-be-wrong-in-court from a legal layman such as myself.
In practical terms, the GPL restricts releases of software that links to (statically or dynamically) the GPL-licensed library or program and dictates that those releases must be released under the same license as the library. Or at least this is the commonly understood interpretation and what is written in the FAQ.
The LGPL is essentially the same, but it allows dynamic linking without having to license the program using the dynamically linked library with the same license. (or if you want to get pedantic, it means that end users must be able to swap out the library for their own personal use, which could allow static linking if the user is able to re-compile the program to swap out the library for a different or modified version of that library)
There are some weird edge cases, like how running a commercial set-top-box on Linux is ok even though the Linux kernel is licensed with GPLv2 and it is not generally feasible to jailbreak the box to upgrade or modify the kernel. I'm not entirely sure why this is the case, but there's probably some case law on the matter or something like that.
As to what would qualify as a release, anything that is publicly available for download in any way would probably count as a release for the purposes of the license. If the software is only on your local computer, private repositories, and cloud services that only you (or your company) have access to, then it would not count as a release (most likely) and would not need to comply with the license, even if they were part of a publicly accessible server.
The AGPL and SSPL and some similar licenses try to restrict the use of the software even in servers and managed services. Businesses that license their software in this way (e.g. Redis, MongoDB) are essentially trying to funnel people who don't want to stand up and manage their own clusters toward their premium enterprise services.
Copyleft licenses like the GPL tend to be pretty infectious, so corporate legal counsels will typically advise against using GPL software in your code, if not outright banning it.
Your own personal editor setup and configuration is not a release and I highly doubt it's their intent to prevent end users from customizing their software. You are perfectly within practical limits of the license. Going after you for tinkering with your NeoVim setup would conflict with the entire GNU Free Software philosophy, so they wouldn't sue even if they technically could.
Almost all limitations of copyleft licenses only practically apply to commercial use or when combining multiple open-source projects that are licensed incompatibly.
-
8A commercial set top box with GPL software would not be a problem. Even if the GPL kernel would require all the software to be GPL (which it does not), that just means the company has to post their source code somewhere. Much like the Android source code being posted somewhere, this has basically zero impact on almost all users. Sep 8 at 21:35
-
1@NickMatteo The GPLv3 (note the 3) has the additional rule (Section 6, paragraph beginning "Installation Information") that others have to be able to replace GPL'd software with a modified version, to prohibit what Richard Stallman calls tivoization. Sep 9 at 16:43
-
2AIUI, the LGPL also allows static linking. As long as the recipient can modify and re-link the LGPLed code, it's OK.– BarmarSep 9 at 20:00
-
1"[the LGPL] (probably) allows dynamic linking without having to license the program" - Why 'probably'? The LGPL explicitly says that this is allowed in its text, provided certain conditions are met (i.e. basically you must allow linking to a modified LGPL library too).– BrandinSep 11 at 5:58
-
@Brandin I thought I was on law.stackexchange.com and was trying to be technically accurate in legal terms.– BeefsterSep 11 at 15:25