Proposal: license files GitHub can read #221
Unanswered
ChristopherA
asked this question in
Ideas
Replies: 1 comment
|
Hey @ChristopherA , sounds good to me. I will make the changes and create a PR for each TypeScript repository. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This is the third question from the README survey behind #219 and #220. This one is about the file beside the README: the license.
Almost all of our software is under the BSD-2-Clause Plus Patent License, but GitHub only knows that for 8 of the 93 repos I surveyed. For the rest, the repo sidebar says "Other" or nothing, and a search filtered by license won't find them. The cause is the text our secure template puts at the top of
LICENSE:GitHub's detector compares the file against the license text, and that opening sentence keeps it from matching. 34 repos carry it and GitHub recognizes none of them. All 8 that it does recognize start directly at the copyright line, as passkey-cloudflare does.
The sentence does real work, though. Before proposing to move it, I cloned every repo in the survey to see what it covers. Four READMEs list files under other terms in the template's "Origin, Authors, Copyright & Licenses" table: bc-ur, keytool-cli, lethekit and seedtool-cli. Several more repos include third-party code noted only in the file's own header, bc-mur-ts and bc-lifehash among them. And in 25 repos, all 18 TypeScript libraries included, the license file is the only place the sentence appears.
What I'm proposing:
LICENSEholds only the license, starting at the copyright line.LICENSEadds it, so nothing loses its exceptions.LICENSE-<SPDX id>, such asLICENSE-CC-BY-4.0for a book's text beside its code.license = "BSD-2-Clause-Patent"inCargo.toml,"license"inpackage.json.The file name is the other half. 34 repos use
LICENSEand 37 useLICENSE.md, and the split follows authors: Wolf's repos useLICENSE.md, and nearly everyone else usesLICENSE. GitHub reads either, but the split already costs readers something. Four READMEs linkLICENSEwhere the file isLICENSE.md, and the link goes nowhere. I'd standardize onLICENSE, the template's name and the one our other authors already use. The alternative is to accept both names and fix only the text, which avoids 37 renames and leaves the links to be checked by hand.Some repos are rightly under a different license. The zewif family (zewif, zewif-zcashd, zewif-zingo and zmigrate) is dual-licensed MIT and Apache-2.0, the license the Zcash Rust ecosystem uses. My recollection is that the Zcash funding asked for a specific license there and may have allowed the dual one. I'll check the grant terms before anything changes. Nothing in those repos says why they differ, and I think the README should. For dual licenses, I'd use the same layout as the Zcash Foundation's own repos:
LICENSE-MITandLICENSE-APACHEside by side.The survey also turned up 18 repos with no license file at all. Seven declare one only in
Cargo.toml. Nine have neither a license file nor a license field in a manifest, among them SmartCustodyBook, XID-Quickstart and www.blockchaincommons.com. Each would get a license file as part of bringing its README up to the standard.Who the copyright holder should be, and which years to list, is a separate question I'll raise on its own.
Two things I haven't settled:
LICENSEworth the renames, or shouldLICENSE.mdstay acceptable?LICENSEwith the CC text in it, or keep theLICENSE-CC-BY-4.0.mdnames that Learning-Bitcoin-from-the-Command-Line and others use now?What's your read? @wolfmcnally, most of the renames would be on your repos, and @leonardocustodio, the TypeScript libraries would each gain the README sentence. @shannona, the content repos are mostly yours. Once this settles I'll update the secure template to match.
-- Christopher Allen
All reactions