docs: adopt no-CLA + DCO policy and fix copyright terms - #56
Merged
Conversation
Brings the server in line with the contribution and copyright policy already adopted in pgsty/mc. Copyright terms were derived from the clock: startupBanner overwrote the ldflags-injected CopyrightYear with time.Now().Year() and printed it as the end of MinIO, Inc.'s term, so every January would have extended the upstream copyright claim past the 2025 end of upstream development, and release builds silently discarded the injected year. Both banners now credit MinIO, Inc. for 2015-2025 and PGSTY from 2025 through the release-stamped year, falling back to the current year in source builds. NOTICE names PGSTY as the holder of the fork's modifications, matching the banners and the packaging vendor field. Contributions are accepted inbound=outbound under AGPL-3.0-or-later with no CLA - the core is Copyright MinIO, Inc., so the combined work can never be relicensed and a CLA would buy nothing. What a fork carrying a downstream delta does need is provenance, so DCO 1.1 sign-off is now mandatory and enforced by a workflow that rejects unsigned non-bot commits. CONTRIBUTING documents sign-off, repair, cherry-pick provenance, dual copyright headers, trailer preservation across squash merges, and that assistive-tooling trailers carry no authorship or copyright claim. verify-rebrand.sh pins the copyright split and the policy files so neither can regress. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Feng Ruohang <rh@vonng.com>
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.
Syncs the contribution and copyright policy adopted in
pgsty/mc(PRs #2, #3) into the server, and fixes a copyright defect found while comparing the two.Copyright terms (defect)
startupBanneroverwrote the ldflags-injectedCopyrightYearwithtime.Now().Year()and printed it as the end of MinIO, Inc.'s term:Two problems: every January would extend MinIO's copyright claim past 2025, where upstream development actually ended; and release builds silently discarded the year the release pipeline injected. The fork's own line was hardcoded to a single year with no start.
Both banners now read:
MinIO's term is a fixed constant; PGSTY runs from the fork's start year through the release-stamped year, falling back to the current year in source builds (previously
2015-0000on--version).NOTICEnow names PGSTY as the holder of the fork's modifications, matching the banners and thePGSTYpackaging vendor field — it previously said "The Silo Authors", a third spelling.Contribution policy
No CLA. The core is Copyright MinIO, Inc., so the combined work can never be relicensed and a CLA would create signing friction while buying nothing. Contributions are accepted inbound=outbound under AGPL-3.0-or-later, contributors keep their copyright.
What a fork carrying a downstream delta does need is provenance — cherry-picks from the lineage remote are routine here — so DCO 1.1 sign-off is now mandatory, enforced by
.github/workflows/dco.yml(dependency-free check; rejects unsigned non-bot commits, requires the sign-off email to match the author).CONTRIBUTING.mdgains a Licensing of Contributions section covering sign-off,git rebase --signoffrepair, cherry-pick provenance (-xplus relayer sign-off, never import from a proprietary distribution), dual copyright headers for fork-authored files, trailer preservation across squash merges, and that assistive-tooling trailers (e.g.Co-Authored-By:naming an AI) carry no authorship or copyright claim. README (EN/ZH) and the PR template point at the policy.Guard rules
verify-rebrand.shnow pins the copyright split (including rejecting the clock-derived pattern) and the presence of the policy files, so neither can regress.Verification
go build,go vet ./cmd/...,gofmt, andverify-rebrand.shall pass. Built binary prints the banner shown above.Not included
code_of_conduct.mdreporting channel: silo routes reports "through this repository" while mc uses a maintainer email. Not a defect (the upstreamdev@min.ioaddress that mc had is already gone here), and switching channels is a governance decision — flagging rather than changing..github/ISSUE_TEMPLATE.mdduplicatingISSUE_TEMPLATE/bug_report.md(GitHub ignores the root file); mc removed its copy. Left out to keep this PR to licensing and copyright.mainand required checks — owner action.🤖 Generated with Claude Code