-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify Neovim License #878
Comments
Can you point out the relevant passage? Also discussed at length in #370 but never concluded. Reading the actual Vim license makes it clear that we can license our modifications at our discretion:
I am not in favor of GPL for Neovim. Vim license is more liberal than GPL, we should use a license that is at least as liberal (MIT, BSD) for Neovim-original code. Original Vim code remaining in Neovim is probably required to remain under the Vim license. Other notable passage:
@tarruda et al: We definitely need to decide on a license sooner rather than later. I think it may be counterproductive to continue with the Vim license, since it is focused on Vim and Bram: this could be very confusing in the long term. |
You're right, I read it to quickly: it is the changes that can be under any license, not the entirety of Neovim. This still causes the same problems and I'm in agreement that it's better to fix sooner rather than later. |
Is there a description of labels used in issue tracker somewhere? I can hardly understand why this is labeled “community”. |
My thinking was that "community" means "non-technical issues". I didn't want to create a "legal" label because it's probably only going to be used for maybe one or two issues. But since you mention it, I'll re-tag it. |
Fwiw, I thought the community tag was quite alright. Because it's something Am Samstag, 21. Juni 2014 schrieb Justin M. Keyes :
|
BTW @ardagnir , regardless of the license, if you are communicating with Neovim over TCP or some other channel (not compile-time nor dynamic linking), your project will not be affected, regardless of the final license. We will not be choosing a license that restricts communication via TCP or pipes. |
@justinmk It would actually be better to describe labels in CONTRIBUTING.md. I.e. say that these labels (e.g. Regarding this issue: I think that something like MIT is indeed good choice. GPL is not good at all since one of our goals is to make Neovim embeddable. |
@justinmk, Any exception-free GPL code that sends complex internal data structures between itself and Neovim would need Neovim to be available under a GPL-compatible license, whether it uses dynamic linking, TCP, pipes, or carrier pigeons. I know this is a legal gray area, and there's disagreement about it, but there's no point debating it here because I'm not going to support weakening the GPL, and whether or not a small project of mine supports Neovim is far from the most important consideration when chosing a license. |
I'm pretty sure GPL doesn't ban data exchange between two separate programs, that's nonsense. There is no gray area here. Dynamic linking is only an issue because it creates a single combined work. |
@ardagnir I am not following your reasoning. Is there something that prevents a GPL v2 or v3 client from communicating with, for example, a commercial, closed-source REST API? There are also plenty of MIT-licensed emacs plugins. Furthermore, Emacs (GPL) runs on Windows, using the proprietary Windows API.
I'm confused by this. Can you give an example scenario from what we've discussed, that would weaken the GPL? |
@ZyX-I Why add ceremony and formality to this informal search and organization aid? |
It is an aid only when the following statements are true:
Thus I can say that without description labels like Without formality it is only aid to those who are making labels and random noise for everyone else. |
@ZyX-I It's an exaggeration to call it "random noise". Think of it as a "best effort": not formally verified, and not useless.
No one was fastidious about tagging until recently, so there are many un-tagged issues. It's still useful to be able to search for known build-system issues, for example, by using the build-system tag. Feel free to label issues according to your judgment. Be aware: some labels such as "ready" are used by waffle.io (I think), so please don't remove them from issues. However I'm not in favor of creating a formal system nor policing the use of labels. |
@justinmk If the GPL application is built specificly to communicate with proprietary code, such that they functioned as one program it would be in violation. If it just communicated with REST APIs in general and ended up being used on a proprietary one after distribution, than there is no violation. Re: MIT Emacs plugins, The MIT license is GPL compatible so there is no violation. See: module license. The GPL can run fine on windows because of the system library exception. Communicating over TCP/pipes usually means there are two completly seperate programs. But you can't simply use these methods in place of dynamic linking to avoid the GPL or the GPL would have no power. If GPL code is communicating with Neovim such that it is explicitly using the Neovim API and couldn't function without Neovim, then it and Neovim are clearly functioning as one program (in the since that plugins and their app function as one program) and is only allowed if Neovim is under a GPL-compatible license (and that includes MIT). I don't want to take this discussion off track so I'm going to point people to the gpl faq. If you still have disagreements with my interpretation, we're probably going to have to agree to disagree. If Neovim does end up under the MIT license (or technically a combination of Vim-License and MIT), then who's interpretation of the GPL is correct won't affect it anyway. |
@ardagnir Good information, thanks.
Very interesting, kind of amusing even.
I want to solve this unambiguously within the next week. We may need to get some past contributors to explicitly sign off, which could take longer. |
A computer program can't violate GPL at all. Only people can violate licenses, and it could be done in three ways:
In other words, if you don't distribute Neovim with your app, you cannot violate GPL at all (as far as these programs are considered). For example, there is a GPL-covered game called OpenXcom that uses proprietary resources from the original game. It is "functioning as one program", but they don't violate GPL in any way, because original game isn't distributed with it. FAQ doesn't have any legal significance. Only license text does, and it defines "modifying" strictly leaving no room for interpretation. There is nothing about "internal data structures" there. |
@aktau @jszakmeister @mhinz @oni-link @philix @schmee @Hinidu @elmart @ashleyh @lslah @stefan991 @watk @harsh1kumar @simendsjo and all other contributors: please speak up sooner rather than later if you object to licensing your contributions under MIT, Apache, BSD. I will seek formal approval once we finalize a decision about the license. |
I have no objections to MIT and/or BSD. Don't have enough experience with Apache to be honest. |
@aktau in practice, the main differentiator of the Apache license is the patent clause. IT is OSI-blessed and in fact FSF recommends it:
https://www.gnu.org/licenses/license-list.html#apache2 @justinmk keep in mind that every contributor has to explicitly agree to the license shift. If you cannot get confirmation from a particular contributor, the relevant lines of code must be rewritten. VLC went through this process a few years ago: http://www.videolan.org/press/lgpl-libvlc.html |
In my opinion license should be simple, concise and as permissive as possible. I vote for MIT or ISC (It is functionally equivalent to the simplified BSD and MIT licenses, with language that was deemed unnecessary by the Berne convention removed.)
This statement is too obscure for me. I don't know anything about patent law. But if Neovim really can have benefits from it then I'll be happy with Apache license too. |
-----BEGIN PGP SIGNED MESSAGE----- By the way, what about documentation license? I think it should be
iQJNBAEBCgA3BQJTp8vvMBwfMDI7PjIgHTg6PjswOSAQOzU6QTA9NEA+MjhHIDxr |
In principle I agree with you ZyX. Though I reckon the current docs (you mean the :help docs and the function docs right?) are also under the vim license. To all: do you think we should have an AUTHORS file or something then? Many projects seem to have them, perhaps it has licensing/copyright-checking consequences? Would be nice to have a lawyer here :). |
-----BEGIN PGP SIGNED MESSAGE----- On June 23, 2014 11:16:14 AM GMT+03:00, Nicolas Hillegeer notifications@github.com wrote:
Yes, but like with code we are going to have plenty of new documentation: developer guides, API reference, (bindings documentation), ... I think that issues requiring us to step from Vim license for source code also apply to documentation. By the way, things like doc strings, Doxygen in-source documentation comments, ...: are they source code or documentation? iQJNBAEBCgA3BQJTp+ZXMBwfMDI7PjIgHTg6PjswOSAQOzU6QTA9NEA+MjhHIDxr |
@justinmk no objection to any of the three licenses (MIT, Apache 2.0, BSD). __
|
@justinmk I don't object to any of the three either, though I'm biased towards Apache 2.0. :-) |
@justinmk I don't know the first thing about software licensing, I trust you and the rest of the community to make the right decision :) So I'm OK with whatever! |
@justinmk I'm fine with MIT, Apache 2.0 or BSD. |
@justinmk I am okay with any licence. |
@justinmk as a friendly reminder: confirm that all previous contributors agree to the license before application. |
Any contribution who does not agree, remains under the Vim license. |
I don't see where that is indicated in your proposed license @justinmk |
@justinmk : I'm fine with any of them, but I'd prefer MIT. (Not that I think I've made any contributions of size that requires you to ask for my permission) |
Hello, "I. Requirement to perhaps-falsely acknowledge: This is probably unproblematic for PHP itself. However, most PHP |
- change to Apache 2.0 - include Vim license in LICENSE - upate README
I was looking at license compatability after I was asked to support Neovim in one of my projects and saw what might be a problem: I'm not a lawyer, but it looks like Neovim may (inadvertantly) be under proprietary copyright. At best, the license is unclear.
The Neovim readme says "Vim is distributed under..." but never says anything about Neovim. Same for the included vim-license file.
I was under the impression that the creators want Neovim to also be under the Vim license, but since section II.c of the Vim license says that if you make all the changes to Vim available (which Neovim does) and include Vim's license file (which Neovim does), the changed version (Neovim) can be distributed under any license. Since copyright defaults to being proprietary in most countries, it is probably a good idea to EXPLICITLY state the license that Neovim is using.
TLDR: There should probably be a statement in the readme clarifying that Neovim (and not just vim) is covered under the Vim License(or some other license).
The text was updated successfully, but these errors were encountered: