Repository navigation
Require license and copyright trailers on commits - #185
Merged
Merged
Conversation
The MIT notice previously covered all "code derived from ModelingToolkit.jl and Modia.jl", which could be read as including changes made in this repository after the 2025-12-01 AGPL relicensing. Narrow it to code as it existed in those upstream projects, and state explicitly that changes made here on or after that date are not covered. Apply the same wording to both CONTRIBUTING.md files and the README. License: AGPL-3.0-only Copyright: JuliaHub, Inc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- CONTRIBUTING.md (root and lib/ModelingToolkitTearing): state that the project is AGPL-3.0-only, add a Purpose section spelling out the intent of the licensing arrangement, and require a License: trailer on every commit. JuliaHub contributors also add Copyright: JuliaHub, Inc., which is defined as a confirmation of JuliaHub ownership and, where needed, a present assignment of copyright, with an exclusive-license and moral-rights fallback for jurisdictions where assignment is ineffective. - AGENTS.md: rules for coding agents to choose and format the trailers, driven by the JULIAHUB_CONTRIBUTOR environment variable, asking the user when it is unset and never inferring it. - CLAUDE.md: import AGENTS.md so Claude Code picks up the same rules. - README: say AGPL-3.0 only. License: AGPL-3.0-only Copyright: JuliaHub, Inc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add a workflow that checks every non-merge commit in a pull request (and in each push to main) for one of the two trailer sets required by CONTRIBUTING.md: License: AGPL-3.0-only with Copyright: JuliaHub, Inc., or License: Apache-2.0 alone. The check runs a script that can also be run locally, and is mentioned in both CONTRIBUTING.md files and in AGENTS.md. License: AGPL-3.0-only Copyright: JuliaHub, Inc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #184.
Changes
LICENSE-MITpreviously covered all "code derived from ModelingToolkit.jl and Modia.jl", which could be read as including changes made here after the 2025-12-01 AGPL relicensing. It now covers only pre-relicensing code and upstream code in the form it had in those projects.CONTRIBUTING.md(root andlib/ModelingToolkitTearing) and the README are updated to match.CONTRIBUTING.mdand the README, and add a Purpose section that spells out the intent of the licensing arrangement.License: Apache-2.0(external contributors).CONTRIBUTING.mddefines theCopyright:trailer as confirming JuliaHub ownership and, where needed, a present assignment, with an exclusive-license and moral-rights fallback where assignment is not effective.AGENTS.md(plus aCLAUDE.mdthat imports it) tells coding agents how to choose and format the trailers, based on aJULIAHUB_CONTRIBUTORenvironment variable that the human sets. Agents ask when it is unset, treat AI co-authors as tools rather than contributors, and add no session trailers..github/workflows/LicenseTrailers.yml,.github/scripts/check-license-trailers.sh) verifies the trailers on every non-merge commit in a PR and in each push tomain. It can be run locally:.github/scripts/check-license-trailers.sh origin/main..HEAD.Notes for merging
mainrun of the new check would then fail on the squashed commit. Add CONTRIBUTING.md: external contributions under Apache 2.0 #184 was squash-merged, so its commit onmainhas no trailers. That's fine because the check only looks at newly added commits.main.Co-author
These patches were written interactively with Claude Code.
https://claude.ai/code/session_01LiCFDWitwipscmKfADxBhb