Skip to content

Requiring Signed-off-by moving forward #62577

@jasnell

Description

@jasnell

As a heads up... moving forward, the project will require all contributors to explicitly sign-off on commits using the Signed-off-by: Name <Email> trailer in commits. This will be enforced by a new commit lint check.

The use of Signed-off-by is an explicit acceptance of the Developer Certificate of Origin (DCO) that attests that you have the right to submit the code under the OSS license used by the project (MIT in our case).

Why now?

This is really something that we should have been doing all along.

How?

When you create a commit, use the -s flag, e.g. git commit -s. This will automatically add the Signed-off-by trailer in your commit message using your configured named and email address.

Guidelines

  • The name and email used in the Signed-off-by trailer must match the name and email used in the commit author metadata. Use whatever name you want, but the email address must be a valid email.

  • Only people can sign off. The Signed-off-by trailer should not be added by bots or AI-agents.

  • If a commit has multiple authors, there should be one Signed-off-by for each author. One of those must match the author metadata for the commit.

  • Backport commits, release commits, dependency updates, and WPT fixtures added by bots are exempt.

What about existing PRs

Existing PRs will likely need to be updated before they can land, as the new commit message lint rule will flag commits that do not have the Signed-off-by trailer.

There may be rough edges

If the lint check flags your commits but you do not think the sign off should be necessary on that commit, add the Signed-off-by anyway and open an issue. We'll determine if the sign off is necessary or whether the lint rule needs to be adjusted.

/cc @nodejs/tsc @nodejs/collaborators

Metadata

Metadata

Assignees

No one assigned

    Labels

    metaIssues and PRs related to the general management of the project.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions