社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

一个 Github Star 值多少钱?

进击的Coder • 1 年前 • 394 次点击  
这是「进击的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
 
394 次点击