30 分钟初筛不是走马观花——每个信号都有"读法"。这一课教你区分承诺性信号与历史信号、识别五面红旗,并用 OpenSSF Scorecard 把一半工作自动化。
初筛最常见的错误,是把历史信号(star 数、提交总数、fork 数——项目曾经多受欢迎)当成承诺性信号(发版节奏、维护方性质、issue 响应——项目未来还会不会有人管)。淘汰与保留只看后者:
| 信号 | 怎么读 | 注意 |
|---|---|---|
| 维护方性质 | 组织主页 + 贡献者分布:机构/基金会 > 多公司共维护 > 单公司 > 个人。看最近一年的提交是否集中在一个人手里(bus factor)。 | bus factor = 1 且该维护者近期失活,是最直接的死亡信号 |
| 发版节奏 | Releases 页:有无可预期的节奏。EnergyPlus 的"每年 3 月、9 月"就是教科书级节奏。 | 一年无发版不等于死——完成态的小工具常年不发版。区分弃坑与成熟:看维护者是否仍在回应 issue |
| Issue 响应 | 抽查最近 10 条 issue:维护者多久出现?有实质回复还是机器人标签?再看 10 条已关闭的:是解决关闭还是 stale-bot 自动关闭? | issue 总数不是信号——EnergyPlus 开放 issue 800+,对 40k 提交的项目属正常 |
| License 与治理 | LICENSE 文件之外,翻一眼 CHANGELOG/公告:license 变更史(近年多个知名项目从开源改为受限许可);双许可/CLA 是否影响你的使用方式。 | 双许可本身是常见合法模式,要核对的是"你的用法落在哪一侧" |
| 文档生态 | 有系统文档站(非只有 README);社区渠道里有活人互相回答问题。 | 文档"存在"不够,抽一个你关心的主题搜搜看能否查到 |
OpenSSF Scorecard(Linux 基金会 OpenSSF 项目)对任意 GitHub 仓库跑 26+ 项检查,每项 0-10 分:
scorecard --repo=github.com/NatLabRockies/EnergyPlus # 只跑关心的检查项: scorecard --repo=github.com/NatLabRockies/EnergyPlus \ --checks=Maintained,Code-Review,CI-Tests,Security-Policy --show-details
初筛阶段重点看四项:Maintained(近 90 天活跃度)、Code-Review(合入是否经过评审)、CI-Tests(有没有持续测试)、Security-Policy(有没有安全响应通道)。
Code-Review 低分可能只是单人小工具的工作流使然。反过来,高分也只证明工程实践好,代替不了定位与 license 的语义判断——那是人的活。
对照 EnergyPlus:机构出资(DOE)、国家实验室维护、半年一发版、CI 完整——五面红旗一面不占,这就是"健康度高"结论的完整依据链。
从你的团队当前真实依赖里挑一个核心开源组件(框架、中间件、关键库均可):
scorecard --repo=...,找出最低分的检查项并人工核因;把结论发回对话里,我来点评——重点看:你引用的是承诺性信号还是历史信号。
主推资料源:OpenSSF Scorecard 仓库 README——26+ 检查项每项的判定逻辑都有文档,读一遍等于过一遍开源工程实践清单。
💬 对某个信号拿不准(比如怎么判断双许可影响)——回到对话里直接提问。