Live data from Hacker News

Don’t sign a CLA

drewdevault.com

41–50 of 196 posts

Re: Don’t sign a CLA

#41
"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."

This goes both ways. It also gives the project maintainers the ability to relicense your work under a less restrictive licence, up to and including making it even more open (eg. from GPL to MIT).

Note that what you contribute will be open source forever regardless of a CLA: as soon as it is released (the open source version your patch is based on, and your open source contribution), the open source -ness cannot be revoked by anyone. A "community fork" from the most recent open source release is always possible, as has been seen multiple times with multiple projects, including those with CLAs.

What the author is really saying is that by signing a CLA you're revoking your claim to what the project maintainers do with the project _in the future_, after they have worked on it some more.

There is, after all, a huge asymmetry here. In a project managed by a major sponsor requiring a CLA, your contribution is probably tiny compared to the work done by project sponsors. In this case, it doesn't seem unreasonable to me for the sponsors to be wanting not to encumber their project with the removal of their ability to take _future work_ on their project closed source (because they were originally the sole copyright holders), just for the sake of a tiny contribution.

Do those tiny contributions add up? I can only think of a few projects when they do, and that's where the ecosystem consists of multiple corporate sponsors (Linux and Postgres come to mind). In most cases where there is a CLA, there is a single corporate sponsor who employs full time developers, and no other developers are contributing full time so the majority of ongoing work is done by the single sponsor. If you want to argue that the CLA is enforcing this condition, then go ahead and fork the project to prove me wrong!

If you're contributing a major component, then sure, you might want to think about it, though even then you're going to get somebody else to maintain that component for you indefinitely if you contribute it.

If you're contributing a minor bugfix, then you're probably hurting yourself (by making yourself maintain that fix forever, or forcing yourself to maintain an entire fork) more than achieving out of principle.

Re: Don’t sign a CLA

#42
post #4

It's a great point to be aware of, but the title and the tone implies that you as a contributor should be a FOSS maximalist. As they say, not all open source is FOSS. And some people are OK with that. Let them contribute, as long as they are aware of the implications. When I discover bugs in open-source projects during my day job (which is on a closed-source project), I will be much happier having those fixes merged…

>> 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. And that is fine. Don't assume all my work has to be part of your crusade.

Indeed, I've contributed to one open source project with a CLA, it had an Apache v2 license... So It didn't really seem to make any practical difference to that license. The very short agreement basically just made it explicit that they are not responsible of a contributor submitting code they don't own copyright to - which seems a little overly defensive but fair enough as Apache doesn't explicitly protect against that.

That said, I don't like the barrier CLAs impose on open source projects. Has anyone seen GPL+CLA in the wild?

Re: Don’t sign a CLA

#43

> A CLA is a kick in the groin to a contributor’s good-faith contribution to the project. I wouldn’t invest in a company that conducts business “on good faith.” That’s well and good in the domain of interpersonal interaction, but is irresponsible behavior from a company, which must do all it can to safeguard its assets and revenues. And I don’t think I’m being soulless here. A company like Facebook is entrusted with…

"Good faith" and by extension "bad faith" are quasi-legal terms. To do business in good faith is to act by the letter and spirit of terms without an intention of attempting to defraud. As I understand it, someone who acts in Good faith usually has more leniency then someone who acts in bad faith. For instance, I had a friend who upon leaving an apartment building was charged several hundred dollars for maintenance ha…

I see. Thank you.

So the question is, are they acting in bad faith if they attempt to use a CLA to subvert the open source license?

Re: Don’t sign a CLA

#44
post #4

It's a great point to be aware of, but the title and the tone implies that you as a contributor should be a FOSS maximalist. As they say, not all open source is FOSS. And some people are OK with that. Let them contribute, as long as they are aware of the implications. When I discover bugs in open-source projects during my day job (which is on a closed-source project), I will be much happier having those fixes merged…

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 against signing a CLA apply equally to contributing to non-GPLed software projects.

Re: Don’t sign a CLA

#46
post #4

It's a great point to be aware of, but the title and the tone implies that you as a contributor should be a FOSS maximalist. As they say, not all open source is FOSS. And some people are OK with that. Let them contribute, as long as they are aware of the implications. When I discover bugs in open-source projects during my day job (which is on a closed-source project), I will be much happier having those fixes merged…

> to go full Stallman and say that everything but GPL is evil. Can you provide a quote where he says or implies such a thing?

If so it would be cherry-picked, as I'm pretty sure that's not his position.

Re: Don’t sign a CLA

#47
"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 it happens all the time (though essentially all of it is resolved privately due to CLA's).

The law is full of interesting dragons. As a random example: Most open source is also too young, but in ~10-15 years, you will start to see copyright right terminations in the US (https://www.law.cornell.edu/uscode/text/17/203) for projects that have no CLA's.

It's inevitable. (as is having to deal with the rights of people who are dead, which already happens)

Projects often need to do something to protect themselves over time (regardless of whether it's a CLA or copyright assignment or ...)

2. Protect the projects from patents in #1 when the license does not do so.

(this is also resolved privately)

It also resolves an issue that only has popped up recently, copyright trolling by folks like Patrick McHardy.

Relicensing is a very secondary concern, and mostly comes into play over time because the project screws up or grows larger than it expected.

The boogeyman of "corporation takes away my rights" is a nice boogeyman, but the infinitely more common case is "project screws up because they didn't think about licensing when they started". The number of "corporate relicensings" is vastly dwarfed by non-corporate ones.

One of the more interesting things to me is that the largest mass relicensing i'm aware of was the FSF force-relicensing projects to GPLv3 (sometimes quite against majority-contributor wishes), with no comment or discussion or allowance for dissent. So it wasn't a corporation doing it for whatever, it was a foundation doing it for ideological reasons.

The fact the article tries to make it seem like it's happening all the time is disingenuous at best, and honestly only serves to make the argument weaker (because it's unsupported by data).

I'd also point out a CLA or equivalent is also necessary to move a project from gpl-v2 only to gpl-v3 (IE not "restrictive software licenses") if the project later chose. Otherwise it is stuck in limbo forever.

The answer you usually get from anti-CLA folks is "they shouldn't do that in the first place" which is nice but doesn't actually fit with the fact that most people basically don't pay any attention to license choices in a meaningful way when they start projects. Or make mistakes. You know, one of the reasons we have version control in the first place - so we can change things we got wrong over time.

Even if you could cause them to not make mistakes, or never change viewpoints, you'd still have millions of legacy projects to deal with.

All this article tells me is that the person hasn't run a large enough open source project to have to deal with these in a meaningful way. That's okay. But i've never found someone who did who has not run into the issues above and eventually moved to CLA's or an equivalent.

I've also spent a lot of time in my life fixing smaller projects that never had one, and then became larger, and then had to clean up the mess. It usually costs foundations/etc a lot of money and time to track down contributors or pull code.

I'd actually love to live in a world where CLA's aren't necessary (and copyright was sane). But pretending we do won't get us there.

[1] bradley kuhn wrote a much better article than this one (no offense to the author here!), though i disagree with bradley's view :P - https://sfconservancy.org/blog/2014/jun/09/do-not-need-cla/

Re: Don’t sign a CLA

#48
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…

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?

Most non-copyleft open-source licenses have their own requirements that must be followed even when re-licensing.

Also, technically if you don't pay for code the copyright holder can revoke the license at any time. So if you sign a CLA the project can retroactively stop you from using your own code. Unfortunately, this is a major argument for projects to require a CLA in the first place.

Re: Don’t sign a CLA

#49
post #19

Earlier quoted context omitted.

>not all open source is FOSS >This is not the case of all open source licenses. false. open source is literally just a friendlier name and otherwise rebranding of free software. all open source is free software and all free software is open source. if you are contributing to FOSS qua FOSS, then you want it to remain FOSS. FOSS refers to that software which guarantees your right to change it, so if you are making chan…

> false. open source is literally just a friendlier name and otherwise rebranding of free software. This is not how anyone I have ever talked to thinks about it. You are probably confusing Free Software[0] with open source software[1]. If you still hold your point we are arguing semantics and stating that your interpretation (a minority interpretation) is right and that most of the software industry and open source c…

>> if you are contributing to FOSS qua FOSS, then you want it to remain FOSS

>Not necessarily.

Perhaps you missed the "qua FOSS"? This is latin for "because it is", in this context "contributing to FOSS because it is FOSS".

the osd guarantees the relevant right for an individual to change the software. if you apreciate this right, then you should work to preserve it.

Post reply on HN