Live data from Hacker News

Don’t sign a CLA

drewdevault.com

81–90 of 196 posts

Re: Don’t sign a CLA

#81
A blog post of mine arguing for CLAs:

https://writing.kemitchell.com/2018/01/06/CLAs-Are-Not-a-Sha...

My post responds to a different blog post. Some of the arguments here are different.

Here, I can't help pointing out two minor vocabulary issues.

A "Contributor License Agreement" does not usually transfer ownership of copyright. We call documents that do "copyright assignments", and they require special formalities. There are some strange hybrids, like CLAs that assign joint ownership of copyright, but they're the exception. Most CLAs that I see are merely additional license grants from contributor to project steward or BDFL.

"Relicense" gets misused and misunderstood all the time. It's very rare to see anyone try to change license terms for code already released under an open source license, and distributed to others. There are legal questions about whether this is possible or practical. And as I recall, Redis Labs didn't try to do that, but only changed the terms that will apply to new work on select Redis add-ons, going forward. In other words, they changed the terms they'll use for future work.

We sometimes say "relicensing" when we mean "dual licensing" or "offering the same code on different terms", rather than changing the one-and-only set of terms that apply to software. The former describes what companies do when they steward a project under a common open source license, often GPL or AGPL, but also sign business deals that include traditional, proprietary-style license terms. Often, such licenses omit requirements to preserve copyright notices from developers, and also copyleft requirements. At the same time, business-to-business licenses are often more restrictive in other ways, like limiting to internal business use, prohibiting reselling, seat-limiting, and so on.

CLAs often give corporate stewards the more permissive licenses they need to sign those kinds of terms with customers. In that sense, CLAs make possible the business model that supports the company stewarding the project.

Re: Don’t sign a CLA

#82
This seems to be an argument against non-viral licenses than CLAs:

> We’ve seen this happen before. Consider the Redis Labs debacle, where they adopted the nonfree1 Anti-Commons Clause2, and used their CLA to pull along any external contributions for the ride. As thanks for the generous time invested by their community into their software, they yank it out from underneath it and repurpose it to make money with an obscenely nonfree product.

People can already repurpose software with permissive licenses such as MIT, BSD, or Apache 2.0. That's actually the point of those licenses, isn't it?

Re: Don’t sign a CLA

#83
post #44

Earlier quoted context omitted.

Author here. Thanks for writing up your thoughts. >As they say, not all open source is FOSS This isn't true - you mean "not all open source is copyleft". >> Free and open source software licenses grant explicit freedoms to three groups: the maintainers, the users, and the contributors. >This is not the case of all open source licenses This is also not true. You should review the open source definition: https://openso…

> I did not say that, nor do I believe it, nor is it really related. What is the practical difference between contributing under a CLA to a project that's currently under an open-source license and contributing under a non-copyleft open-source license while retaining the copyright yourself? In both cases the project's ability to "go closed source" seems substantially the same, so it seems to me that your arguments ag…

CLA's basically do one thing: Protect the company using them from being sued by a contributor, or from being sued if a contributor copy pastes copyrighted code into the project. They're there to protect corporations that have outside contributors to projects they build and sell, typically. Sometimes, they're fine, like if you signed one to work on some obscure Linux driver for an obscure hardware item: the hardware company might want an outsider to write it, but still need legal protections since the person basically wandered in off the street from their legal departments view.

Sometimes, CLAs are bad. Oracle loves CLAs. Sun Microsystems loved CLAs. Pretty sure you have to sign one to contribute to OpenJDK now...

Open source licenses can be just awful too. AGPL, for example. CLAs are not an immediate "no," but they should make you ask "Why am I signing this?" If you can't come up with a good reason, fine, don't sign it. But don't for a second think you'll get code into a project run by Oracle without signing one.

Re: Don’t sign a CLA

#84

Earlier quoted context omitted.

By assigning copyright to them, you give them the right to distribute your work under a different license. Yes, you can't take back the original license from the older code. But they could start distributing the code without respect to the original license. >The "without limitation" part of the MIT license guards against this doesn't it? Ah, but it reads "without limitation [...] subject to the following conditions"

Yes, but those conditions start and end at requiring attribution. MIT already allows sublicensing, so a CLA for an MIT project (assuming nothing else shady is going on) really only buys them the ability to change future licenses to something incompatible with MIT (would that be called superlicensing?), and possibly remove your attribution in future versions. That to me is philosophically what I want out of a permissi…

>Yes, but those conditions start and end at requiring attribution.

Read carefully:

>copyright notice and this permission notice

>MIT already allows sublicensing

IANAL, but sublicensing can only impose additional clauses, it cannot roll back any grants or restrictions of the original license.

Re: Don’t sign a CLA

#85
post #44

Earlier quoted context omitted.

> I did not say that, nor do I believe it, nor is it really related. What is the practical difference between contributing under a CLA to a project that's currently under an open-source license and contributing under a non-copyleft open-source license while retaining the copyright yourself? In both cases the project's ability to "go closed source" seems substantially the same, so it seems to me that your arguments ag…

The GPL family of licenses certainly provides the strongest guarantees to the contributor. But let's consider a "weak" license like MIT. Here's the text to refresh your memory: https://opensource.org/licenses/MIT If you change the license, all of the original work must still be distributed under MIT and only the work done after the cutover can use a new license. The GPL differs in that the new work must also be licen…

> If you change the license, all of the original work must still be distributed under MIT and only the work done after the cutover can use a new license.

That's pretty meaningless given that there is no obligation to distribute the source code to the new version, or to provide any way that "substantial portions" that are used in the new version can be extracted and used separately from the new-license work.

Meanwhile if you contribute to a currently-MIT-licensed project under a CLA, you have a copy of the current version under the MIT license and can continue to redistribute that indefinitely.

So what practical difference does it make?

Re: Don’t sign a CLA

#86

Earlier quoted context omitted.

Yes, but those conditions start and end at requiring attribution. MIT already allows sublicensing, so a CLA for an MIT project (assuming nothing else shady is going on) really only buys them the ability to change future licenses to something incompatible with MIT (would that be called superlicensing?), and possibly remove your attribution in future versions. That to me is philosophically what I want out of a permissi…

>Yes, but those conditions start and end at requiring attribution. Read carefully: >copyright notice and this permission notice >MIT already allows sublicensing IANAL, but sublicensing can only impose additional clauses, it cannot roll back any grants or restrictions of the original license.

Sorry, that is what I meant by attribution (which is defined as the copyright and license in MIT).

>IANAL, but sublicensing can only impose additional clauses, it cannot roll back any grants or restrictions of the original license.

Yeah, so a CLA allows that to move to a "superlicense" kind of thing (still not sure if that word makes sense there), so they could rollback those grants or restrictions of the MIT license in the future, but they cannot do so for the past.

Which, I'm okay with in a lot of cases, as that is what I philosophically want from a permissive license. However I can see how many would not be.

Re: Don’t sign a CLA

#87
post #20

Wait, Free Software Foundation requires a CLA itself! https://www.gnu.org/licenses/why-assign.en.html

They do, and I believe it's because it gives them a better platform from which to pursue GPL violation claims. I think that's basically sensible and an exception to OP's general statement -- if you're contributing to an FSF project, you need to understand that what you're doing is political as well as technical. You're giving FSF more ammunition with which to enforce copyleft. FSF is an exception to the concern that…

[deleted]

Re: Don’t sign a CLA

#88
> What about the Apache Foundation CLA? This CLA is one of the better ones, because it doesn’t transfer copyright over your work to the Apache Foundation. I have no beef with clauses 1 and 3-8. However, term 2 is too broad and I would not sign this CLA.

Term 2 of the CLA just defines inbound=outbound for Term 2 of the License (https://www.apache.org/licenses/LICENSE-2.0).

The Apache CLA is pretty benign (for projects that are distributed under the Apache license; sometimes it is used for projects distributed under different licenses and then it gets murky), but the overhead to contributors and maintainers is significant and it is less precise than a Developer's Certificate of Origin. The "Inbound=Outbound Is All You Need" section of this post is on-point. http://ebb.org/bkuhn/blog/2011/07/07/harmony-harmful.html

Re: Don’t sign a CLA

#89
This goes both ways. Don't remember specifics, but contributors trying to "revoke" their license to destroy a FOSS project is about as common as a company trying to use your contributions in a only non-free version.

Re: Don’t sign a CLA

#90

"What the CLA is actually used for is to give the project maintainers the ability to relicense your work under a more restrictive software license, up to and including making it entirely closed source." Actually, it serves two main purposes[1] : 1. Protect the project from people who don't actually have the necessary rights to be contributing or wish to retract contributions later. This is the most common case, and i…

Is it a settled argument that the US statutory termination right applies to copyrights granted by the common open source licenses? Could you maybe point to a good legal discussion of this issue?
Post reply on HN