Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-evaluate Project CLA #1252

Closed
austinlparker opened this issue Oct 10, 2022 · 48 comments
Closed

Re-evaluate Project CLA #1252

austinlparker opened this issue Oct 10, 2022 · 48 comments

Comments

@austinlparker
Copy link
Member

austinlparker commented Oct 10, 2022

A recent Twitter thread discussed challenges in contributing due to the requirements of EasyCLA (namely, legal name/address information being on file).

In the past, we opted for EasyCLA in lieu of DCO due to issues with contributions from the web editor/PR suggestions (see #300 for more info). However, recent GitHub updates allow for signoff for web-based commits.

In addition to the privacy concerns raised in the thread, I'm sure we all have had our various run-ins with the... quirks of EasyCLA, especially frustrating in repositories like open telemetry.io (where we receive a larger-than-usual amount of 'drive by' PRs to fix docs issues/misspellings/etc. and blog content).

Given that, I propose we re-evaluate our use of EasyCLA and consider DCO instead to address -- at the very least -- the privacy concerns. While the primary contributors to OpenTelemetry may be corporate devs, I think it behooves us to consider least-restrictive covenants, especially as we hope to continue to grow the community.

@svrnm
Copy link
Member

svrnm commented Oct 11, 2022

In addition to the privacy concerns raised in the thread, I'm sure we all have had our various run-ins with the... quirks of EasyCLA, especially frustrating in repositories like open telemetry.io (where we receive a larger-than-usual amount of 'drive by' PRs to fix docs issues/misspellings/etc. and blog content).

Agreed, this is probably stopping a lot of people from contributing something.

@codeboten
Copy link
Contributor

codeboten commented Oct 11, 2022

I'd love to see this made easier. Are there any stats on the number of PRs closed right after the CLA check fails? I don't know if this is something github querying can provide. I understand this wouldn't account for folks that aren't even submitting because of the CLA, but it would be one data point to consider in making this decision.

Anecdotally, I've seen a few instances where:

  • folks have opened PRs and they've lingered for weeks while they were trying to get CLA approvals through their organizations
  • contributors open PRs, only to close them with a note regarding the CLA they have no intention on signing

@jaronoff97
Copy link

+1 I'm a fan of removing this barrier to entry given we can safely do so.

@jmacd
Copy link
Contributor

jmacd commented Oct 11, 2022

EasyCLA is also causing technical difficulties. Here is a PR that is blocked by EasyCLA where every commit except dependabot passes EasyCLA: open-telemetry/otel-arrow-collector#6

@austinlparker
Copy link
Member Author

  • folks have opened PRs and they've lingered for weeks while they were trying to get CLA approvals through their organizations

I'm not sure the DCO would solve this problem necessarily... although I suppose it depends on a lot of letter vs. spirit of the law factors. The following is the text of the Developer Certification:

Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

IANAL but I suspect that if your organization has problems approving the CLA, they'd also be equally skittish about approving this since it's an IP sign-off.

@austinlparker
Copy link
Member Author

I guess a salient question to answer would be "Are there existing contributors whose organizations would not be OK with them contributing under the DCO but are OK with them contributing under the CLA?"

@musingvirtual
Copy link
Contributor

+1 to removing this barrier to entry, especially because there is a simple elegant solution in the form of the DCO.

@jkowall
Copy link
Contributor

jkowall commented Oct 12, 2022

DCO and CLA have legal implications for companies. EasyCLA makes managing a company easier across projects legally where the DCO is untraceable centrally. Personally both are fine. It's one time work.

@yurishkuro
Copy link
Member

I've seen DCO/commit-signing creating constant friction, on every PR from people not accustomed to git commit -s (a muscle memory for me now). So I agree that one-time pain of CLA is better than DCO.

Having said that, this walkthrough for EasyCLA is like 10 steps, not so "easy". On top of that, asking to type full name, email and physical address (wut? DCO does not require that!) seems completely unnecessary.

@yurishkuro yurishkuro changed the title Evaluate Project CLA Re-evaluate Project CLA Oct 12, 2022
@dyladan
Copy link
Member

dyladan commented Oct 12, 2022

I guess a salient question to answer would be "Are there existing contributors whose organizations would not be OK with them contributing under the DCO but are OK with them contributing under the CLA?"

This is definitely a question worth asking. I 100% agree that requiring a physical address is completely uncalled for, and we should definitely find a contribution process that doesn't have such unreasonable requirements, but we want to make sure if we change the process we do it in a considered way. We don't want to just end up excluding a different set of people. Whatever we decide should be done with an eye to including as many people as possible.

We should also make sure we have a good handle on what is required by cncf and what we have control over early in the process. EasyCLA afaik is a tool that was at least suggested if not mandated by the cncf/lf.

@svrnm
Copy link
Member

svrnm commented Oct 12, 2022

I would assume that OTel is not the first CNCF project having that kind of discussion, can we learn from any other project how they went about it, why they picked DCO, EasyCLA, ... and not the other one?

@jkowall
Copy link
Contributor

jkowall commented Oct 12, 2022

I've seen DCO/commit-signing creating constant friction, on every PR from people not accustomed to git commit -s (a muscle memory for me now). So I agree that one-time pain of CLA is better than DCO.

I agree, not to mention the extra git setup, I work on 6 different machines, and always I am checking my username.... I have to do the work for other projects anyway, so this wouldn't change with Otel.

@dyladan
Copy link
Member

dyladan commented Oct 12, 2022

I wonder if it is possible to convince the CNCF to remove the physical mailing address requirement? There is already a "public name" for those users who wish not to provide their real name in public.

@castrojo
Copy link

There's a #maintainers-circle on CNCF Slack if you're looking for more opinions from other projects.

@austinlparker
Copy link
Member Author

Thanks @castrojo, I've opened a slack thread over there to solicit opinions.

@dyladan
Copy link
Member

dyladan commented Oct 12, 2022

Link to thread for visibility/archival purposes https://cloud-native.slack.com/archives/C014YQ8CDCG/p1665592687862959

@MadVikingGod
Copy link

Is it possible to also have a legal team look over the risks this organization takes by switching to this new form of licensing?

I assume the CLA is there to reduce the risk of a contributor or their employer suing CNCF/Otel for copyright or patent infringement. If we make it easier to contribute, is there additional risk? Are the risks different?

@dyladan
Copy link
Member

dyladan commented Oct 13, 2022

An interesting idea was brought up by @oleg-nenashev from Dynatrace who helps manage the Keptn project (another cncf project). They are considering a hybrid solution where a contributor can choose to sign a CLA or can use a DCO, whichever works for them.
The flow is as follows:

  1. DCO is enabled across the board in the project
  2. there is a special CLA repository with configured EasyCLA. Everyone can submit a short pull request with their or company name, and to sign CLA for this request
  3. Once the pull request is merged, the users are added to the global DCO ignore list on .github. After that the DCO bot will skip commits from those users

(3) requires a simple patch on the DCO bot side. Oleg has already made contact with the bot maintainer about the possibility of this and they seemed receptive.

@beeme1mr also expressed interest in this for open feature (yet another cncf project)

The @open-telemetry/governance-committee discussed this at this week's meeting and it was agreed to propose the solution here and gather feedback. Next week the governance committee will vote to move forward with this or not.

@SergeyKanzhelev
Copy link
Member

I assume the CLA is there to reduce the risk of a contributor or their employer suing CNCF/Otel for copyright or patent infringement. If we make it easier to contribute, is there additional risk? Are the risks different?

Not a layer. From what I am told the risk for companies was never challenged in court so there is no precedence. Some companies prefer CLA over DCO as a better "potential" protection. But since neither was challenged in court and has no precedence, this is just an opinion and desire to get as much protection as possible.

I don't think CLA is a CNCF requirement either as there are many projects with different models are currently under CNCF umbrella. But CNCF may have an opinion here (cc @caniszczyk).

I'd say the easiest fix for corp contributors would be to keep CLA, but simplify the EasyCLA process for smaller contributions.

@austinlparker
Copy link
Member Author

The hybrid CLA/DCO approach is interesting to me, that seems like it satisfies all use cases? Just to check my thinking, these would be the paths for contributors -

  • Individual CLA Contributor: Creates PR in CLA repo w/EasyCLA check, if CLA is filled out/valid then their commits are automatically considered signed via DCO ignore list.
  • Corporate CLA Contributor: Same as individual, except using a corporate CLA
  • DCO Contributor: Does not have to fill out the CLA nor make a PR in CLA repo, but does have to sign-off on all commits.

Is that the long and short of it?

@dyladan
Copy link
Member

dyladan commented Oct 14, 2022

The hybrid CLA/DCO approach is interesting to me, that seems like it satisfies all use cases? Just to check my thinking, these would be the paths for contributors -

  • Individual CLA Contributor: Creates PR in CLA repo w/EasyCLA check, if CLA is filled out/valid then their commits are automatically considered signed via DCO ignore list.
  • Corporate CLA Contributor: Same as individual, except using a corporate CLA
  • DCO Contributor: Does not have to fill out the CLA nor make a PR in CLA repo, but does have to sign-off on all commits.

Is that the long and short of it?

yeah that's basically what i'm thinking

@yurishkuro
Copy link
Member

yurishkuro commented Oct 14, 2022

Just to put a different light on this: there are two perspectives here, a contributor perspective and a consumer perspective. I think the hybrid CLA/DCO proposal solves the contributor perspective, but does not address the consumer side.

Some companies may say they don't want to use a project that only uses DCO because it provides weaker guarantees than the CLA-only project. And if they can't use such project they don't want to contribute to it either. This was precisely the rationale raised by one of the participant companies when were were forming OpenTelemetry.

As @SergeyKanzhelev mentioned (#1252 (comment)), neither DCO nor CLA were tried in court. Personally (not a lawyer) I think "CLA is stronger" reasoning doesn't hold water because all these companies are using Linux which has DCO only. But for us as a project to decide to not enforce CLA is essentially answering this question: will it turn off potential consumers (and, respectively, contributors funded by those consumers)?

It would be nice if CNCF TOC or even GB would make this call instead of doing it per-project (cc @caniszczyk).

@SergeyKanzhelev
Copy link
Member

SergeyKanzhelev commented Oct 14, 2022

+1 to @yurishkuro that automation is important, but secondary to the primary decision.

Updated: I misread the proposal

@austinlparker
Copy link
Member Author

austinlparker commented Oct 15, 2022

As @SergeyKanzhelev mentioned (#1252 (comment)), neither DCO nor CLA were tried in court. Personally (not a lawyer) I think "CLA is stronger" reasoning doesn't hold water because all these companies are using Linux which has DCO only. But for us as a project to decide to not enforce CLA is essentially answering this question: will it turn off potential consumers (and, respectively, contributors funded by those consumers)?

This is effectively the question behind the question I asked upthread; for current corporate contributors, does DCO cause problems? Does it imperil our ability for Splunk, Datadog, Dynatrace, Lightstep, et. al. to adopt and push OpenTelemetry as a primary instrumentation/data format standard? To your consumer-side question, does it imperil the AWSes, Microsofts, Googles, and other cloud providers/managed service providers of the world ability or desire to integrate OpenTelemetry into their commercial offerings?

I don't necessarily want the CNCF GB to make this decision for us, and I'm not entirely sure if this is an answerable question. I think you're right that everyone I just named is using Linux somehow (and potentially thousands of other non-copyleft licensed projects that don't use either a CLA or a DCO), so it seems unlikely to actually make a difference, but that's a guess and not a fact.

edit -- to clarify, I don't want the CNCF to answer it by mandating a solution. If they have insight into the likelihood of this change causing difficulties with adoption, then I'd like to hear it.

@caniszczyk
Copy link

caniszczyk commented Oct 15, 2022 via email

@joshtriplett
Copy link

joshtriplett commented Oct 16, 2022

FWIW, the CLA has definitely stopped me from making any contributions to OpenTelemetry. With other projects, I can and do submit PRs when I run into issues. With OpenTelemetry, I don't, because the CLA is in place.

Simplifying the CLA process wouldn't change that; it's having to agree to a CLA at all that's the blocker.

By contrast, the DCO would not be an imposition at all.

Thank you very much for re-evaluating the CLA.

@edwarnicke
Copy link

+1 to removing the CLA. The DCO is good enough for the kernel. In my experience the only things CLAs do is erect barriers to entry to participation.

@austinlparker
Copy link
Member Author

@joshtriplett Quick question; would a hybrid solution where the CLA exists, but contributions can be made under DCO, satisfy this concern or do you view the CLA itself as a taint on the project/code overall? Thanks in advance.

@mxmehl
Copy link

mxmehl commented Oct 25, 2022

FWIW, offering DCO would be already a great improvement, and I would appreciate getting rid of CLA altogether. It's most often a red flag, creating a strong imbalance between the involved parties. Most certainly it's a blocker for many companies and individual contributors to participate in projects with CLA.

I wonder: what is the actual/official reason for this project to demand signing the CLA? Is it the mere fact that otherwise contributors would have to sign-off all their commits? Or is there a strategical reason?

@joshtriplett
Copy link

joshtriplett commented Oct 25, 2022

@austinlparker wrote:

@joshtriplett Quick question; would a hybrid solution where the CLA exists, but contributions can be made under DCO, satisfy this concern or do you view the CLA itself as a taint on the project/code overall? Thanks in advance.

That would be enough to contribute, as long as I wouldn't have to agree to the CLA. Having it as an alternative is odd, but if there are companies that want it as an alternative, that seems fine as long as it's positioned as such ("here's an alternative if your company wants it"). I wouldn't want to see it as a preferred thing that people are pushed towards.

@jpkrohling
Copy link
Member

How can we move this forward? Having DCO would have enabled more people to contribute to the project. Example:

open-telemetry/opentelemetry-collector-releases#245

@dyladan
Copy link
Member

dyladan commented Nov 30, 2022

We've talked a lot about it but haven't had any real assignable action items come out of it. I know we discussed soliciting the opinions of the large contributors to OTel but i'm not aware of any follow up from that. There were also a couple proposals including the hybrid DCO/CLA. Let's discuss at the GC meeting tomorrow.

@floric
Copy link

floric commented Dec 27, 2022

We've talked a lot about it but haven't had any real assignable action items come out of it. I know we discussed soliciting the opinions of the large contributors to OTel but i'm not aware of any follow up from that. There were also a couple proposals including the hybrid DCO/CLA. Let's discuss at the GC meeting tomorrow.

Did you discuss the topic in your meeting?

@dyladan
Copy link
Member

dyladan commented Dec 27, 2022

Yes it has been discussed several times. With regard to the hybrid DCO/CLA model, @caniszczyk from the CNCF said "we don’t allow for [that option] given the current IP Policy," so at this point we have to decide between CLA or DCO. Neither option is perfect for everyone, so we are currently in the process of gathering feedback from users and contributors to ensure the option we choose is as inclusive of as many people as possible.

@floric
Copy link

floric commented Dec 28, 2022

Yes it has been discussed several times. With regard to the hybrid DCO/CLA model, @caniszczyk from the CNCF said "we don’t allow for [that option] given the current IP Policy," so at this point we have to decide between CLA or DCO. Neither option is perfect for everyone, so we are currently in the process of gathering feedback from users and contributors to ensure the option we choose is as inclusive of as many people as possible.

Great, thanks a lot for your response. :)

@trask
Copy link
Member

trask commented Feb 15, 2023

I wonder if it is possible to convince the CNCF to remove the physical mailing address requirement? There is already a "public name" for those users who wish not to provide their real name in public.

👍👍 (ran into this today with open-telemetry/opentelemetry-specification#3208 (comment))

I'll check with @dyladan and we can open a ticket with CNCF to ask about this.

@dyladan
Copy link
Member

dyladan commented Feb 15, 2023

We definitely can when I get back from vacation Tuesday. Any GC member should be able to do it and share with other GC members if that's too long a wait

@trask
Copy link
Member

trask commented Feb 15, 2023

cool, I'll open the ticket, thx for the quick response!

@hdost
Copy link
Contributor

hdost commented Mar 16, 2023

I wonder if it is possible to convince the CNCF to remove the physical mailing address requirement? There is already a "public name" for those users who wish not to provide their real name in public.

+1+1 (ran into this today with open-telemetry/opentelemetry-specification#3208 (comment))

I'll check with @dyladan and we can open a ticket with CNCF to ask about this.

Is the ticket with CNCF open already, and if so, is it public?

@trask
Copy link
Member

trask commented Mar 16, 2023

It's open, but the tickets are not public. I'll give a ping on the ticket when I'm back from vacation near the end of March, to see if there's any internal progress.

@mxmehl
Copy link

mxmehl commented Mar 16, 2023

Thanks. Does someone know whether CNCF members can have a vote on this internal ticket?

@jpkrohling
Copy link
Member

jpkrohling commented Mar 22, 2023

I believe only GC members (the official OpenTelemetry maintainers) have access to the OTel service desk tickets. The ticket is currently under with Legal to review.

@hdost
Copy link
Contributor

hdost commented May 31, 2023

I believe only GC members (the official OpenTelemetry maintainers) have access to the OTel service desk tickets. The ticket is currently under with Legal to review.

That's not a short process I'm sure. Any chance to know the status?

I normally try not to do these type of posts but given there's technically two tickets (public/private) I figure it might be worth asking.

@jpkrohling
Copy link
Member

@alolita, I think you opened this ticket. Do you have an update?

@djc
Copy link

djc commented Jun 13, 2023

Yes it has been discussed several times. With regard to the hybrid DCO/CLA model, @caniszczyk from the CNCF said "we don’t allow for [that option] given the current IP Policy," so at this point we have to decide between CLA or DCO. Neither option is perfect for everyone, so we are currently in the process of gathering feedback from users and contributors to ensure the option we choose is as inclusive of as many people as possible.

Any progress on this? It's been 6 months...

(This came up recently on Twitter: https://twitter.com/_cartermp/status/1668417878276841472.)

@trask
Copy link
Member

trask commented Aug 1, 2024

I wonder if it is possible to convince the CNCF to remove the physical mailing address requirement? There is already a "public name" for those users who wish not to provide their real name in public.

+1+1 (ran into this today with open-telemetry/opentelemetry-specification#3208 (comment))
I'll check with @dyladan and we can open a ticket with CNCF to ask about this.

Is the ticket with CNCF open already, and if so, is it public?

we got an update back on the CNCF ticket:

The legal committee did agree that the “Mailing address” field can be removed from the Individual CLA form. Country will still be required though. We’ll be following up on getting the tools updated.

@dyladan
Copy link
Member

dyladan commented Oct 3, 2024

GC voted to close this issue for now

@dyladan dyladan closed this as completed Oct 3, 2024
@mtwo
Copy link
Member

mtwo commented Oct 3, 2024

Update from the Governance Committee: as Trask said, the CNCF has removed the mailing address requirement. However we don't think that it's feasible to switch from a CLA to a DCO, as we haven't seen massive demand for this since the issue was active, and many of the corporate contributors have a strong preference for a CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests