OSPP2025 经验分享
约 6079 个字 1 张图片 预计阅读时间 20 分钟
了解到 OSPP 的契机是通过学校工作室,工作室的学长姐在去年的 OSPP 申请中成果颇丰,看着学长姐中选的项目一个个都非常的高大上,让我非常眼红,但是当时的我并不知道应该怎么去参加开源,怎么去找 issue 去做,可以说在今年正式参加 OSPP 之前,我是一位完全零经验的开源小白,只有 git 和 github 的基础使用经验。
在今年的 5 月份,OSPP 的项目开始逐步放出,我选项目的主题是跟 AI Agent 有关的项目,主要是从功利的角度去选的,因为今年 AI Agent 非常的火爆,初步锚定的是海立老师的项目,项目目标是用 langgraph 构建 k8s 的问答智能体,但是在沟通了两周之后,我觉得这个项目其实不太适合我,首先因为项目主力语言是 python 去搭 agent,同时还要写前端页面,我一直以来都是写 java 的,去从零学习两个新的领域并在一个月内写出方案对于我来说难度有点太大了,而且在写申请书的同时还在找实习,实在顶不住压力,就决定换项目了。
大概是 5 月中旬的时候,打算将目标项目更换为 java 中的 ai 项目,因为我本身并没有开源项目的贡献经验,所以并不考虑 Apache 相关的项目,卷度太高,最终选择了 LiteFlow 这个社区作为我的申请项目。
5 月可以说是我相对最忙的一月,一边忙着找实习,一边撰写 OSPP 的开源申请书,同时还要兼顾学校的课程。不过最终的结果是比较喜人的,在 5 月中下旬拿到了一家 AI 初创的 offer,在拿到 offer 后就不打算继续找了,一方面是这家初创给的实在太多了,比大厂后端最高档的还要高一档,另一方面是可以全身心投入到 OSPP 申请书的撰写中,事实证明我的选择还挺正确的。
接下来一起看看我的申请全过程
5.09 - 6.16 套磁与申请书撰写
首先必须要明确的一点是,套磁很重要!必须积极的和导师进行邮件沟通,如果能加到微信就更好了。
申请书撰写我使用的是飞书文档,在飞书文档上书写完毕后,使用飞书自带的导出成 pdf 功能导出即可。
今年 OSPP 的项目申请只能选择一个了,很多项目到后期甚至没人选,导致主办方将项目申请时间延长了两周,当时看着我申请的项目热度一点一点提高,给我吓得不轻。
下面是我的套磁邮件与导师回复:
- 2025-05-19
- 2025-05-28
- 2025-06-3
- 2025-06-4- 12:33
- 2025-06-5
- 2025-06-19- 12:20 导师微信通知中选
最终申请书 pdf 有 36 页,在申请书提交截止的两天后成功中选!!!
7.01 - 9.30 项目开发
在中选后的那股兴奋劲消退之后,我开始思考应该如何实现这个项目,此时的我并不知道写这鬼项目能这么折磨。
首先,申请书是我和 AI 一起写的,光是写申请书就要将我燃尽了,所以我并没有写什么 mvp 去验证我的方案可行性。
然后,中选之后我发现我的方案怎么这么像一坨 shit 呢,欸,要不不按方案写的来,我按我自己的想法写一个新的方案实现吧🤓
在 7 月初到 7 月中旬,我因为我的灵机一动一直在按我自己的想法写,我的想法大概就是底层调用 AI 模型不用开源的实现,而是自己尝试去写一套,那么在一顿自认为惊为天人的设计并用代码实现了一版之后,我信心满满地发微信跟导师说:“看看我写的怎么样🤓”
不出意外,那么要出意外了
导师把我狠狠喷了一顿,说,你自己写的再好能有开源的 langchain4j 写的好吗,不要把精力花在没必要的地方,能用开源的就用开源的
给我直接整抑郁了,不过也没办法,只能顺从了,那就用 langchain4j 去写吧!
在 7 月中旬到 7 月底,我用 langchain4j 的方案实现了一版,并且发给了导师,不出意外的话,这大概就是最终的版本了
然后出意外了= =
导师说,langchain4j 的方案也不行,首先 langchain4j 要求 jdk17 及以上,而 LiteFlow 需要支持 jdk8 及以上,这依赖就没法用,再者 langchain4j 的 api 封装的过于高层了,这个项目只需要一个非常基础的调用大模型的能力即可
又给我整抑郁了,我真是日了
但是项目还是要写的,毕竟是我自己选的,就算是史我也吃了
最后和导师沟通之后,最终敲定按我原来的方案实现,那么也就是自己去写一套底层实现。
好在这两版方案是可以互通的,总之也不算白写,那么在 8 月份一直在慢慢去实现相关的代码。
这里没有说导师不好的意思,相反我非常感谢导师对我的指导,我觉得自己真是运气爆棚,能遇到一个这么好的导师,每一次去问问题,导师都是一大段一大段的回复我,去讨论相关的方案实现,确实受益很大。
到 8 月下半的时候,感觉导师也算认可我了,也就开始讨论结项相关的事宜。
截止 8 月底,核心代码的代码量共计 1w5 行左右(不包含测试),但是还没有完全完善,需要慢慢的进行迭代。
导师这边非常的善解人意,允许直接合入我的 pr,并且告知我说,不需要担心 ospp 的时间节点,可以直接合入,但是后续需要进行相关的迭代工作
所以不出意外的话我这边其实已经可以开香槟了,后续只要跟着 ospp 的流程走就能顺利结项。
然后踏马又出意外了
ospp 的结项审核,因为我的 PR 的 commit 太多报错了,导致直接访问不了,其实也不多,就 87 个 commit,问客服之后,情况是这样的: "后台反馈是因为PR中包含的commit数量太多导致限制访问,被第三方平台解析禁止。建议精简commit数量,具体操作方法可与导师讨论决定。"
不是你告诉我怎么精简 commit?都已经合进去,还有这不是你们 OSPP 后台服务的设计问题吗?
不过跟导师反馈后,导师说能够帮我解决,实在不行就走人工审核,总之先这样吧
最后的最后,很感谢 OSPP 和 LiteFlow 社区能够给我一次参与开源的机会。我在一开始申请的时候,从来没想过自己也能够参与开源,甚至一度怀疑自己的能力是否能够胜任,不过真真正正投入进去之后,会发现曾经认为很难的事情或许并不可怕,重要的是让自己行动起来。