V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
gaody
V2EX  ›  问与答

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

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

    之前看到过一个GitHub相关的排行耪是按照followers的 http://githubrank.com/
    9 条回复    2014-07-10 11:15:32 +08:00
    hzlzh
        1
    hzlzh  
       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  
       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  
       2014-07-10 11:15:32 +08:00
    @gaody 很久以前练手做着玩的,没公开过,看whois吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1200 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:27 · PVG 02:27 · LAX 10:27 · JFK 13:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.