github签收需要发布全名+邮箱"that matches the commit author"是否符合DCO?
Is it in line with the DCO that a github sign-off needs and publishes full name + an email "that matches the commit author"?
来自 Stack Overflow,在 Stack Overflow 中使用假名是正常且足够的,像我这样的 github 初学者不希望必须使用全名和一种正在发布的全名电子邮件。转到 github,我只是不期望比 Stack Overflow 要求的更多。我以为 github 上的其他贡献者只是自愿选择用他们的全名和各自的电子邮件签名,我很惊讶地看到我的个人邮件被发布了。
你在 github 上执行拉取请求所遵循的任务(不是来自 DCO,这只是一个帮助评论):
You need sign-off your PR with your email address. Below are steps to
sign-off a commit. At first, you need configure your git with user
name and email: git config --global user.name "FIRST_NAME LAST_NAME"
git config --global user.email "MY_NAME@example.com"
Next run git push --force-with-lease origin YOURBRANCHNAME
我现在已经阅读了 github 版本 https://github.com/apps/dco and in the original version https://developercertificate.org/ 中的 DCO Developer Certificate of Origin。
在我看来,git集线器版本比原始 DCO 要求更多。
It requires all commit messages to contain the Signed-off-by line with an email address that matches the commit author.
再往下...
Contributors sign-off that they adhere to these requirements by adding a Signed-off-by line to commit messages.
This is my commit message
Signed-off-by: Random J Developer random@developer.example.org
在这里您已经可以讨论“Random J Developer”是全名还是假名,以及该名称(或假名)是否应该是邮件的一部分。原DCO只是泛泛地谈及签收中的个人信息:
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.
在其介绍中,github DCO 提到“匹配提交作者”的电子邮件作为个人信息的核心,随后在示例中添加了名称。这个“匹配提交作者”已经是比原始 DCO 所要求的更严格的要求,因此这个要求可能已经受到质疑。从最初的 DCO 中,我阅读了放置全名和全名电子邮件的选项,但不需要这样做,因为 github 用户名和包含 github 作者姓名的邮件个人信息也足以识别您的身份,这是主要要求。从 github DCO 我读到希望你输入你的全名,但这只是在例子中,而不是在文本中,我现在也可以通过输入我的 github 来解决这个问题用户名和一封没有显示我的全名但包含我的 github 名称的电子邮件,并且在我阅读时仍然遵循 DCO。
经过这么长的解释,我的最后一个问题是:
github DCO 对全名和“与提交作者匹配的电子邮件地址”的要求是否与官方 DCO 一致?还是要求太多了,一个假名+使用那个假名的邮箱就够了?或者作为第三种选择,假名 + 不使用任何假名或全名的电子邮件就足够了吗?
p.s.:
致 github 的任何人阅读本文。如果确实需要发布全名和相应的电子邮件,我只是想在我的第一个 pull request 时被告知这一点,因为很少有人会在开始之前阅读 DCO。
这里有两项是分开的和不同的。一种是存储在您的提交中的提交元数据,它由 user.name
和 user.email
设置。此信息由 Git(而非 GitHub)嵌入到您所做的所有提交中,以便人们知道作者和提交者是谁。
不要求 user.name
反映您的个人姓名,但这是惯例。一些项目,例如 Git,强烈希望人们使用他们的个人姓名,除非他们主要以化名为人所知,例如 Perl 贡献者 chromatic。其他项目无所谓。
GitHub 本身不对其中任何一个施加任何限制(除了 UTF-8 之外,可能还有其他限制)但它确实使用嵌入在您的提交中的电子邮件地址(user.email
值)将提交归因于您的帐户。如果提交电子邮件地址与任何帐户都不匹配,则会将其显示为与您指定的名称 (user.name
) 值关联。
此外,某些项目(例如 Git)要求作者使用签核功能 (git commit -s
) 有意声明他们授予开发者声明中所述项目的权利原产地证书(或其他项目特定文件)。这本质上是一个法律声明,即贡献者有权将该代码贡献给项目。这是一个法律声明,这就是为什么许多项目更喜欢个人名称而不是笔名的原因。
当您对 git commit
使用 -s
(--signoff
) 选项时,Git 会将 user.name
和 user.email
值都嵌入到提交消息作为提交对象中通常使用的格式的签核。如果没有两者,通常无法解析签核。
使用 DCO 将其他人的代码提交到项目的贡献者需要签署该提交。因此,例如,Git for Windows 维护者为我提供了一个他签署的补丁,当我将其贡献给 Git 时,我添加了我的签署,证明我已经根据这些条款收到它并且没有修改它。 Git 项目维护者也将签署提交,断言同样的事情。
因此,如果您选择将 DCO 附加组件添加到您的项目中,那么提交的签名之一与您帐户中的电子邮件地址相匹配是合理的。请注意,据我所知,DCO 附加组件不需要您的名字匹配,这是合理的:有些人使用昵称或他们名字的缩写形式,逐位匹配会太累了。
正如我提到的,GitHub 不需要太多关于您的姓名和电子邮件的信息,从技术上讲,DCO 附加组件(这是项目政策的问题)除了匹配的电子邮件。然而,Git 将在提交中嵌入你给它的任何名称; DCO 的唯一变化是您同意该项目可以无限期地维护它。
来自 Stack Overflow,在 Stack Overflow 中使用假名是正常且足够的,像我这样的 github 初学者不希望必须使用全名和一种正在发布的全名电子邮件。转到 github,我只是不期望比 Stack Overflow 要求的更多。我以为 github 上的其他贡献者只是自愿选择用他们的全名和各自的电子邮件签名,我很惊讶地看到我的个人邮件被发布了。
你在 github 上执行拉取请求所遵循的任务(不是来自 DCO,这只是一个帮助评论):
You need sign-off your PR with your email address. Below are steps to sign-off a commit. At first, you need configure your git with user name and email:
git config --global user.name "FIRST_NAME LAST_NAME"
git config --global user.email "MY_NAME@example.com"
Next rungit push --force-with-lease origin YOURBRANCHNAME
我现在已经阅读了 github 版本 https://github.com/apps/dco and in the original version https://developercertificate.org/ 中的 DCO Developer Certificate of Origin。
在我看来,git集线器版本比原始 DCO 要求更多。
It requires all commit messages to contain the Signed-off-by line with an email address that matches the commit author.
再往下...
Contributors sign-off that they adhere to these requirements by adding a Signed-off-by line to commit messages. This is my commit message
Signed-off-by: Random J Developer random@developer.example.org
在这里您已经可以讨论“Random J Developer”是全名还是假名,以及该名称(或假名)是否应该是邮件的一部分。原DCO只是泛泛地谈及签收中的个人信息:
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.
在其介绍中,github DCO 提到“匹配提交作者”的电子邮件作为个人信息的核心,随后在示例中添加了名称。这个“匹配提交作者”已经是比原始 DCO 所要求的更严格的要求,因此这个要求可能已经受到质疑。从最初的 DCO 中,我阅读了放置全名和全名电子邮件的选项,但不需要这样做,因为 github 用户名和包含 github 作者姓名的邮件个人信息也足以识别您的身份,这是主要要求。从 github DCO 我读到希望你输入你的全名,但这只是在例子中,而不是在文本中,我现在也可以通过输入我的 github 来解决这个问题用户名和一封没有显示我的全名但包含我的 github 名称的电子邮件,并且在我阅读时仍然遵循 DCO。
经过这么长的解释,我的最后一个问题是: github DCO 对全名和“与提交作者匹配的电子邮件地址”的要求是否与官方 DCO 一致?还是要求太多了,一个假名+使用那个假名的邮箱就够了?或者作为第三种选择,假名 + 不使用任何假名或全名的电子邮件就足够了吗?
p.s.:
致 github 的任何人阅读本文。如果确实需要发布全名和相应的电子邮件,我只是想在我的第一个 pull request 时被告知这一点,因为很少有人会在开始之前阅读 DCO。
这里有两项是分开的和不同的。一种是存储在您的提交中的提交元数据,它由 user.name
和 user.email
设置。此信息由 Git(而非 GitHub)嵌入到您所做的所有提交中,以便人们知道作者和提交者是谁。
不要求 user.name
反映您的个人姓名,但这是惯例。一些项目,例如 Git,强烈希望人们使用他们的个人姓名,除非他们主要以化名为人所知,例如 Perl 贡献者 chromatic。其他项目无所谓。
GitHub 本身不对其中任何一个施加任何限制(除了 UTF-8 之外,可能还有其他限制)但它确实使用嵌入在您的提交中的电子邮件地址(user.email
值)将提交归因于您的帐户。如果提交电子邮件地址与任何帐户都不匹配,则会将其显示为与您指定的名称 (user.name
) 值关联。
此外,某些项目(例如 Git)要求作者使用签核功能 (git commit -s
) 有意声明他们授予开发者声明中所述项目的权利原产地证书(或其他项目特定文件)。这本质上是一个法律声明,即贡献者有权将该代码贡献给项目。这是一个法律声明,这就是为什么许多项目更喜欢个人名称而不是笔名的原因。
当您对 git commit
使用 -s
(--signoff
) 选项时,Git 会将 user.name
和 user.email
值都嵌入到提交消息作为提交对象中通常使用的格式的签核。如果没有两者,通常无法解析签核。
使用 DCO 将其他人的代码提交到项目的贡献者需要签署该提交。因此,例如,Git for Windows 维护者为我提供了一个他签署的补丁,当我将其贡献给 Git 时,我添加了我的签署,证明我已经根据这些条款收到它并且没有修改它。 Git 项目维护者也将签署提交,断言同样的事情。
因此,如果您选择将 DCO 附加组件添加到您的项目中,那么提交的签名之一与您帐户中的电子邮件地址相匹配是合理的。请注意,据我所知,DCO 附加组件不需要您的名字匹配,这是合理的:有些人使用昵称或他们名字的缩写形式,逐位匹配会太累了。
正如我提到的,GitHub 不需要太多关于您的姓名和电子邮件的信息,从技术上讲,DCO 附加组件(这是项目政策的问题)除了匹配的电子邮件。然而,Git 将在提交中嵌入你给它的任何名称; DCO 的唯一变化是您同意该项目可以无限期地维护它。