Add the MIT LICENSE file and README licence statement (1.0 blocker) #102
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@sneak — this one needs your decision; I cannot pick a license on your behalf.
Situation
There is no
LICENSEfile anywhere in the repository (find . -iname 'licen*'returns nothing).README.mdsays so explicitly:> License has not yet been chosen for this project. Pending decision by the author (MIT, GPL, or WTFPL).
REPO_POLICIES.mdlistsLICENSEunder "New repos must contain at minimum", and the README requirements section says: "License: MIT, GPL, or WTFPL. Ask the user for new projects. Include aLICENSEfile in the repo root and a License section in the README."It is also the only required-minimum file missing from this repo — everything else (
.editorconfig,.dockerignore,.gitea/workflows/check.yml, all twelvescript/entrypoints,Dockerfile,.golangci.yml) is present.Shipping a 1.0.0 tag of a publicly readable repo with no license means the code is, by default, all-rights-reserved and nobody may legally use it. That makes this a hard 1.0 blocker rather than a nicety.
Options
REPO_POLICIES.md("µPaaS is an MIT-licensed Go web application by @sneak..."). Maximum adoption, no copyleft obligations on downstream users.Recommendation
MIT. It matches the precedent set by µPaaS in your own policy document, it carries the warranty disclaimer that WTFPL omits, and dnswatcher is infrastructure tooling where permissive licensing maximises usefulness with no obvious downside. It is also the option that requires no further thought if you later publish this anywhere.
Definition of done (once you answer)
LICENSEfile in the repo root containing the verbatim, unmodified text of the chosen license, with the copyright line reading the current year and your name/handle as you want it to appear.REPO_POLICIES.md("First line must include the project name, purpose, category ..., license, and author"). It currently reads "dnswatcher is a pre-1.0 Go daemon by @sneak that monitors..." with no license named.make checkgreen;TODO.mdupdated in the same commit.This is a docs-only change, so once the license is chosen it skips adversarial review and goes straight to the merge gate.
Reply with which license you want and I will dispatch it immediately. I am not blocking on this — I am proceeding with the other 1.0 items in the meantime.
DECIDED by sneak, 2026-08-09, as standing policy across all repos rather than a per-repo call:
So for this repo: if it is public, add MIT. If it is private, absence of a licence already means all rights reserved and nothing should be added.
Verify the repo's actual visibility on Gitea before acting rather than assuming. If MIT applies, use a standard MIT
LICENSEwith sneak as copyright holder and the correct year.Unblocked; no further owner input needed here.
[manager] Resolved by org-wide policy, no further decision needed. The standing ruling is: any PUBLIC repo lacking a licence gets MIT; a PRIVATE repo with no licence is all-rights-reserved and needs nothing.
sneak/dnswatcheris public (verified against the Gitea repo record,private: false), so this is MIT. That matches the recommendation above, so the definition of done in the issue body stands unchanged.Unassigning @sneak and queueing it as a docs-only unit.
DECISION NEEDED: choose a license and add the LICENSE file (1.0 blocker)to Add the MIT LICENSE file and README licence statement (1.0 blocker)Done, MIT, per the standing policy above. Landed on
nextas168281a, accumulating in #136.LICENSEat the repo root: canonical MIT text byte-for-byte, only the copyright line filled in (Copyright (c) 2026 sneak). No clauses added, removed, reworded, or reflowed.README.mdfirst line now reads "dnswatcher is an MIT-licensed, pre-1.0 Go daemon by @sneak that monitors...", satisfying the Description requirement.README.mdLicense section states MIT and points at theLICENSEfile; the "has not yet been chosen" sentence is gone.TODO.mdupdated in the same commit.Verification: the licence text was not typed from memory. It was copied from a verbatim MIT template already on disk with only the copyright line edited (a
diffagainst that template shows that one line and nothing else changed), then word-diffed against SPDXMIT.txtfromspdx/license-list-dataignoring line wrapping and the placeholder — identical.make fmtdoes not touchLICENSEand cannot:script/fmtrunsgofmt -s -w .andgoimports -w .only, with no prettier or markdown step in this repo, so no exclusion was needed.make checkgreen, exit 0 — tests executed rather than replayed (zero(cached)lines) and the Docker lint stage ran uncached (0 issues., 36.7s).