cartopy icon indicating copy to clipboard operation
cartopy copied to clipboard

Remove the CLA?

Open greglucas opened this issue 4 years ago • 9 comments

Description

The Contributor License Agreement can be intimidating and discourage people from contributing. There are very few Met Office employees contributing to Cartopy anymore, so I'm wondering if there is any way to remove the CLA and/or update the license. This would hopefully serve to enable more people to contribute to the development of Cartopy and remove any barriers that people foresee.

Links

CLA: https://scitools.org.uk/cla/v4/ License/copyright info: https://github.com/SciTools/cartopy#credits-copyright-and-license

greglucas avatar Oct 31 '21 18:10 greglucas

Great issue @greglucas, and I also second it 👍

We'll need to speak to Met Office legal to understand the steps here from our perspective @jamesp @tkknight @pelson

We did start engaging with our legal team to move to a BSD Clause-3 a while back (for the very same reasons), so we need to refresh that conversation and follow through.

bjlittle avatar Nov 01 '21 12:11 bjlittle

@greglucas @QuLogic @dopplershift

What is your idealistic expectation here?

I'm assuming to have no CLA and simply adopt https://opensource.org/licenses/BSD-3-Clause as-is?

bjlittle avatar Jan 04 '22 13:01 bjlittle

Ping @lbdreyer

bjlittle avatar Jan 04 '22 13:01 bjlittle

Yes, I think that would be ideal. Changing the license is probably a bit trickier than removing a CLA though, so I would probably suggest separating these two (CLA removal, license change) out from one another if possible. From what I can tell the signing of a CLA seems to be where people get hung up on contributing here. i.e. they will make a PR even with the current license and then not follow through once they see a CLA needs to be signed.

greglucas avatar Jan 04 '22 14:01 greglucas

@greglucas Awesome thanks. Seems reasonable to me, but we'd need a way to exclude cartopy from the CLA bot... not impossible, but we'd need to blow the dust off that piece of magic infra-structure. We are questioning the requirement for a SciTools CLA in general, particularly when moving to a more permissive licence such as BSD 3-Clause.

Anyways we're attempting to get advice from the Met Office legal guys and explore options... but those wheels turn slowly, as you might expect, so apologies about that. Hence why I've pinned this option, so that we don't forget about it.

As soon as we have any movement on this we'll get back to you guys and share, but we may get to the point where we all need to hangout to discuss this verbally, then summarise for community transparency.

Does that seem reasonable?

bjlittle avatar Jan 04 '22 15:01 bjlittle

The MO legal team's preference is to keep a CLA in place for scitools projects. As cartopy is still under the scitools umbrella, I would be uncomfortable going against this advice and removing the CLA.

As you point out, Met Office employees contributions have reduced in recent times. A wider discussion about Cartopy's future (including this topic) would be helpful here. As @bjlittle suggests, if you are interested we could set up a chat between Cartopy's core developers (those who are available!) to come up with a plan for the future of Cartopy and its community.

I'm wondering if there is any way to remove the CLA and/or update the license.

There has been some progress on the license aspect! See #2134. Assuming no concerns are raised, we should be able to update Cartopy's license to BSD-3 in October. This, at least, should help to remove some potential barriers to people using/contributing to Cartopy.

The Contributor License Agreement can be intimidating and discourage people from contributing.

For now the best I can suggest is that we try to understand why the CLA may prevent someone from contributing and then come up with ways to overcome those barriers. Some reasons I can think of:

  • Issues understanding the terms of the CLA: Legal documents are notoriously challenging for the layperson. I am working on a "Human Friendly Summary" of the CLA . I have come across a few examples of this being used to overcome this barrier (see for example HashiCorp or W3C)
  • Contributor's employer forbids them from signing: This is good thing, even if it can be a bit annoying. This is one of the purposes of the CLA, to prevent someone from making a contribution which they do not have ownership of as, for example, their employer owns the copyright instead!
  • Contributor does not agree with the use of CLAs: I don't have a solution for this one!

As a heads up, we are planning to migrate Scitools projects to a tool such as cla-assistant to manage the CLA signatures as the current implementation has unfortunately broken.

lbdreyer avatar Aug 15 '23 16:08 lbdreyer

I think simplifying the infrastructure around the CLA will accomplish what we need. In my experience, cla-assistant hasn't seemed like much of a barrier to contribution for MetPy (and other Unidata projects).

Having a doc to explain the CLA is good. We have this text to try to soften it.

dopplershift avatar Aug 15 '23 17:08 dopplershift

I agree with all of the above that was written, thanks for the great update and summary @lbdreyer. I think simplifying things is the critical component.

I was purely speculating for why people don't contribute, but I think making the license BSD and simplifying the CLA will be good enough. @dopplershift I think MetPy is a great example of the community not having issues contributing to a project with a CLA, so maybe it is just that people aren't as interested in contributing to the lower-level plotting side of things relative to the computation/calculation side of things...?

greglucas avatar Aug 15 '23 19:08 greglucas

maybe it is just that people aren't as interested in contributing to the lower-level plotting side of things relative to the computation/calculation side of things...?

I think it’s a steeper learning curve to contribute to the plotting: I never saw much difference between contributing in Iris and writing my user code, because either way I am manipulating arrays. On the other hand I’ve used Cartopy and Matplotlib for several years and didn’t need to think about what the underlying Figure/Axes/Artist objects looked like until I started to contribute.

rcomer avatar Aug 16 '23 06:08 rcomer

Closing this because there is a new CLA bot working on the repo now and it was pretty painless to get it working.

greglucas avatar Mar 05 '24 00:03 greglucas