如何通过 GitHub 的 API 评估一个人的开源力(暂时就这么叫着吧)? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gaody
V2EX    问与答

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

  •  
  •   gaody 2014-07-09 22:38:14 +08:00 6669 次点击
    这是一个创建于 4114 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果要你通过GitHub的API设计一套算法规则,计算一个人的开源力,你会怎么设计?
    简单的将每人的repos的watch数、star数、fork数相加?还是?

    之前看到过一个GitHub相关的排行耪是按照followers的 http://githubrank.com/
    9 条回复    2014-07-10 11:15:32 +08:00
    hzlzh
        1
    hzlzh  
    PRO
       2014-07-09 22:53:55 +08:00
    有算法的,我没有去加,其实我比较好奇你怎么知道这个站的,我都没有公开过。
    akfish
        2
    akfish  
       2014-07-09 23:10:03 +08:00   1
    单纯看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
        3
    dong3580  
       2014-07-09 23:29:59 +08:00   1
    @akfish
    我并认为有社交的地方就有水分,反而觉得社交的地方让这个也许“不起眼”的项目变得大家关注起来,然后有人觉得不错,给了星。
    比如相同的两个项目,一个项目开发者非常乐意回复大家的问题,而另一个没有一点瑕疵,但却从不搭理别人的问题。如果要给其中一个star,我肯定选择第一个。
    事实上,开源力里面 质量占一部分,开发者也占一部分,良好的社交层次更能让人发现一个项目的价值所在。
    当然,你所说的项目活跃度,社交化数据只能间接反映项目质量,倒是比较赞同。
    akfish
        4
    akfish  
       2014-07-09 23:41:42 +08:00   1
    @dong3580 我说的社交是facebook/twitter的社交,是基于“刷”/对“刷”无抵抗力的社交,star、fork、follow的来源极有可能是大量从这类流量转化儿来。
    比如很容易一个妹子发帖说:“大家来给我的repo加星啊,满1000晒裸照”,然后刷出1w star。

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

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

    我对推广、社交没意见,但不能本末倒置。
    hzlzh
        5
    hzlzh  
    PRO
       2014-07-10 01:38:37 +08:00   2
    我之前提到的算法:
    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
        6
    jsonline  
       2014-07-10 02:19:56 +08:00
    不要这样,我不想GitHub也乌烟瘴气的……
    phoenixlzx
        7
    phoenixlzx  
       2014-07-10 09:36:26 +08:00
    我觉得这个东西没意义啊...虽然我也觉得在开源界评定一个人的能力看下 github 差不多就知道了,但是肯定不是那么简单的...
    gaody
        8
    gaody  
    OP
       2014-07-10 09:51:01 +08:00
    @hzlzh 你的站?我是在微博上看到 唐巧分享的?
    hzlzh
        9
    hzlzh  
    PRO
       2014-07-10 11:15:32 +08:00
    @gaody 很久以前练手做着玩的,没公开过,看whois吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5242 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:29 PVG 17:29 LAX 02:29 JFK 05:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86