moll / vim-bbye

Delete buffers and close files in Vim without closing your windows or messing up your layout. Like Bclose.vim, but rewritten and well maintained.
http://www.vim.org/scripts/script.php?script_id=4664
Other
648 stars 32 forks source link

LICENSE #10

Closed tony closed 6 years ago

tony commented 6 years ago

(I was interested in using this plugin because bufkill.vim was having bugs.)

Any chance you can make this license permissive?

The concern is I like to open source my config under a permissive software license, and GPL isn't backward compatible with permissive licenses. While I have nothing wrong with GPL, I think it can be more harm than good to add the side effects introduced by viral licensing when using vim plugins. The reason why is, In the big scheme of things - it's only a plugin.

moll commented 6 years ago

Hey! I get a few license related emails a year, but for a Vim plugin that's a first. :) Couldn't you license your config directory with the original licenses of things in tact? IANAL, but it looks like it wouldn't be different from the concept of a distro, and they combine all kinds of variously licensed software like that.

tony commented 6 years ago

Couldn't you license your config directory with the original licenses of things in tact?

Are you sure that's possible? My interpretation of the GPL is that could potentially create a derivative. FreeBSD and Apple were having similar issues and that's why they switched to LLVM/Clang.

(I'm in USA). The interpretation of the license depends on the courts in whatever jurisdiction. To my knowledge there isn't any cases to find point of relation with whether that's possible or not.

In any event, while I like the concept of reciprocity that GPL espouses (and I contribute to GPL projects), I think it may be fair there's some give and take. My rule of thumb I've had so far is for scripting languages (vim, python, js, etc.) I tend to discourage GPL and its variants, and recommend permissive (ISC, MIT, BSD, Apache2). For C/C++, LGPL + Linking exception for shared libraries (e.g. libgit2) and perhaps GPL for big frameworks (gnome/kde).

That's just my opinion. In the big scheme of things - I'm a plugin user, and generally don't want to worry about license conflicts when editing 😆 So simpler licenses are better for me.

moll commented 6 years ago

You sure you're not overthinking this? :) To me it looks like your public Vim config (https://github.com/tony/vim-config-framework/tree/8eb9663ceefc4205afc77d5a398d6da44655cac9) is just referencing plugins to be installed later by a plugin manager. Even if you did copy the sources of plugins verbatim to that repo, it wouldn't be a problem --- it'd be akin to hitting "Fork" here on GitHub. If you then ended up making changes to Bbye.vim in that repo, that wouldn't be a problem either --- you've got in here in the public and that's perfectly in line with the spirit I was going towards with the Affero GPL pick. ;)

tony commented 6 years ago

Thanks, I understand what your intention is and I appreciate it.

I don't have a problem with complying with GPL. It's just I'm better served personally by exclusively using permissively licensed code, if I can help it.

The issue isn't me overthinking it - but the potential someone else could, and create a credible case that GPL is being violated.

The trouble is, there's no way to be sure. There isn't case law on how GPL licenses work with editor plugins. There isn't even case law on how GPL interacts with scripting languages in general. And I don't think the overhead is worth it - it's easier to just ask the author if they'll pick an easier license. Or find an alternative - or potentially write it myself.

The irony of that is I'd be releasing my own buffer cleanup code under a permissive license - which an AGPL project could port in, but I couldn't take AGPL code. Once it gets to that point - it doesn't feel like open source anymore to me.

I don't want to pull in viral code, even by an editor plugin. The issue is for the intents and purposes, I want to keep license obligations minimal. For myself and downstream. Generally speaking, I want to use vim as an editor, and not worry about license compliance and what-if's.

As a rule of thumb, I tend to keep licenses simple unless there's a good reason otherwise. I don't think the upside is there to warrant viral licenses for a vim plugin - but then, it's your project, that's why I'm asking. :smile:

I want to use vim as an editor, and I don't want license plugin what-if's to be at a minimum.

But in any event, I don't have many more points to make, unless you're wiling to change to a simpler license :smile:. At least in this case, I think you can close the issue if we're at a disagreement on licensing for the moment.

moll commented 6 years ago

First, thanks for the detailed reply.

The irony of that is I'd be releasing my own buffer cleanup code under a permissive license - which an AGPL project could port in, but I couldn't take AGPL code. Once it gets to that point - it doesn't feel like open source anymore to me.

I find it fascinating we've come to the opposite conclusions. :) To me "open source" is also the restriction that [modified] code must remain public. I find it's more ethical for communally built things if everyone can benefit from everyone else's improvements. "Permissive" variants of licenses unfortunately don't provide that and permit some parties to act selfishly. I'm not deluding myself that a license really forbids selfish actors, but the choice of a license is equally a social signal of (dis)approval as it is a legal tool.

As a rule of thumb, I tend to keep licenses simple unless there's a good reason otherwise. I don't think the upside is there to warrant viral licenses for a vim plugin - but then, it's your project, that's why I'm asking.

Fair enough, but I'm not convinced it's a viral license in this aspect in the first place. After all, it's a Lesser Affero GPL.

The issue isn't me overthinking it - but the potential someone else could, and create a credible case that GPL is being violated.

I've little idea of the US legal system, but wouldn't I, the author and the canonical source, be the sole person that could bring up a case? After all, how could a 3rd party know that you and I didn't have a special deal in place and so on.

I'll close the issue out of non-actionability, but we can continue our convo if you'd like. :)