如何判断一个 GitHub 开源项目是否值得一用?

如何判断一个 GitHub 开源项目是否值得一用?

互联网开源开放的特征越来越拉近开发人员之间的距离,而 GitHub 也越来越成为程序员群体职业生涯中不可或缺的资源圣地。基本上项目开发中你所遇到的所有奇奇怪怪的功能实现,都能在这个全球最大的开源项目聚集地找到对应的解决方案。

然而,就像上周末推送的那篇文章中所分析的那样,GitHub 网站超过 82% 的代码出现重复,严重同质化。随之而来的一个问题就是,你输入任何关键字,都会得到一系列大同小异的相关搜索结果。如何选择一个靠谱的开源库,保证满足自己项目需求的同时还不会带来其他副作用,显得尤为重要。

在这篇文章,根据我自己这几年使用 GitHub 的经验和躺过的坑,和大家聊聊这个问题。对于一个开源项目,我会更看重哪些数据来帮助我做是否采用的决策。

Star 关注数量

毫无疑问,这是观察一个开源项目优劣的最直观的数据。毕竟优秀的东西总是值得更多的人关注,并且获得包括 GitHub 网站本身在内的各个平台的推荐机会。更多的 Star 数,也代表着更多的使用者。一来,证明这个项目已趋向成熟,被很多人验证过;二来,对于作者也是一种鼓励,带来维护下去的动力。这些都是良性的正循环驱动。

Issues 问题数量

这里指的是未解决的 issues 数量。对于一个好的开源项目,作者一定非常重视网友使用中所遇到的 BUG 问题和建议,并在第一时间沟通处理。当然,你也要注意用户所提 issues 的质量。 有些初级工程师或者 GitHub 新手由于自身的一些基础不牢固或者对于 Issues 工具的乱用,导致提出一些杂乱无用的问题,这些就属于项目干扰。不论是作者也好,还是其他使用者,都需要有效甄别出来。

项目最新更新时间

这是我比较看重的一个指标。很多开源项目随着时间的流逝,遭遇历史的淘汰或者作者的放弃。事实上,在 GitHub 网站上常年不更新的历史项目非常之多。其中一大部分会因为曾经积累起来的还不错的数据和关键字匹配度依旧会出现在你的搜索结果列表中。一旦作者停止维护的话,最新更新时间在一年甚至几年之前,那就你需要引起你的注意了。

Readme 介绍文档

一个完整的逻辑清晰的帮助文档是连接开源项目作者和使用者之间的必不可少的桥梁。基本的项目介绍,基础的使用指南,重要的更新记录,以及使用的开源协议等,都是优秀开源项目必不可少的 Readme 内容之一。

作者名字背书

这个不难理解,很多时候,那些忠于开源和分享的技术大牛或者公司组织往往就是其作为作者的开源项目的最好背书。举个例子,如果是在「Jake Wharton」和一个不知名的作者之间选择的话,我想你都不需要过多犹豫。同样的还有,Square 公司等。这些在 GitHub 网站拥有多年的知名开源项目经验的个人和组织,已经形成自己的品牌。如有出品,多属精品。

作者基础信息

上一条提到的是作者名字所带来的项目保障,前提是行业内公认的已经成名的那部分人。至于那些作者名字让你很陌生的开源项目,作者的基础信息也可以作为你考量的标准之一。个人主页上的基础介绍,是否有联系方式,其他开源项目状况,GitHub 活跃时间等,都能作为你是否使用他的开源项目以及将来遇到使用问题能否第一时间联系上作者与否的参考数据。毕竟这个时代,再小的个体也有自己的品牌,而游戏的人会更加看重自己的品牌。

写在最后

前面都是 GitHub 网站上开源项目中你能够看得到并且有实际参考意义的直观数据,不需要你做过多技术上的解剖就能判断决策的。但是我还是建议,虽然我们都说不要重复造*,但是从技术层面上深入理解*的构造原理,能够帮助你更好的使用*以及*带来的兼容等使用问题。如果还能达到再加工再深一步定制的程度,那你就是*的自主一级工程师了。在项目功能完美实现的同时,自身技术也会得到大幅地提升。

赞助商

优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。

100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。

扫描下方二维码,注册 100offer,谈谈你对下一份工作的期待。一周内,收到 5-10 个满足你要求的好机会!

如何判断一个 GitHub 开源项目是否值得一用?

推荐文

分享 Android 开发中三个与屏幕有关的小众知识超 82% 的 GitHub 代码是重复的,还不是 Forked 而来

如何判断一个 GitHub 开源项目是否值得一用?