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

Clarify "real name" when contributing via DCO #383

Closed
dims opened this issue Jul 7, 2022 · 9 comments
Closed

Clarify "real name" when contributing via DCO #383

dims opened this issue Jul 7, 2022 · 9 comments

Comments

@dims
Copy link
Member

dims commented Jul 7, 2022

Context:
We had a issue opened a week ago - #379

Which resulted in an update from CNCF staff as to what the current policy was:
cncf/toc@4b5d504

However, talking to community folks who currently are already contributing, there are a bunch of questions/concerns:

  • What is the standard for a "real name" or "legal name".
    • Could it be just initials? Use of legal first, middle and last initial (instead of the full legal name)?
    • Could it be full first or middle or last name, with a first or middle or last initial?
    • Could folks simply omit the name and use the email id as a distinguishing identifier?
    • What is the role of the email id? Is this enough for someone to be reached? (Can folks use github noreply email ids?)
    • Can folks simply email the governing bodies of how they can be reached and what they would use with say their DCO? (Since what's the point of the name+email anyway other than to ensure we know who the person is and how they can be reached)
    • Can we rely on an employer knowing who the person is and the governance bodies have a way to communicate with the employer of the person when there is an issue? (so the person can just use an email id and initials and not disclose anything more than that?)

Looks like other LF projects have tried a failed before [1]. However could we do better than those projects that were simply not as diverse to avoid harm[2] and be more welcoming than those projects?

As one person eloquently put:
for the people who raised this concern about anonymity, the choice is not between contributing with their real name or a pseudonym, the choice is between contributing or not contributing at all. For a person who cannot have their name in public, requiring them to go public in order to be part of an OSS project, in effect excludes them from that project.

For reducing the scope of this discussion, let us limit this set of questions to DCO for now. As a community, we petition the GB and Legal Committee to take a look at this more carefully and deliberately.

(Please don't close this as WONT-FIX / WORKING-AS-INTENDED unless we get an official word from GB + Legal Committee)

Also see traffic on CNCF-TOC mailing list as well - https://lists.cncf.io/g/cncf-toc/topic/92137934

[1] https://wiki.hyperledger.org/display/TSC/DCO+and+Pseudonyms
[2] https://en.wikipedia.org/wiki/Deadnaming

cc @parispittman @RichiH (as Developer Reps in GB)

@TheFoxAtWork
Copy link
Contributor

I don't know what it should look like and I am not an expert in this area, but I do know our community is expected to be one of the most inclusive and implementing processes or policies that remove the choice of participation regardless that is the intent or 'just' an effect - it is debilitating to our growth, diversity, innovation. The security community has long used pseudonyms and it still thrives. There should be no reason to continue a practice bc others have done it or bc we've always done it. I expect us to break new ground, be different, that's what makes cloud native.

@AlexsJones
Copy link

AlexsJones commented Jul 7, 2022

I at least need clarification on whether the reason behind "real name" is to link individual liability or not.
If the former then it's a licensing issue, if the latter then there is no reason to do it at all.

@endocrimes
Copy link

This has per-country legal complications too - some countries don't strictly have a "legal name" (e.g the UK)

@mkdolan
Copy link

mkdolan commented Jul 7, 2022

Hi @dims, @caniszczyk pointed me to this issue and asked me to clarify what I had provided last Friday. it wasn’t clear to me in #379 that this is what you were asking about and my response was without awareness of your interest in the broader question raised in this issue.

The DCO is a representation by someone stating they have the right to contribute the code they have proposed for acceptance into a project. That representation is important for legal purposes and was the community-developed outcome after a $1 billion lawsuit by SCO against IBM. The representation is designed to prevent issues but also keep the burden on contributors low. It has proven very adaptable to other projects, is built into git itself (and now also GitHub), and is in use by thousands of projects to avoid more burdensome requirements to contribute (such as a CLA).

The real name should be a real one that can be used to identify the person making the representation. It's not required to be a legal name, your name on a passport, a birth name, or anything official, but a real name such that someone in the community would be able to find the person if an issue with the code they contributed were ever to arise. There is also an email address, but emails don't always work forever, especially as people change jobs. The point is to be able to identify the real person, regardless of their birth name, legal name, etc. Anyone can use the real name people in the community know them as. The point is to avoid anonymous ids, fake names, or throwaway pseudonyms such as ABC123 at anonymous123@mail.ru from contributing intellectual property with no path for the community to identify who that contributor was - if and when an issue were to arise. If a patent dispute broke out over ABC123's contribution - how would we ever identify them?

If CNCF wants to go beyond the kernel documentation to explain this, that would be fine to do. It could be a statement along the lines of the following (just a quick draft, could probably use improvements):

The DCO requires the use of a real name that can be used to identify someone in case there is an issue about a contribution they made. A real name does not require a legal name, nor a birth name, nor any name that appears on an official ID (e.g. a passport). Your real name is the name you convey to people in the community for them to use to identify you as you. The key concern is that your identification is sufficient enough to contact you if an issue were to arise in the future about your contribution. Your real name should not be an anonymous id or false name that misrepresents who you are.

@madikaia
Copy link

madikaia commented Jul 7, 2022

Thank you to everyone who has voiced their opinions on this thread! This topic is very close to my heart and I couldn't agree more with the comment by @TheFoxAtWork that ran along the lines of "let's not keep doing something just because we've always done it this way".

@mkdolan is exactly right about why code attribution is necessary. There is no doubt that tracking each and every contribution back to the contributor is needed, however there are a number of ways in which this may be achieved without necessarily publishing real names. @dims in the original post listed a few alternatives for keeping track of a contributor, without expecting them to disclose their real name in a public repo. I am a big advocate for some of these alternatives to be considered!

I can give an example of the use case that I am working with. A number of people in my product group are very keen to contribute to open source projects - and in fact PARSEC is one that we want to engage with in the near future - but will not do so if it means publishing their real names, and the current CNCF contribution policy does not allow pseudonyms or anonymous contributions. As a product group - and as an employer - we can keep an internal record of each contributor's name, and allow that person to use a pseudonym in public. As long as the employer is trusted to keep that persistent record and to release the real names if required - e.g. in case some piece of code is contested - then a solution of this sort would satisfy the requirements.

Perhaps another way to look at it is to state the overarching rule that requires code attribution and be open to look at ways of fulfilling it on a case-by-case basis?

@justincormack
Copy link

Hi @madikaia just to be clear, @mkdolan statement is an official Linux Foundation clarification of the intended meaning, to make it clear that real names are not required, only ability to identify the person in the community.

@madikaia
Copy link

madikaia commented Jul 11, 2022 via email

caniszczyk added a commit that referenced this issue Jul 19, 2022
#383

Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
@caniszczyk
Copy link
Contributor

Thank you everyone for the valuable feedback, we have clarified this in an official doc https://github.com/cncf/foundation/blob/main/dco-guidelines.md

@leo60228
Copy link

@mkdolan statement is an official Linux Foundation clarification of the intended meaning

@justincormack Does it also apply to Linux Foundation projects not under the CNCF? If so, that's great news, and the kernel docs should be updated.

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

No branches or pull requests

9 participants