当前位置: 首页 > 科技观察

GitHubstars被高估了

时间:2023-03-12 00:59:59 科技观察

开源项目不仅仅是他们的starmetrics直观地,我们都知道GitHubstars不是开源项目的成败。点击“星标”按钮只是说,“我发现这很有趣。”收集到的信号不是坏信号,而是项目成功与否的最终定论。尽管如此,明星还是很诱人的。它们简单、可数并提供积极的反馈。作为用户,高星数让您有理由检查一个项目而不是另一个项目。作为一名维护者,你会随着星星的每一次震动而获得多巴胺的提升——我是根据这里的经验说的。我在Cortex上工作,这是一种开源机器学习基础设施,尽管了解得更多,但我仍然对恒星扩散感到非理性的兴奋。显然,我并不孤单。围绕恒星建立了一个完整的生态系统。开源营销已成为其自身的利基市场。开源团队通过公告朝着里程碑努力。已经出现了一整套用于跟踪和分析恒星生长的工具(见上图)。一路走来,明星从“支持项目的公开方式”变成了“开源软件的流行”,因此有必要重新评估明星的真正价值。为什么明星没有您认为的那么重要明星确实具有价值——稍后会详细介绍——但今天却过分强调了它们。一般来说,出于某种原因,星星并不像我们倾向于对待它们那样有价值。1.星星不等于用户你可以在没有使用的情况下给一个项目加星。您可以在不加星标的情况下使用项目。这听起来很明显,但必须强调的是,明星和用户之间没有必然的因果关系(当然,一个可以导致另一个)。例如,在Cortex,大量用户尚未加入repo。我们评估Cortex健康状况的明星是使用它在生产中部署模型的人数。我们通过与实际用户互动来衡量这一点。如果这个数字上升,我们就知道我们做对了。如果数量减少,即使星星增加,我们也必须解决一些问题。2.星级对环境的依赖性很强星级并不是一个统一的价值单位,项目之间的星级比较也不是一件简单的事情。项目社区的规模和活跃度、潜在用户的数量以及维护者的营销努力极大地影响了项目的星级。例如,如果你是一个前端Javascript框架,并且你有Facebook的营销预算,你将拥有比拥有工具的DevOps工程师更多的明星。换句话说,React拥有148,000颗星而Elasticsearch拥有49,000颗星这一事实并不能说明Elasticsearch的成功(苹果和橙子)。3.从根本上说,明星仍然是社交媒体参与GitHub显然不是Twitter,但明星仍然是社交媒体参与,所有常见的警告都适用。首先,一些GitHub用户比其他用户在社交上更活跃。一些用户为2,000个项目加注星标,而其他用户几乎没有注视。同样,许多GitHub用户使用星号表示对项目的一般支持,即使他们从未打算使用它。例如,当我们首次推出Cortex时,我们得到了来自Go社区的好评,甚至来自对机器学习不感兴趣的人。这没有错,我们非常感谢您的支持,它只是加强了星星和使用之间的联系。星级并不是一切,但它们仍然很有价值尽管有上述警告,获得一颗星仍然是一件好事(实际上,如果你想给Cortex一颗星,请不要让我阻止你)。星号表示人们通常对某个项目感兴趣,并且同样可以提供相似项目之间的有用基准。比较React和Elasticsearch可能没有任何意义,但React拥有的星星数量是Angular的两倍多这一事实可能会。明星们也会提供一些关于谁觉得这个项目有趣的反馈。对于Cortex,我们惊讶地看到该项目在开发人员中的流行,而不仅仅是数据科学家。这影响了关于我们如何开发项目的许多决定。最后,星星使物品更容易被发现。除了高星数有助于项目脱颖而出这一显而易见的事实外,它们还会影响GitHub的推荐。由于我参与过类似的项目,所以我通常会查找新的ML项目:出于所有这些原因,星星很有价值——它们并不是评估开源项目的完整指标。