一个 Github Star 值多少钱?

共 4003字,需浏览 9分钟

 ·

2023-08-28 09:12




当我们看一个开源项目时,基本都会看下他有多少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









往期推荐







鱼皮原创实战项目教程【系列】






鱼皮的靶场开源了!






14 岁,3 次给我的项目贡献代码。






浏览器历史记录是如何留下来的?






接入支付服务,一定要知道的小知识






搞台虚拟机玩玩!










浏览 22360
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报