Skip to content

Update Developer Policy for copyright notices #123463

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

Merged
merged 3 commits into from
Jan 21, 2025

Conversation

llvm-beanz
Copy link
Collaborator

This updates the developer policy to align with established community norms for copyright notices in source code contributed to LLVM.

The updates clearly state that we do not accept code contianing explicit copyright notices in source except where such code is a pre-existing part of an external dependency that is being vendored into LLVM.

Explicit copyright notices in source add no value to the project since copyright ownership is well tracked through git. Our policy already requires that contributions made not by the original author have appropriate attribution in git commit messsages or metadata.

Further, explicit copyright notices in code can easily get out of date as the code is refactored, updated by additional authors or otherwise changed over time. This leads to misleading out-of-date copyright notices which do more harm than good.

This change should be viewed as a clarification and statement of existing established policy, not a change in policy since it represents the way the project has been operating.

This updates the developer policy to align with established community
norms for copyright notices in source code contributed to LLVM.

The updates clearly state that we do not accept code contianing explicit
copyright notices in source except where such code is a pre-existing
part of an external dependency that is being vendored into LLVM.

Explicit copyright notices in source add no value to the project since
copyright ownership is well tracked through git. Our policy already
requires that contributions made not by the original author have
appropriate attribution in git commit messsages or metadata.

Further, explicit copyright notices in code can easily get out of date
as the code is refactored, updated by additional authors or otherwise
changed over time. This leads to misleading out-of-date copyright
notices which do more harm than good.

This change should be viewed as a clarification and statement of
existing established policy, not a change in policy since it represents
the way the project has been operating.
Copy link
Collaborator

@lattner lattner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@@ -1154,6 +1154,13 @@ acceptable for their contributions. We feel that a high burden for relicensing
is good for the project, because contributors do not have to fear that their
code will be used in a way with which they disagree.

Embedded Copyright Statements
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest expanding this a bit, maybe something like "Embedded Copyright or 'Contributed by' Statements"


The LLVM project does not accept contributions that include in-source copyright
notices except where such notices are part of a larger external project being
added as a vendored dependency.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest adding a sentence of rationale: "LLVM source code lives for a long time and is edited by many people, the best way to track contributions is through revision control history."

@llvm-beanz llvm-beanz merged commit c59ede6 into llvm:main Jan 21, 2025
6 of 8 checks passed
@nickdesaulniers
Copy link
Member

Thank you for clarifying and codifying this!

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

Successfully merging this pull request may close these issues.

3 participants