News for hackers. Stuff that matters.
Re:Go Proposal: Accept GitHub PRs by yetanother1 on Thursday January 05, 2017 @04:53PM (#13331769)
I contribute pull requests to quite a few github projects. However I avoid contributing to (or even using) projects with a Contributor License Agreement. Such projects are too bureaucratic.
Re:Go Proposal: Accept GitHub PRs by pcl on Thursday January 05, 2017 @04:57PM (#13331797)
> I avoid contributing to (or even using) projects with a Contributor License Agreement.

That's a pretty tough thing to do. Most (all?) Apache projects require a CLA, as does Go, Java, Mysql, Cassandra... It's pretty standard for any project that is both managed by a corporation and accepts third-party contributions.

EDIT: removed Postgres. Thanks, 'anarazel!

Re:Go Proposal: Accept GitHub PRs by yetanother1 on Thursday January 05, 2017 @05:01PM (#13331829)
~~You got me on Postgres. Don't use the others.~~

Edit: another post states that Postgres doesn't require a CLA for contributors. So I don't use any software requiring a CLA.

Re:Go Proposal: Accept GitHub PRs by anarazel on Thursday January 05, 2017 @05:16PM (#13331951)
Postgres doesn't have a CLA.
Re:Go Proposal: Accept GitHub PRs by Nadya on Thursday January 05, 2017 @04:59PM (#13331809)
All of those projects also have alternatives that don't require a CLA. The solution is to avoid projects by bureaucratic corporations.
Re:Go Proposal: Accept GitHub PRs by shadowfacts on Thursday January 05, 2017 @05:24PM (#13332009)
Why? Aside from having to click a button saying that you agree to the CLA, how does it affect you in any way?

CLAs aren't about making a project more bureaucratic, they're about transferring the rights over the code you're contributing from you to the project, so that there's no dispute over who the code belongs to.

Re:Go Proposal: Accept GitHub PRs by yetanother1 on Thursday January 05, 2017 @06:33PM (#13332514)
I don't like the idea of handing over my contributions to another party under their terms. Either release software under a common open source license (BSD, MIT) or not. Don't add additional terms with some custom license that certainly wouldn't help me.
Re:Go Proposal: Accept GitHub PRs by edgyswingset on Thursday January 05, 2017 @07:49PM (#13332935)
Another aspect of a CLA is the ability for a company to cover themselves legally.

Say I work at MegaCorp (they make heavy use of Go in some backend systems), and didn't bother making sure I had permission to contribute on MegaCorp time (and thus, contribute MegaCorp IP). I make some PRs to Go which improve the Go garbage collector, which Google happily accepts. These changes help Google and they could help MegaCorp if some of their projects use Go. Hooray!

Somewhere down the line, someone at MegaCorp notices that I've been contributing to Go's garbage collector on MegaCorp time without permission. I may or may not be fired. However, Google has now benefited from what is legally MegaCorp IP without the permission of MegaCorp. If this is in the USA, there's a decent chance that MegaCorp tries to sue Google. That's a headache that I'm sure nobody at Google would want to deal with.

If there was a CLA which I had to sign, saying that I had permission to contribute MegaCorp IP, Google has a document clearly saying that I had permission to contribute MegaCorp IP. This is a far better situation for Google than if they had no such document.

Re:Go Proposal: Accept GitHub PRs by paulddraper on Thursday January 05, 2017 @10:02PM (#13333574)
I don't understand. Whether you had the document or not, MegaCorp's lack of permission remains the same.

And Google's benefit from your MegaCorp contributions remains the same. MegaCorp legal recourses remain the same.

The situation is exactly the same.

Re:Go Proposal: Accept GitHub PRs by traviscj on Friday January 06, 2017 @01:19AM (#13334361)
No, because before Google was guilty of using MegaCorp IP, but now, you're guilty of telling them they could, so you are responsible now, not Google.
Re:Go Proposal: Accept GitHub PRs by eloff on Friday January 06, 2017 @10:04AM (#13336740)
I'd like to hear that opinion from a lawyer. While it makes sense, the reality of the law doesn't always make sense.
Re:Go Proposal: Accept GitHub PRs by paulddraper on Friday January 06, 2017 @02:16PM (#13339287)
(1) Either way you're guilty.

(2) Either way Google competitor has damages on MegaCorp.

Re:Go Proposal: Accept GitHub PRs by abiox on Thursday January 05, 2017 @07:50PM (#13332938)
> Either release software under a common open source license (BSD, MIT) or not

afaik, CLAs and "open source licenses" are different things with different purposes. as such, you can have both a CLA and be BSD.

Re:Go Proposal: Accept GitHub PRs by yetanother1 on Thursday January 05, 2017 @08:30PM (#13333191)
> you can have both a CLA and be BSD

Not the case - they can claim it is so, but a BSD license with extra clauses is not a BSD license.

Re:Go Proposal: Accept GitHub PRs by detaro on Thursday January 05, 2017 @08:34PM (#13333205)
A CLA generally does not add clauses to the license. It generally contains extra rules contributors have to follow to contribute to the "main" codebase, but these are unrelated to the license. If a project has a CLA, you still have the full rights the license grants you, and you can do everything that license allows you to do without signing the CLA. The CLA only governs contributions to upstream, and I'm not aware of any open-source license that says anything about those.

As an example, many projects demand copyright assignment through a CLA from contributors, which does not add any restrictions to your use of the project allowed through the BSD license. You still can modify, redistribute, ... the source and products build on it as you wish, the CLA is only relevant if you ask the upstream project to merge some of your changes. The BSD license says nothing about how the upstream project has to accept your proposed changes.

Re:Go Proposal: Accept GitHub PRs by wyldfire on Thursday January 05, 2017 @05:48PM (#13332181)
I agree that CLAs are a bit of a hassle, but it makes things much saner for licensors and licensees alike. One high profile project that doesn't use them is the linux kernel. It's mostly only the uniformity of mind among contributors that keeps things on course. Can you imagine the consequences if one or more developers decided that they wanted to change the terms for their contributions?

--- scratch that! Ok, I'm a bit out of date: linux's DCO solves this problem without requiring a DCA. But think of other projects that want to have long term growth and what challenges could arise in the face of changing attitudes over time.