{"action":"created","issue":{"url":"https://api.github.com/repos/neovim/neovim/issues/3036","labels_url":"https://api.github.com/repos/neovim/neovim/issues/3036/labels{/name}","comments_url":"https://api.github.com/repos/neovim/neovim/issues/3036/comments","events_url":"https://api.github.com/repos/neovim/neovim/issues/3036/events","html_url":"https://github.com/neovim/neovim/issues/3036","id":95762212,"number":3036,"title":"Neovim CLA disallows incorporation of code licensed under Apache/MIT/etc when submitter is not the author","user":{"login":"colbyrussell","id":10376674,"avatar_url":"https://avatars.githubusercontent.com/u/10376674?v=3","gravatar_id":"","url":"https://api.github.com/users/colbyrussell","html_url":"https://github.com/colbyrussell","followers_url":"https://api.github.com/users/colbyrussell/followers","following_url":"https://api.github.com/users/colbyrussell/following{/other_user}","gists_url":"https://api.github.com/users/colbyrussell/gists{/gist_id}","starred_url":"https://api.github.com/users/colbyrussell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colbyrussell/subscriptions","organizations_url":"https://api.github.com/users/colbyrussell/orgs","repos_url":"https://api.github.com/users/colbyrussell/repos","events_url":"https://api.github.com/users/colbyrussell/events{/privacy}","received_events_url":"https://api.github.com/users/colbyrussell/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/neovim/neovim/labels/license","name":"license","color":"f7c6c7"}],"state":"closed","locked":false,"assignee":{"login":"justinmk","id":1359421,"avatar_url":"https://avatars.githubusercontent.com/u/1359421?v=3","gravatar_id":"","url":"https://api.github.com/users/justinmk","html_url":"https://github.com/justinmk","followers_url":"https://api.github.com/users/justinmk/followers","following_url":"https://api.github.com/users/justinmk/following{/other_user}","gists_url":"https://api.github.com/users/justinmk/gists{/gist_id}","starred_url":"https://api.github.com/users/justinmk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinmk/subscriptions","organizations_url":"https://api.github.com/users/justinmk/orgs","repos_url":"https://api.github.com/users/justinmk/repos","events_url":"https://api.github.com/users/justinmk/events{/privacy}","received_events_url":"https://api.github.com/users/justinmk/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/neovim/neovim/milestones/5","html_url":"https://github.com/neovim/neovim/milestones/0.1-first-public-release","labels_url":"https://api.github.com/repos/neovim/neovim/milestones/5/labels","id":652241,"number":5,"title":"0.1-first-public-release","description":"beta release, codename: \"whoa\"","creator":{"login":"justinmk","id":1359421,"avatar_url":"https://avatars.githubusercontent.com/u/1359421?v=3","gravatar_id":"","url":"https://api.github.com/users/justinmk","html_url":"https://github.com/justinmk","followers_url":"https://api.github.com/users/justinmk/followers","following_url":"https://api.github.com/users/justinmk/following{/other_user}","gists_url":"https://api.github.com/users/justinmk/gists{/gist_id}","starred_url":"https://api.github.com/users/justinmk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinmk/subscriptions","organizations_url":"https://api.github.com/users/justinmk/orgs","repos_url":"https://api.github.com/users/justinmk/repos","events_url":"https://api.github.com/users/justinmk/events{/privacy}","received_events_url":"https://api.github.com/users/justinmk/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":115,"state":"open","created_at":"2014-05-07T21:37:18Z","updated_at":"2015-10-30T01:08:42Z","due_on":"2015-10-31T04:00:00Z","closed_at":null},"comments":25,"created_at":"2015-07-17T23:14:27Z","updated_at":"2015-10-30T04:28:11Z","closed_at":"2015-10-27T05:10:03Z","body":"Take some existing code licensed under Apache 2.0 or MIT or some other permissive license, incorporate it somehow into your personal repo, then submit a pull request for the changes.  Does the Neovim CLA allow this?  No.\r\n\r\nIt's section 3 here which is problematic.  It's the same flaw that makes the (well-intentioned) [NASA Open Source Agreement](https://en.wikipedia.org/wiki/NASA_Open_Source_Agreement) incompatible with \"actual\" licenses—including, e.g., the GPL.  It requires that the contributions be the submitters' own code, which rules out the above scenario.\r\n\r\nThis section exists because:\r\n\r\n1. You don't want some contributor introducing legally conflicting code because they found it on the 'net and think that makes it public domain.\r\n2. You don't want anyone introducing legally conflicting code when their work arrangement stipulates that all their work belongs to their employer but their employer hasn't actually signed off on open sourcing this contribution (in which case you get their employer to sign the CLA)\r\n\r\nNotice how [MPL 2.0 section 2.5](https://www.mozilla.org/MPL/2.0/#representation) handles this.  It simply requires that the submitter assert that if the patches contain any third-party code, then the code must be conflict-free.\r\n\r\nThis should be fixed in one of two ways:\r\n\r\n1. Amend section 3 of the Neovim CLA to address this similar to the way the MPL does, or\r\n2. Get rid of the CLA altogether.  Anyone doing #1 from above can't exactly be trusted to begin with, so it's not actually any use there, and otherwise, the project operating in contradiction of its own CLA is proof that nobody is reading it anyway, which means the only real effect it has is to introduce unnecessary process and friction for contributors."},"comment":{"url":"https://api.github.com/repos/neovim/neovim/issues/comments/152412151","html_url":"https://github.com/neovim/neovim/issues/3036#issuecomment-152412151","issue_url":"https://api.github.com/repos/neovim/neovim/issues/3036","id":152412151,"user":{"login":"cweagans","id":101590,"avatar_url":"https://avatars.githubusercontent.com/u/101590?v=3","gravatar_id":"","url":"https://api.github.com/users/cweagans","html_url":"https://github.com/cweagans","followers_url":"https://api.github.com/users/cweagans/followers","following_url":"https://api.github.com/users/cweagans/following{/other_user}","gists_url":"https://api.github.com/users/cweagans/gists{/gist_id}","starred_url":"https://api.github.com/users/cweagans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cweagans/subscriptions","organizations_url":"https://api.github.com/users/cweagans/orgs","repos_url":"https://api.github.com/users/cweagans/repos","events_url":"https://api.github.com/users/cweagans/events{/privacy}","received_events_url":"https://api.github.com/users/cweagans/received_events","type":"User","site_admin":false},"created_at":"2015-10-30T04:28:11Z","updated_at":"2015-10-30T04:28:11Z","body":"Personally, I don't really care about \"offensive\". We're here to make a good code editor, not talk about our feelings. Neither party was particularly friendly in their interaction, but they also weren't unfriendly or uncivil (and for the record, I'm pretty sure @justinmk was joking in a way with his \"smug\" comments). Precision of language was the issue here, by the way: nobody was referencing specific clauses from the CLA which would have wrapped this issue up in like comment 3 or so.\r\n\r\n> as an outsider looking in, it would also be easy for me to interpret how this unfolded as \"neovim is a hostile project where issues are interpreted in the most uncharitable way possible, and then you're called names when you get exasperated after repeatedly trying to clarify that you're not irrational - you're just being treated that way\".\r\n\r\nThat itself is an uncharitable interpretation. Disagreement != hostility. Simply don't interpret it that way."}}