HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

GitHub “唯星论”可以休矣

  • 2020-07-21
  • 本文字数:2166 字

    阅读完需:约 7 分钟

GitHub “唯星论”可以休矣

本文最初发表在 Towards Data Science,经原作者 Caleb Kaiser 授权,InfoQ 中文站翻译并分享。


开源项目在 GitHub 上的星(Star)并不是它的全部意义。


译注:星是仓库的书签或赞赏表示。星标是项目受欢迎程度排名的手动方式。


凭直觉我们都知道,GitHub 的星,对于开源项目来说并不是决定性的因素。点击“星”按钮这个行为只是表示用户认为:“我觉得这个项目很有趣。”这是一个不错的信号,但它并不是项目是否成功的定论。


尽管如此,GitHub 的星还是很有诱惑力的。星很简单,可以计数,而且还是积极反馈的信号。作为用户,较高的星标数让你有理由查验一个项目而不是另一个项目。作为一个维护者,每一次星标数的增长都会让你感到兴奋——这是我的经验之谈。


我在 Cortex 工作,Cortex 是开源机器学习基础设施,尽管明知如此,我仍然会对星标数的激增感到莫名的亢奋。



来源:https://star-history.t9t.io/#cortexlabs/cortex


很显然,我并不孤单。围绕着 GitHub 的星,有一个完整的生态系统。开源营销已经成为自己的利基市场。



开源团队致力于通过公告实现星的里程碑。已经出现了一套完整的工具,可用于跟踪和分析星标数增长的情况(见上图)。


曾不知几何起,GitHub 的星,从“支持一个项目的公开方式”悄然变为“开源软件的流通货币”,因此,重新评估 GitHub 的星到底有什么价值是很有必要的。

为什么 GitHub 的星没有你想象的那么重要

GitHub 的星确实是有价值的,不过这一点我们稍后再谈。但今天对它们的强调,却有些不相称。总的来说,GitHub 的星并不像我们所认为的那样有价值,原因有以下几点:

1. 星并不等同于用户

你可以在不使用项目的情况下就为它标星。你也可以在不标星的情况下去使用某个项目。这可能是显而易见的事实,但必须强调的是,星与用户之间并不存在必然的因果关系(当然,其中一个可以导致另一个)。


例如,在 Cortex,就有数量惊人的用户没有在其仓库上进行标星。


我们评估 Cortex 是否健康是看它在生产环境中部署模型的人数。我们通过与实际用户的互动来衡量。如果这个数字上升,我们就知道我们做的是对的。如果它下降了,就说明我们有一些问题需要去解决,即使星标数仍在增加。

2. 星高度依赖环境

GitHub 的星并不是一个一致的价值单位,不同项目之间的星标数比较,并非完全直截了当。


一个项目的社区规模和活跃度、潜在用户的数量以及维护者的营销力度,都对该项目的星标数有着巨大的影响。


比如,如果你是前端 JavaScript 框架,并且你有 Facebook 的营销预算,那么你的星标数就会比 DevOps 工程师的工具还要高。换言之,与 Elasticsearch 的星标数为 4.9 相比,Rect 的星标数只有 14.8 万,但这一事实并不能说明 Elasticsearch 是否成功——它们的关系就好比苹果和橘子一样,没有可比性。

3. 从根本上说,GitHub 的星仍然是一种社交媒体

虽然 GitHub 显然不是 Twitter,但 GitHub 的星仍然是一种社交媒体,所有通常的注意事项都适用。


首先,一些 GitHub 用户在社交方面比其他用户更为活跃。有些用户为 2000 个项目进行了标星,而有些用户几乎就没标过星。


同样,很多 GitHub 用户也会用标星来表示对一个项目的普遍支持,即使他们从未打算使用这个项目。例如,当我们刚推出 Cortex 时,我们收到了很多来自 Go 社区用户标的星,甚至是那些对机器学习不感兴趣的人。这并没有什么不对,我们非常感谢大家的支持,但这只是强化了星与使用量的脱节。

星并非所有的一切,但它们仍然很有价值

尽管我提出了如前所述的注意事项,但如果你能获得一颗星,仍然是好事一桩。


GitHub 的星是人们普遍对一个项目感兴趣的信号,同样的道理,星标数可以为类似项目之间提供一个有用的基准。比较 React 和 Elasticsearch 可能没有什么意义;但 React 的星标数是 Angular 的两倍以上,这一事实可能是有意义的。


GitHub 的星也会提供一些反馈,告诉你哪些人觉得这个项目有意思。对于 Cortex,我们发现这个项目不仅在数据科学家中很受欢迎,在开发人员中也很受欢迎,这一点很让人惊讶。这就影响了我们如何开发这一项目的一些决策。


最后,我要说的是,GitHub 的星,能够让一个项目更容易被发现。除去显而易见的事实外,较高的星标数有助于项目脱颖而出,还会影响 GitHub 的推荐。我经常发现新的机器学习项目,那是因为我曾经给类似的项目标过星:



出于所有这些原因,GitHub 的星还是有价值的,只不过它们并非评估开源项目的完整指标。


作者介绍


Caleb Kaiser,Cortex Lab 创始团队成员,曾在 AngelList 工作,最初在 Cadillac 供职。


原文链接


https://towardsdatascience.com/github-stars-are-overvalued-15ba780b36


2020-07-21 13:592427

评论

发布
暂无评论
发现更多内容

看金沙遗址-理科生博物馆的正确打开方式

wood

成都 300天创作 博物馆 金沙遗址

Rust 入门 快速配置 Rust 开发环境并编写一个小应用!

贾献华

rust

模块八 设计消息队列存储消息数据的 MySQL 表格

小朱

架构实战营

模块8作业

Asha

架构训练营 - 模块八作业

VegetableBird

架构训练营

设计消息队列存储消息数据的 MySQL 表格

渐行渐远

架构实战营

02 Prometheus之监控方法论及指标

穿过生命散发芬芳

Prometheus 1月月更

是分是合?探讨影响研发组织设计的主要因素

菜根老谭

企业管理 研发组织 组织设计

Excelize 2.5.0 正式发布,这些新增功能值得关注

xuri

Java golang Excel go语言 Excelize

架构实战营模块八作业

spark99

架构实战营

架构训练营 模块八

dog_brother

「架构实战营」

一、什么是计算机

喵叔

28天写作 1月月更

复盘2021,像做产品一样来做自媒体

菜根老谭

自媒体 菜根老谭

为什么每次加入一个新的团队,都会觉得遗留系统是一坨“屎”?

蔡超

重构 架构设计 团队文化

模块八作业

Geek_1d37ea

架构实战营

架构实战营 - 模块八作业

随风King

「架构实战营」

架构训练营 - 模块 8 作业

焦龙

架构训练营

040022-week1-algorithm

InfoQ_70156470130f

Kubernetes集群日志搜集

Rayzh

Kubernetes 云原生 ELK Stack

【架构实战营】模块八作业

liu🍊

设计消息队列存储消息数据的 MySQL 表

Beyond Ryan

【LeetCode】一手顺子Java题解

Albert

算法 LeetCode 1月月更

模块八总结

Geek_1d37ea

架构训练营

保姆级教程,终于搞懂脏读、幻读和不可重复读了!

王磊

莫让虚线管理形同虚设,再论研发组织的设计逻辑

菜根老谭

企业管理 研发组织 组织设计 虚线管理

为什么私有方法上的Spring Cache注解不生效?

看点代码再上班

spring 源码 程序员 spring aop Spring Cache

架构训练营 模块八作业

吴霏

#架构训练营

模块8作业

忘记喝水的猫

架构训练营

Kubernetes集群监控

Rayzh

Kubernetes 云原生 Prometheus

设计原则与思想:单一职责原则

努力努力再努力

架构实战营模块八作业

孙志强

架构实战营

GitHub “唯星论”可以休矣_文化 & 方法_Caleb Kaiser_InfoQ精选文章