如何通过 GitHub 的 API 评估一个人的开源力(暂时就这么叫着吧)?

2014-07-09 22:38:14 +08:00
 gaody
如果要你通过GitHub的API设计一套算法规则,计算一个人的开源力,你会怎么设计?
简单的将每人的repos的watch数、star数、fork数相加?还是?

之前看到过一个GitHub相关的排行耪是按照followers的 http://githubrank.com/
6307 次点击
所在节点    问与答
9 条回复
hzlzh
2014-07-09 22:53:55 +08:00
有算法的,我没有去加,其实我比较好奇你怎么知道这个站的,我都没有公开过。
akfish
2014-07-09 23:10:03 +08:00
单纯看watch, star, fork, follower不靠谱,比如前两天有个帖子,一个非常简单的加载css的js snippet就能有500的star。
有社交的地方就有水分。

至少要对来源进行加权,watch、star、follow、fork的人本身的评分要加入计算,显然被大牛关注点赞和被新人关注点赞的权重是不同的。
另外一个是项目活跃度的问题,issue/pull request的数量,对issue/pull request的跟进速度。

GitHub API能做的只有这么多,社交化数据只能间接反映项目质量。
如果是像node.js这种有中心化的包管理服务,才有可能到比较靠谱的结论,因为能直接通过dependencies计算一个项目被其它项目引用/采纳的数量,排除社交的水分。
dong3580
2014-07-09 23:29:59 +08:00
@akfish
我并认为有社交的地方就有水分,反而觉得社交的地方让这个也许“不起眼”的项目变得大家关注起来,然后有人觉得不错,给了星。
比如相同的两个项目,一个项目开发者非常乐意回复大家的问题,而另一个没有一点瑕疵,但却从不搭理别人的问题。如果要给其中一个star,我肯定选择第一个。
事实上,开源力里面 质量占一部分,开发者也占一部分,良好的社交层次更能让人发现一个项目的价值所在。
当然,你所说的项目活跃度,社交化数据只能间接反映项目质量,倒是比较赞同。
akfish
2014-07-09 23:41:42 +08:00
@dong3580 我说的社交是facebook/twitter的社交,是基于“刷”/对“刷”无抵抗力的社交,star、fork、follow的来源极有可能是大量从这类流量转化儿来。
比如很容易一个妹子发帖说:“大家来给我的repo加星啊,满1000晒裸照”,然后刷出1w star。

你说的项目开发者对项目进行讨论,并不是社交,而是正常的项目维护,就是我说的“对issue/pull request的跟进速度”。

好的项目会转化为高社交流量,而反过来就不成立,高社交流量转化并不见得是好项目。

我对推广、社交没意见,但不能本末倒置。
hzlzh
2014-07-10 01:38:37 +08:00
我之前提到的算法:
http://git.io/top

--

来源: https://github.com/cloudaice/simple-data

Formula = lambda x: 2 ** 10 / (1 + pow(exp(1), -(x - 2 ** 7) / 2 ** 5))
Score = Formula(followers) + Contributions

首先抓取followers排名前1000的用户,然后再使用公式计算Score值。 因此followers排名进不了前1000,根本不会进入到score计算阶段, 设计这样的计算公式的原因是考虑到followers在前期的增长含金量比较高, 而之后的增加主要是影响力因素,因此,如果你在github初露锋芒, 那么folloers的增加会导致score疯狂上涨。
jsonline
2014-07-10 02:19:56 +08:00
不要这样,我不想GitHub也乌烟瘴气的……
phoenixlzx
2014-07-10 09:36:26 +08:00
我觉得这个东西没意义啊...虽然我也觉得在开源界评定一个人的能力看下 github 差不多就知道了,但是肯定不是那么简单的...
gaody
2014-07-10 09:51:01 +08:00
@hzlzh 你的站?我是在微博上看到 唐巧分享的?
hzlzh
2014-07-10 11:15:32 +08:00
@gaody 很久以前练手做着玩的,没公开过,看whois吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/121843

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX