FxAjax ChainNews:
圈内人为你揭秘 GitHub 的活跃度排名,通过科学的方法筛选和分析数据,更有助于你找到更靠谱的项目,快来了解一下吧!
来源 | 区块链大本营(ID:blockchain_camp) 作者 | Valentin Mihov
常混 GitHub 的人都知道,想要从数以百万的项目中找到靠谱的项目,有一个重要的参考标准,就是「开发者活跃度」。
然而,最近一家数据分析公司的 CTO (本文作者)在分析过 GitHub 的开发者活跃度指数以及多个数据平台根据该指数提供的排名后,却发现,现有的指数数据和排名有些隐藏的坑,连以太坊这样的王者都被无名项目给虐了。
总之,活跃度排名的水很深,还是让圈内人为你揭秘吧。
作为开发者,在 GitHub 浏览项目时,「开发者活跃度」(Dev Activity)是一个重要的参考指标。
越多开发者愿意投入时间和精力在一个项目上,项目的活跃度高,活跃度高则往往意味着:开发者相信这个项目是靠谱的;这个项目的功能更丰富;以及这个项目存在「猫腻」的可能性更低。
虽然有些土豪开发者可以靠「刷量」把项目的活跃度给刷上去,但对于 GitHub 上的绝大多数普通开发者来说,刷量的成本是可望而不可即的。况且刷上去的项目,也很容易露出马脚,经常上 GitHub 的人往往一眼就能看出来。
那么,这是不是说 GitHub 是筛选项目最靠谱的参考数据呢?带着这个疑问,我们研究了大量活跃度指数的数据,通过将此数据与不同项目进行深度对比,发现一个有意思的现象,那就是现有的活跃度数据和排名并不能反应项目的质量和靠谱程度。
既然如此,这一现象是怎样造成的?开发者在参考项目的活跃度时,到底该参考哪些数据呢?
王者败给青铜,GitHub 活跃度应该怎么看?
CryptoMiso 是一个活跃度数据平台,通过对以太坊、比特币等知名项目的 GitHub 活跃度指数进行对比时发现,在活跃度的整体排名上,「王者」竟然败给了无名「青铜」。
Particl 和 DigiByte 这样几乎没有存在感的项目,git commits 的数量远远高于以太坊,排名竟然也将比特币和以太坊远远甩在身后。

可问题是,Particl 和 DigiByte 这样的项目凭什么提交数就比比特币和以太坊高呢?通过深挖,我们发现 Particl「借鉴」了一部分比特币的源码,随着「借鉴」的操作,也分流了一大批比特币项目下的提交数(commits)和贡献者,简单来说就是窃取了比特币的胜利果实。
而这种操作 Particl 绝不是个例,类似这样的项目还多着呢。
随便举几个例子:
DigiByte,CryptoMiso 上排名第 8 位的项目,复制 / 粘贴了比特币的源代码; ChainCoin,CryptoMiso 上排名第 18 位,把比特币的源代码进行分叉,虽然提交数不多(不到 30 个),但仍然比以太坊要高; GlobalCoin,CryptoMiso 上排名第 22,同样把比特币的源代码给分叉了,虽然活跃度不高,但排名却比较靠前。
虽然 CryptoMiso 在展示排名时会在对别的项目进行分叉的项目下用小字标注出来,但这么做似乎也并没有什么效果,像 DigiByte 这样直接复制 / 粘贴的项目,能耐它何?
还有一个有意思的发现是,像 CryptoMiso 这样的数据平台往往只抓取一个代码库(repositories)的数据。比如以太坊就有很多个代码库,只抓取一个数据往往无法全面反映出以太坊的活跃度。
实际上,以太坊有大量超级活跃的代码库。

你可能会想,那我们换个数据平台怎么样?行啊,我们就来看看另一个数据平台 Coincheckup,通过对过去一年的提交数进行筛选,很遗憾,数据显示结果与上面如出一辙,DigiByte 和 Particl 仍然分别排在第 8 位和第 12 位。
要找到以太坊,需要往后翻三页。就连比特金(Bitcoin Gold)这样连一条提交都没有的项目,也排在了以太坊的前面。
还有更虐的,很多看起来提交数很多的项目,实际上掺了不少「水分」。
比如有些提交就是用 pixel art 画了个像素风格的画,也能算做有效的数据。


除此之外,利用这些数据平台去查看项目的 GitHub 活跃度指数,也是件及其麻烦的事。你要一个一个的去看各个项目的数据,然后再把这些数据放到一起来对比。
不仅如此,正如上面提到很多数据网站抓取的库很单一,你还要再确定这些库抓取的对不对。总之,非常麻烦。
那么,要想更科学的获取项目的 GitHub 活跃度指数该怎么办呢?
事件 vs. 提交,谁更靠谱?
从上面可以看出,按照项目的提交数这个标准来判断项目的活跃度,根本无法有效的反映出项目实际的活跃度。
因此,有些开发者认为,现有的排名机制不好,更科学的方法应该是基于「项目在 GitHub 上所产生的事件」。那么,事件到底又指什么呢?
事件(event)可以包括以下几个维度:
代码推送(code pushes)数量;互动行为数量,包括添加 / 删除 / 编辑 / 评论等行为;pull request 交互数量,包括在 PRs 里的添加 / 删除 / 编辑等;GitHub Wiki 编辑数量;commits 的评论数;开源代码库数量。通过事件(event)来判断项目的活跃度还有一个好处,那就是所有事件的返回格式都是统一的。如下面代码所示:

调用语句也非常简单:

通过「事件」来获取 GitHub 项目的活跃度,不仅能避免上面的问题,还有以下好处:
避免了对某个项目代码库代码的分叉,就能自动继承该项目的事件数据;历史抓去记录不可更改;开发者活跃度数据更多元,不仅有提交代码数量,还包括上面提到的种种维度。通过这样的判断标准再来筛选,我们得到了以下结果:

看到了吗,以太坊和比特币妥妥出现在了它们应该出现的位置上,而那些在现有筛选机制上排名靠前的项目,如 DigiByte、比特金等,则一个都没有出现!
利用这一方法,我们也对 ERC20 Token 进行了筛选,得到的结果也靠谱了很多:

从上图可以看出,排在最前面的分别是:Status, EOS, BAT, Golem,甚至连波场(TRON)这样近期被黑的厂商,也排在了相对客观的位置。
其他有意思的发现
通过今天的文章,我们可以得出一个结论:GitHub 项目的活跃度指数,基于事件比基于提交数更科学,也可以避开很多坑。
同时,通过数据的结果来看,也能看出一些有意思的现象:比如 ERC20 项目的开发者活跃度,比很多区块链平台项目高得多。
这意味着,以太坊已经吸引到了大量的优质开发者基于这个平台做开发。
作为开发者之一,相信通过科学的方法筛选和分析数据,找的项目会更靠谱。从今天起,也尝试起来吧。
PS. 本文提到通过事件(event)筛选开发者活跃度的数据平台为:https://santiment.net
更多精彩内容,关注FxAjax ChainNews 公众号(id:chainnewscom), 或者来微博 @ FxAjax ChainNews 与我们互动!转载请注明版权和原文链接!
来源链接:www.8btc.com
日本FSA拟允许银行投资比特币与加密资产,重塑零售加密市场格局
21Shares携手法国兴业银行,强化德国及东欧市场加密ETP流动性
Mogo斥资入股Digital Commodities,加码比特币与黄金储备策略,强化双轮增长模式
Moomoo推出Moomoo Crypto:进军美国加密货币市场
CME集团6月30日推出现货报价期货:比特币、以太坊及标普500等长达5年持有
eToro推出加密资产转账与兑现功能:比特币、以太坊可无缝投资多资产
21Shares在纳斯达克斯德哥尔摩上市三款领先加密ETP:比特币费用低至0.21%
nxtAssets GmbH携手SIX推出比特币与以太坊ETP:加密资产交易总数达398
Clearstream携手Crypto Finance推出加密资产托管服务,德意志交易所集团引领机构投资者新风潮
西班牙BBVA获批推出比特币和以太坊交易服务,零售客户可通过手机银行直接管理加密资产
MIH推出比特币小时二元期权BTCRB,MIAXdx创新再升级
Bybit遭遇重大黑客攻击,15亿美元数字货币被盗
Bybit遭遇安全漏洞,1.4亿美元以太坊代币被盗,市场反应激烈
Bybit交易所遭黑客攻击,14亿美元ETH被盗,资金安全隐患引发行业关注
华尔街矿工面临利润紧缩,比特币生产成本达到 49,500 美元
尽管比特币上涨,加密货币矿业收入仍下跌 12%
比特币矿业公司多元化进入AI和高性能计算领域,探索380亿美元市场潜力
俄罗斯新挖矿政策引发加密市场大反弹,比特币价格剧烈波动
Riot平台收购Block Mining,提升比特币产能
以太坊 ETF 在美国上市首日交易量达 10 亿美元,占比特币交易量的 23%



