Py学习  »  Git

一个 Github Star 值多少钱?

进击的Coder • 6 月前 • 89 次点击  
这是「进击的Coder」的第 881 篇技术分享
作者:卡颂
来源:魔术师卡颂

阅读本文大概需要 7 分钟。



当我们看一个开源项目时,基本都会看下他有多少star。虽然Github Star是一个虚荣指标,但却有实际意义,比如:

  • 很多开发者会关注Github Star增长趋势,更多的star会获得更多关注

  • star数量往往是技术选型的一个依据。即使你的团队最终没有使用一个star很多的开源库,但通常也不会使用一个star很少的库

换个思路来看也许更能体现Github Star的价值 —— 「软件开源」并不意味着不赚钱,这只是一种产品开发策略。star数一定程度上反映了这种策略执行的是否成功。

「策略执行是否成功」又会影响投资人的投资决策,以及团队能否以更低成本(甚至白嫖)招募优秀的开发人员。

有利益驱动就会有刷量、造假行为出现。既然微博僵尸粉都能影响广告主的投放决策,那Github Star造假就不足为奇了。

那么,一个Github Star值多少钱?

Star的售价

网上已经有公开渠道购买Github Star,比如:GitHub24Baddhi Shop[1](在这个网站,你能花钱刷各种网站的行为数据,甚至能刷IMDb电影评分)。

Star的售价差异很大,比如:

  • 64刀可以买到1000个三无账号的star

  • 要买到100颗有活跃行为账号的 star,可能得85刀

如何识别刷Star

之所以两者差异巨大,是因为鉴别难度不同。

对于这个zadahmed/music_recommender[2]仓库,可以明显看到有部分点赞者的账号是同一天注册的:

再深究的话,会发现这些点赞账号还有很多共性,比如:

  • Followers < 1

  • Following < 1

  • 个人公开仓库数量 < 4

  • 很多个人信息(比如邮箱、简介)为空

这类共性让这些假账号很容易被识别,Github官方会定期清理这些账号。所以,如果你花钱刷了1000star,可能过一个月就都消失了。

除了Github官方以外,还有些工具可以识别假账号,比如:

  • astronomer[3]

  • fake-star-detector[4]

想想,如果自己的项目好不容易做出点名气,但被人扒出曾经刷star,那就尴尬了。

识别高端造假

但对于那些高价刷的star,这类检测机制就不太好用了。因为这类账号会模仿正常开发者的行为,光从行为数据上,很难将他们和正常开发者区分。

这里开源编排平台dagster[5]提供了一个检测思路 —— 他们使用一种被称为unsupervised clustering(无监督聚类)的机器学习技术。简单来讲,我们可以用一组行为特征来描述一个Github账号,比如:

  • 提交代码

  • 给其他仓库提PR

  • star某个项目

  • 修改个人简介

这样就能将这个Github账号表示为高维向量空间中的一个点。那些向量空间中相近的点对应的Github账号,可以被归类为同类账号。

基于以上原理,dagster成员新建了个仓库,并高价刷了star

这么做的目的是用那些点starGithub账号做聚类分析,标记出一个类。当完成聚类后,如果发现某个Github账号也属于这个类,那就可以怀疑这个账号也是假账号。

那么,为什么假账号能够聚类呢?这是因为这些账号虽然在模仿正常开发者,但他们之间也有很多类似行为,比如:

  • 他们的行为可能都是同一个脚本在操作,那么在行为逻辑、行为执行的时间上比较类似

  • 他们都会给同一批仓库(服务的买主)点star

举个例子,有两个Github账号,虽然他们之间并无交集(仓库的编程语言不同、开发者国籍不同...),但他们都在某几天做着同类的事(比如先浏览一些仓库,再发表评论,最后给某个仓库star),那么他们会被划分为同类。

如果他们的同类中有实锤的假账号,那么他们大概率也是假账号。

在下面的图表中,衡量了上述刷star的仓库(100% star都是刷的)中,点了star的那些Github账号的行为,其中:

  • 横轴是日期跨度

  • 纵轴是账号交互的仓库总数

  • 蓝色部分是所有用户

  • 红色部分是明确的假Github账号

  • 黄色部分是根据聚类,被怀疑的假账号

由于已知这个仓库的所有star都是刷的,所以其实黄色部分的账号也都是假账号,通过聚类的方式他们被很好的识别出来了(和红色部分同类)。

而对于完全没有刷star的项目(这里以dagster[6]为例),点star的用户行为基本不会与假账号有交集:

对于一个刷了star,同时又有实际参与者的项目,分析结果如下图:

总结

虽然star数是虚荣指标,但由于他是很多决策的参考依据,这就诞生了「刷star」的需求。

比如,okcash[7]是一款开源的加密货币,有578star

但是,经过上述dagster的方式检测后会发现,所有为okcashstar的账号中,疑似虚假刷star的账号占比达到97% 。相信这一结果会对这款加密货币的市场信心造成一定影响。

如果你也想用dagster的方式检测其他开源库,可以参考这里[8]

参考资料

[1]

Baddhi Shop: https://baddhi.shop/shop/

[2]

zadahmed/music_recommender: https://github.com/zadahmed/music_recommender/stargazers

[3]

astronomer: https://github.com/Ullaakut/astronomer

[4]

fake-star-detector: https://github.com/dagster-io/fake-star-detector/blob/main/fake_star_detector/assets/simpler_model.py

[5]

dagster: https://dagster.io/blog/fake-stars#lets-go-star-shopping

[6]

dagster: https://github.com/dagster-io/dagster

[7]

okcash: https://github.com/okcashpro/okcash

[8]

这里: https://github.com/dagster-io/fake-star-detector/blob/main/fake_star_detector/assets/complex_model.py

End

欢迎大家加入【ChatGPT&AI 变现圈】,零门槛掌握 AI 神器!我们带你从小白到高手,解锁智能问答、自动化创作、技术变现的无限可能。与我们共同成长,开启 AI 新征程!立即行动,未来已来!(详情请戳:知识星球:ChatGPT&AI 变现圈,正式上线!

扫码加入:


彦祖,亦菲,点个「在看」

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/163890
 
89 次点击