青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

Valentin Mihov  2018-09-06  以太坊/以太坊(Ethereum)栏目  

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

  作者/Valentin Mihov

  编译/ Aholiab

  常混GitHub的人都知道,想要从数以百万的项目中找到靠谱的项目,有一个重要的参考标准,就是「开发者活跃度」。

  然而,最近一家数据分析公司的CTO(本文作者)在分析过GitHub的开发者活跃度指数以及多个数据平台根据该指数提供的排名后,却发现,现有的指数数据和排名有些隐藏的坑,连以太坊这样的王者都被无名项目给虐了。

  总之,活跃度排名的水很深,还是让圈内人为你揭秘吧。

  作为开发者,在GitHub浏览项目时,「开发者活跃度」(Dev Activity)是一个重要的参考指标。

  越多开发者愿意投入时间和精力在一个项目上,项目的活跃度高,活跃度高则往往意味着:开发者相信这个项目是靠谱的;这个项目的功能更丰富;以及这个项目存在「猫腻」的可能性更低。

  虽然有些土豪开发者可以靠「刷量」把项目的活跃度给刷上去,但对于GitHub上的绝大多数普通开发者来说,刷量的成本是可望而不可即的。况且刷上去的项目,也很容易露出马脚,经常上GitHub的人往往一眼就能看出来。

  那么,这是不是说GitHub是筛选项目最靠谱的参考数据呢?带着这个疑问,我们研究了大量活跃度指数的数据,通过将此数据与不同项目进行深度对比,发现一个有意思的现象,那就是现有的活跃度数据和排名并不能反应项目的质量和靠谱程度。

  既然如此,这一现象是怎样造成的?开发者在参考项目的活跃度时,到底该参考哪些数据呢?

  王者败给青铜,GitHub活跃度应该怎么看?

  CryptoMiso是一个活跃度数据平台,通过对以太坊、比特币等知名项目的GitHub活跃度指数进行对比时发现,在活跃度的整体排名上,「王者」竟然败给了无名「青铜」。

  Particl和DigiByte这样几乎没有存在感的项目,git commits的数量远远高于以太坊,排名竟然也将比特币和以太坊远远甩在身后。

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

  可问题是,Particl和DigiByte这样的项目凭什么提交数就比比特币和以太坊高呢?通过深挖,我们发现Particl「借鉴」了一部分比特币的源码,随着「借鉴」的操作,也分流了一大批比特币项目下的提交数(commits)和贡献者,简单来说就是窃取了比特币的胜利果实。

  而这种操作Particl绝不是个例,类似这样的项目还多着呢。

  随便举几个例子:

  DigiByte,CryptoMiso上排名第8位的项目,复制/粘贴了比特币的源代码;

  ChainCoin,CryptoMiso上排名第18位,把比特币的源代码进行分叉,虽然提交数不多(不到30个),但仍然比以太坊要高;

  GlobalCoin,CryptoMiso上排名第22,同样把比特币的源代码给分叉了,虽然活跃度不高,但排名却比较靠前。

  虽然CryptoMiso在展示排名时会在对别的项目进行分叉的项目下用小字标注出来,但这么做似乎也并没有什么效果,像DigiByte这样直接复制/粘贴的项目,能耐它何?

  还有一个有意思的发现是,像CryptoMiso这样的数据平台往往只抓取一个代码库(repositories)的数据。比如以太坊就有很多个代码库,只抓取一个数据往往无法全面反映出以太坊的活跃度。

  实际上,以太坊有大量超级活跃的代码库。

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

  你可能会想,那我们换个数据平台怎么样?行啊,我们就来看看另一个数据平台Coincheckup,通过对过去一年的提交数进行筛选,很遗憾,数据显示结果与上面如出一辙,DigiByte和Particl仍然分别排在第8位和第12位。

  要找到以太坊,需要往后翻三页。就连比特金(Bitcoin Gold)这样连一条提交都没有的项目,也排在了以太坊的前面。

  还有更虐的,很多看起来提交数很多的项目,实际上掺了不少「水分」。

  比如有些提交就是用pixel art画了个像素风格的画,也能算做有效的数据。

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

  除此之外,利用这些数据平台去查看项目的GitHub活跃度指数,也是件及其麻烦的事。你要一个一个的去看各个项目的数据,然后再把这些数据放到一起来对比。

  不仅如此,正如上面提到很多数据网站抓取的库很单一,你还要再确定这些库抓取的对不对。总之,非常麻烦。

  那么,要想更科学的获取项目的GitHub活跃度指数该怎么办呢?

  事件 vs. 提交,谁更靠谱?

  从上面可以看出,按照项目的提交数这个标准来判断项目的活跃度,根本无法有效的反映出项目实际的活跃度。

  因此,有些开发者认为,现有的排名机制不好,更科学的方法应该是基于「项目在GitHub上所产生的事件」。那么,事件到底又指什么呢?

  事件(event)可以包括以下几个维度:

  代码推送(code pushes)数量;

  互动行为数量,包括添加/删除/编辑/评论等行为;

  pull request交互数量,包括在PRs里的添加/删除/编辑等;

  GitHub Wiki编辑数量;

  commits的评论数;

  开源代码库数量。

  通过事件(event)来判断项目的活跃度还有一个好处,那就是所有事件的返回格式都是统一的。如下面代码所示:

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

  调用语句也非常简单:

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

  通过「事件」来获取GitHub项目的活跃度,不仅能避免上面的问题,还有以下好处:

  避免了对某个项目代码库代码的分叉,就能自动继承该项目的事件数据;

  历史抓去记录不可更改;

  开发者活跃度数据更多元,不仅有提交代码数量,还包括上面提到的种种维度。

  通过这样的判断标准再来筛选,我们得到了以下结果:

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

  看到了吗,以太坊和比特币妥妥出现在了它们应该出现的位置上,而那些在现有筛选机制上排名靠前的项目,如DigiByte、比特金等,则一个都没有出现!

  利用这一方法,我们也对ERC20 Token进行了筛选,得到的结果也靠谱了很多:

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

  从上图可以看出,排在最前面的分别是:Status, EOS, BAT, Golem,甚至连波场(TRON)这样近期被黑的厂商,也排在了相对客观的位置。

  其他有意思的发现

  通过今天的文章,我们可以得出一个结论:GitHub项目的活跃度指数,基于事件比基于提交数更科学,也可以避开很多坑。

  同时,通过数据的结果来看,也能看出一些有意思的现象:比如ERC20项目的开发者活跃度,比很多区块链平台项目高得多。

  这意味着,以太坊已经吸引到了大量的优质开发者基于这个平台做开发。

  作为开发者之一,相信通过科学的方法筛选和分析数据,找的项目会更靠谱。从今天起,也尝试起来吧。

  PS. 本文提到通过事件(event)筛选开发者活跃度的数据平台为:

  https://santiment.net

  最新热文:

  这4大场景正被区块链“残忍屠杀”,15个活生生的例子了解一下?

  爆料 | 某团员工利用区块链项目诈骗始末,21人上当受骗

  麻将算什么? 纽约时报竟然暗藏着世界上最早的区块链

  90%公链项目将死?那些号称超越以太坊的“颠覆者”咋样了?

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

  大力戳↑↑↑ 加入区块链大本营读者⑦号群

  (群满加微信 qk15732632926 入群)

  (内容转载请联系微信:qk15732632926)

  (商务合作请联系微信:fengyan-1101)

青铜虐王者?以太坊被无名项目虐哭的背后,GitHub的活跃度排名你真的看懂了吗?

版权信息
作者:Valentin Mihov
来源:区块链大本营

关于我们

联系我们

作者进驻

手机版

Copyright © 2013 比特巴 www.btb8.com
始建于2013年,提供比特币 区块链及数字货币新闻、技术教程、测评、项目周报、人物等资讯
本页面提供的是以太坊观点资讯,以太坊是一个平台和一种编程语言,意为“下一代加密货币与去中心化应用平台”,可以用来创建去中心化的程序、自治组织和智能合约.