说实话,刚接触开源那会儿,我看啥都新鲜。GitHub 上那些成千上万 Star 的项目,简直闪着金光,恨不得每个都 clone 下来跑一跑。结果呢?踩坑踩到腿软。 好多项目根本跑不起来,文档写得稀烂,issue 堆成山没人理——就这还几千 Star?我一度怀疑人生。
看 Star 数?别天真了
Star 就像颜值,第一眼吸引人,但过日子不能靠脸。我见过不少项目,Star 好几万,但点进去一看,最后 commit 是两年前,依赖库早就过时了,甚至 security vulnerability 都没人修。✅ 当然也有 Star 少但极其扎实的项目,比如一些底层库,用的人少但非常关键。所以,别被 Star 数忽悠,它只是个虚荣指标。

那到底看啥?我现在的习惯是——先瞅一眼 insights 里的 commit 频率和近期活动。如果最近三个月像死水一样,除非是“完成态”的软件(比如某些命令行工具可能真就不需要频繁更新),否则 pass。哦对了,还有个 trick:看 issue 的关闭率。有些项目 issue 开了一大堆但没人关,维护者估计早跑路了。
社区活跃度才是命门
一个项目有没有生命力,社区简直写在脸上。我加过几个 Slack/Discord,有的刚问个问题,五分钟就有人热心回复,那种感觉太棒了!❗ 反过来,有些官方论坛像鬼城,发个帖半个月没回音,你还敢用吗?
看社区不只看人数,更要看 参与质量。我指的不是那种“+1”、“我也是”的水贴,而是有深度的讨论、有人认真 review PR、issue 下面有维护者详细解释。还有小心那种只有一两个核心开发者包办一切的项目——万一他们 burnout 或者出车祸了呢?健康的项目应该有多个活跃贡献者。

话说回来,我发现一个挺反直觉的事:issue 里骂声多的项目,有时候反而靠谱。说明用的人多,痛点多,但至少有人在吵,比一潭死水强。当然太过分的那种就算了,满屏 toxic 氛围真受不了。
协议和许可证,你得上心
这事我吃过亏。早些年我随手用一个 MIT 协议的库,后来才发现它依赖了一个 GPL 的子模块……差点把公司项目搞成必须开源的“传染”。想起来都后怕。所以现在我用任何开源项目,第一件事看许可证,不仅看主项目,还要递归看依赖。有一个叫 FOSSA 的工具可以自动检查,推荐!💡
常见的 MIT、Apache 2.0、BSD 都比较友好,GPL 家族就得小心了。还有更坑的——“伪开源”,比如有些项目写着开源,但实际有附加商业限制,或者关键功能在付费版里。仔细读 README,别被名字骗了。
代码质量?别只看表面

有时候我会快速扫一眼源码结构。如果目录乱得像被炸过,命名随性,注释没有,那八成是个坑。不过也不是说非得完美,我更看重有没有测试。测试覆盖率高的项目,至少作者在乎代码正确性。另外看 CI/CD 状态,那些 badge 绿油油一片看着就舒服。🔍
还有个小技巧:看它怎么处理 breaking change。一个负责任的维护者会在 release note 里写清楚,甚至提供迁移指南。如果默默就改了 API,你还得自己去 issue 里哭诉——那就是灾难。
最后,别怕去用“不成熟”的项目。很多后起之秀虽然 Star 少、文档缺,但迭代飞快,你跟进了说不定就成了早期贡献者。我现在有几个特别喜欢的项目,都是当初顶着别人不解的眼光用起来的。那种参与感,比用大厂的项目爽多了!
就这样吧,扯了不少。选项目其实跟交朋友有点像——外表光鲜不一定靠谱,得处一段时间才知道。就这样,干活去了。
我问答网