V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sumtsui
V2EX  ›  程序员

第一次尝试贡献开源受挫

  •  1
     
  •   sumtsui · 2 天前 · 4767 次点击

    自从转行写码后就想有朝一日要贡献开源,但一直没实践。直到某天我在 formik 曾经参与讨论的一个 issue 有人留言:

    "more than 5 years have passed, still waiting..."

    我想那要不我来看看吧,结果我发现不难修,然后开始搞懂这个 repo 的贡献规则,写码、写 unit test 、提交 PR ,但发现过了好久都没有人 review 。后来听说 formik 已经不维护了。但不维护也没有人在他们 repo 或者官网上说一声啊,而且最近一次 merge 也就几个月前而已。哎,纯纯浪费时间跟我的热情。后来我发现其中一个 maintainer 还每隔几小时就发一次推,我真的好想去他推下留言说,"Hey ,要不 review 下这个 small PR ??" 当然我没有这么做。

    所以最后我的第一个正式给 100 颗星以上的项目提的 PR 就这么不了了之了。不过我还是很想继续尝试贡献开源的。

    但我觉得贡献开源这个东西,有时不能强求吧?像这次我觉得很顺理成章,一个我曾经用过的库的一个我遇到的 issue 没有人修,那我去修修。但不然的话,我要硬贴上去给别人的 issue 提 pr ,会不自然吗?

    53 条回复    2025-03-10 02:03:05 +08:00
    qinqiuxu
        1
    qinqiuxu  
       2 天前
    我第一次的开源项目贡献是给 ant design 的,那时候 pull request 被 merge 时挺开心的,还专门发了条朋友圈。。
    NuKc
        2
    NuKc  
       2 天前   ❤️ 10
    别灰心,继续下一个项目 PR ,总会得到肯定的时候
    8bit
        3
    8bit  
       2 天前   ❤️ 2
    加油
    gorvey
        4
    gorvey  
       2 天前
    我第一次算是给阮一峰的周刊投稿吧,虽然是投在 issue 里不是 pr
    sumtsui
        5
    sumtsui  
    OP
       2 天前
    哈哈 那确实会是很不错的感觉吧,我还没体会到。。。
    我之前也尝试在 material UI 上找能贡献的点,但发现太多人抢着去 fix 了。
    krixaar
        6
    krixaar  
       2 天前   ❤️ 2
    apache2.0 你直接 fork 了修掉,给那个 issue 里的人留个言去下你的 fork 啊。
    BBCCBB
        7
    BBCCBB  
       2 天前
    自己 fork 一个修.
    Razio
        8
    Razio  
       2 天前   ❤️ 2
    都一样的,不要多想,换个项目,很多人还是很好的,提 issue 会邀请你提 pr ,还会帮你修改格式,提出意见给你
    chesha1
        9
    chesha1  
       2 天前   ❤️ 1
    有的开源库是这样的,可以多观察下 open 的 issue 和 pr ,你觉得问题可能在项目方来说不是问题,他们就是不愿意做。还有开源≠接受贡献,不接受任何外部 commits 的项目也很多
    sir283
        10
    sir283  
       2 天前 via Android
    我第一次提交 pr 是给 j2me-loader ,然后那作者看我提了个新 pr ,仓库状态马上从一年前更新状态变成一天前了,但是没有把我的 pr 合并进去,而是提取了部分 pr ,也没有加入我新加的功能进去。很是失望,搞得最后我只能继续 sync fork ,自己单独拉个版本搞。
    xiaoxinshiwo
        11
    xiaoxinshiwo  
       2 天前
    别灰心啊,不还有其他 127 个 PR 是 open 的吗
    kdwnil
        12
    kdwnil  
       2 天前
    有 pr 被卡过很久才合并,也卡过别人的 pr ,都很正常

    毕竟 GitHub 仓库的 pull request 的功能关不掉,不管作者愿不愿意处理,别人都可以去提 pr

    放宽心态,实在要用还可以自己 fork 出来自己维护
    gejun123456
        13
    gejun123456  
       2 天前   ❤️ 8
    一直不 merge 的话 直接 fork 做成收费版本,他马上就会 merge 了
    adoal
        14
    adoal  
       2 天前
    有很多开源项目的治理和维护确实不太给力。

    纯社区驱动的大型开源项目,管理做得最成功的大概要数 Debian 了。
    YanPJ
        15
    YanPJ  
       2 天前 via Android
    我也是,提完发现没有人维护了,有些挫败
    Ansen
        16
    Ansen  
       2 天前
    看来我遇到好人了, 之前第一次提 PR, 作者手把手的教我该怎么写 /t/742469
    KouShuiYu
        17
    KouShuiYu  
       2 天前
    搜索了下如何查找自己的 PR, 把 名称 替换为你 github 名字即
    https://github.com/pulls?q=is%3Apr+author%3A 名称
    FrankAdler
        18
    FrankAdler  
       2 天前 via Android
    @Ansen 我也碰到过一次,各种教我怎么提交怎么合并,可惜后来不用那个库了
    coolfan
        19
    coolfan  
       2 天前
    刚遇到一个在我的电脑上好好的,别人的环境就不行。修着修着感觉写不下去了,也就不了了之
    xxx027
        20
    xxx027  
       2 天前
    忘了它,继续给其他项目提 PR ,你会遇到的
    skiy
        21
    skiy  
       2 天前
    我基本是 fork 然后自己修自己的版本。有时候从别人的分支或者上游拉更新。提 PR 别人不合,挺打击热情的说。
    maojun
        22
    maojun  
       2 天前 via iPhone
    只要不是滥用 PR ,想提就提啊,它就是这样用的。我第一次 PR 是给了 Spring 的 Initializr ,还被自动格式检查打回了好几次,很感谢那个德国老哥愿意友好地 review 我的弱智代码😂
    wkla
        23
    wkla  
       2 天前
    我写东西都是自己要用,顺便提个 PR 。别人合不合无所谓😂
    houshuu
        24
    houshuu  
       2 天前 via iPhone
    按照我的经验来说,这种情况 fork 之后就照着自己喜好维护就行,说不定用户慢慢就往你分支上来了
    darkengine
        25
    darkengine  
       2 天前
    给那个 maintainer 发消息啊,试一下又没啥损失
    songray
        26
    songray  
       2 天前
    如果你的 pr 质量很高的话,最好的办法就是 fork 一份,然后到处推销你的 fork 。
    等作者受不了了就会 merge 掉(笑

    不过老实说,开源最大的意义是你可以随便 fork ,而不是可以提 pr 。
    合别人的 pr 很累,所以很多作者就是管杀不管埋。
    cz5424
        27
    cz5424  
       2 天前 via iPhone
    前几天给了一个 Linux 系统基础组件提了一个 PR ,作者大佬合了,还是开心了一会的
    icaolei
        28
    icaolei  
       2 天前
    我第一个 PR 是我提交后发现造成了其他 bug ,然后自己给关闭了。。。
    linuxsuren
        29
    linuxsuren  
       2 天前
    lijiangang886
        30
    lijiangang886  
       1 天前
    那你为什么没去推上找那个开发者?
    cabing
        31
    cabing  
       1 天前   ❤️ 1
    不要在乎其他的,开源你开心就做,让你 不开心就不做。自己的感觉最重要!!!
    YanPJ
        32
    YanPJ  
       1 天前 via Android
    @linuxsuren 头像有点眼熟,大佬是参与 jenkins 的么
    Exxfire
        33
    Exxfire  
       1 天前
    第一次给开源项目提 PR ,是给 RT-thread OS 提的,经过讨论过后,虽然我的 PR 方式不合理,但是暴露出了代码逻辑里真正的问题。
    第二次也是给 RT-thread OS 提的,修复了一个会导致整个系统宕机的 BUG ,被合了。
    Jakarta
        34
    Jakarta  
       1 天前
    @KouShuiYu 不用这么麻烦,右上角有现成的按钮。
    sardina
        35
    sardina  
       1 天前
    不维护了就自已 fork 后,修改了在原 issue 留一下自已 fork 的地址,no care
    linhongjun
        36
    linhongjun  
       1 天前
    支持去优化优化 WinAuth 这个一直在用 就是作者不更新了
    msg7086
        37
    msg7086  
       1 天前
    原作者不维护了,那你不就成了维护者了吗?
    自己开个 fork ,把 pending 的 PR 全 review 完 merge 了,岂不美哉。
    lijianan
        38
    lijianan  
       1 天前
    lng2020
        39
    lng2020  
       1 天前 via Android
    很多开源库其实不接受比较复杂的外部贡献 hh ,楼主别灰心
    linuxsuren
        40
    linuxsuren  
       1 天前
    @YanPJ 是的,你也是 Jenkins 用户吗
    SilentFlute
        41
    SilentFlute  
       1 天前
    @qinqiuxu 哈哈哈哈, 一样, 我也是第一次给了 antd, 然后也是发了朋友圈, 楼上的 lijianan 大佬还帮我 review 了
    sumtsui
        42
    sumtsui  
    OP
       1 天前
    @lijianan 哈哈哈 好的好的
    sumtsui
        43
    sumtsui  
    OP
       1 天前
    @cz5424 哇 牛啊,想想这代码得被多少人用到,肯定会开心吧
    sumtsui
        44
    sumtsui  
    OP
       1 天前
    @lijiangang886 边界感吧,追到项目维护者的私人推特上去说好像不太好。当然可能有些人介意有些人不介意
    YanPJ
        45
    YanPJ  
       20 小时 2 分钟前 via Android
    @linuxsuren 嗯是,我对你的头像有印象,jenkins 中国的大佬😁
    kikoroc
        46
    kikoroc  
       19 小时 58 分钟前   ❤️ 1
    找准自己的领域,看来你可能是做前端的,可以了解贡献开源白板工具 https://github.com/plait-board/drawnix repo
    https://drawnix.com
    Linho1219
        47
    Linho1219  
       18 小时 49 分钟前 via Android
    我第一次是给阮一峰网道项目里 js 教程 pr ,陆续开了好几个,有的合了,更多的没合。本来没合挺气馁,后来看开了
    silenceeeee
        48
    silenceeeee  
       16 小时 39 分钟前
    我给 php 的官方文档的中文文档修正了一处翻译错误,被采纳了,这个算吗?
    auh
        49
    auh  
       13 小时 24 分钟前
    贡献开源还是吃的太饱
    huangzhe8263
        50
    huangzhe8263  
       13 小时 12 分钟前
    本来就是这样的,再多接触接触就祛魅了
    当时给 mysql 的 JDBC 提了个 pr 开了一年多才合进去,合进去然后他们开发者还重构重构出问题来了
    yuekcc
        51
    yuekcc  
       7 小时 1 分钟前
    项目是 zed 。本来是改着自己用的,就试试提个 pr ,万一合上去了呢。当然后面是被拒了,不过 zed 的人看 pr 还真快,当天就回复了。
    Leoking222
        52
    Leoking222  
       6 小时 1 分钟前
    @auh 哈哈哈
    skallz
        53
    skallz  
       2 小时 49 分钟前
    挺理解的,我自己的开源项目也有几百 star ,只能说 op 不打扰别人是对的,因为很多东西真的就是之前工作积累下来,然后随手开源了部分代码(征得同意),一般维护个几年就已经不想再回去动那个代码了,为爱发电真的坚持不下去,想要改的自己 fork 吧。。。
    ps:当然给钱的话那就另说,但是邮箱和 issue 收到了无数新功能的建议,但是没有一个愿意赞助一杯咖啡的 233333
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   860 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:52 · PVG 04:52 · LAX 13:52 · JFK 16:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.