目录

Before Good First Issue

注,这一是篇演讲稿,没有严格的目录结构。所有的标题只是为了简单区分段落,去掉所有的标题,剩下的才是演讲稿。

录播(非常有激情哈哈哈)

幻灯片:点击播放 用的是 figma,有些动画需要点击特定的组件,不是很推荐自己放映,推荐观看视频。

开场

非常感谢大家来听本次的分享,也感谢尔等同学,也就是GSoC-CN的群主邀请,给了我这个机会,并亲自主持。

简单自我介绍一下,我是李鹤鹏(爱飞的鸟),研二计算机学生。真的很简单啊。(详细的自我介绍放到后面)。

来个小声明,我知道可能很多人已经看了尔等群主关于本次分享的介绍文档,那是真的详细啊,把我的老底全揭了。

所以,为了更好的视听体验,大家就假装没看过吧~

本次分享的主题《Before Good First Issue》,也就是如何参与开源活动,我大概会讲1小时,然后会有随缘时长的Q&A环节,主要是看大家想聊多久了。

PPT 封面

引子

先讲点题外话,为什么我能做这个分享?有的人可能会想,那还不简单,因为我牛逼啊!

并不是,去年5月的时候GSoC-CN群举办过一次分享会,是江华禧前辈主讲的,虽然我不认识他啊。他是GSoC、OSPP的参与者,同时还是Apache的第一位Committer,并且还担任过OSPP的导师,非常牛逼。我当时在哪呢?我当时是台下的一位听众,还没有任何开源经历,我远不是站在金字塔顶尖的人。

那么为什么我还是做了这次分享呢?

事情是这样的:其实尔等拉我的时候,我是有些犹豫的。我当时就立即反问:“我来演讲,能给听众带来什么。已经有这么多这么厉害的大佬分享了各种关于开源的经验和干货,我无论讲什么也很难带来太多不一样的东西。”。尔等当时就懵了,思考片刻之后说,纯靠一次分享确实很难让大家直接原地飞升了,但我们最大的作用就是,“布道”。听到这布道两个字我就精神了,布道约等于吹牛逼啊,这我太在行了。

本次演讲的主题:我可能给不出最牛逼的开源指引,但我一定能撼动你不愿/不敢参与开源的心

本次分享能带来什么

玩笑开完了,来点实在的吧:本次分享能给大家带来什么?

  • 开源新手而言(尤其是那些在群里潜伏了很久但是从来没有真正参与过开源的同学们)
    • 介绍一下开源活动
    • 讲讲我的开源故事
    • 开源到底能带来什么?
    • 如何参与开源(打破信息壁垒)
    • 灌几卡车鸡汤
  • 对于开源大佬
    • 听个故事
    • 交个朋友
    • 当成一次免费脱口秀

同时等会Q&A的时候,希望各位开源大佬能一起帮我解答一下,感觉我一个人顶不住啊,非常非常感谢。

本次分享能带来什么

开源活动介绍

说了那么多,先来讲一讲开源活动,到底是什么

大家可能会觉得,参与开源很难,我还是个学生,没有什么项目经验,哪里比得上工作的人,哪里能比得上开源老手?更不敢参与开源活动。 但实际上的逻辑是反的,通过开源活动参与开源反而更简单,换句话说,大部分开源活动的目的,就是努力让更多的人参与开源。 为什么更简单呢

我给大家讲讲开源活动的基本形式。一般有一个活动主办方,然后有一堆开源社区报名,每个开源社区有若干个项目,每个项目一般配有一个导师。学生可以自由联系社区与导师,然后提交申请书(proposal),申请做这个项目。重点来了,每个项目只能有一个人中选。中不了怎么办?很简单,再来一次!继续在社区里做贡献,当你已经被合并了10个以上的PR的时候,过两个月又有个新的开源活动出来了,这时候社区再参加,你觉得这个项目不给你给谁呢?

以及,每年起码有7,8个开源活动,每个活动一般都可以同时申请3个左右的项目,我就不信你持续一年参与开源,20多个项目一个都中不了。总有走运的时候,总能遇到那么一两个眼神不好的导师,是吧。

开源活动

开源活动举办方

  • 大公司:谷歌编程之夏(GSoC),可以得到谷歌面试职位的被推荐机会。阿里、腾讯也会举办。这些公司为什么要烧钱搞这些开源活动呢,最大的动机之一是抢占人才。所以参与这些活动能很大地提高入职这些公司的概率。
  • 基金会。比如 LFX mentorship 就是 Linux 基金会搞的。钱多,力度大。
  • 中国计算机协会,举办的GLCC。目的就是多让学生参与开源,他巴不得你被选上。
  • 还有一些开源项目自己搞的。也是希望更多的人参与自己的社区,这种自己搞开源活动的社区一般都是比较活跃,或者说对开发者友好的。

开源活动举办方

开源的好处

下面我来分享一下:

  • 先参与开源,还是开源活动?
  • 通过开源活动参与开源更简单?
  • 参与开源活动有哪些好处?

如下:

  • 独占式。前面提到的一个项目最终只能有一个人中选,看似很难,但同样也是优点。如果是只参与开源而不是通过开源项目参与开源,你哪能抢得到那么大一块肉?开源活动的话,只要申请成功,这个项目就是属于你的了,而且项目一般都比较完整,有背景、有方案、有优化路线等等,以后工作的时候可以给面试官讲故事。只要申请成功,你就大概会有2-3个月左右的时间来完成这一个项目,同时还会有个导师带着你。
  • 能力&协作
    • 代码能力提升
    • 学习优秀代码
    • 代码被Review,获得针对性建议
    • 规范的协作流程
    • 软件发布各种自动化(CI/CD)
  • 简历&圈子&人脉。首先是简历镀金;然后是能认识更多的人,说不定以后面试的人就是你的开源伙伴;以及你会加入一个领域知识圈,主动&&被动地收获更多的信息。就像滚雪球一样。
  • 钱。开源活动一般都会给不少钱,一般是6000人民币起步,GSoC今年中国是1800/3600美金,LFX Mentorship 是3000美金。

开源的好处

开源故事 - 开篇

前摇这么长,终于开始讲开源故事了哈。想参与开源但一直没机会的同学可以仔细听一下,我会在里面穿插参与开源活动的指南。

  • 还是因为尔等,21年12月知道了GSoC。你可能会觉得,我真厉害啊,参与过GSoC,但真相是,去年的GSoC因为种种原因,我听完就忘了,压根名都没报。
  • 然后是22年4-5月,知道了OSPP。之前实验室有师兄在用Milvus,云原生向量数据库,然后我发现刚好这个社区也参加了OSPP,就进了微信群。Milvus社区一共有8个项目,然后不到一天群里就进了100多个学生。而我对Milvus其实了解并不多,感觉来不及了,所以识实务者为俊杰,我果断run了。
  • 我后面又注意到另外一个项目,是做一个CodeReview机器人。大家知道无论是开源还是公司内部,一般都会使用Git工具来协作,比如GitHub,然后Issue是主要的讨论的场所,贡献者可以PR来提交代码,但是有时候会有很多积压的Issue或者PR没人回复。所以社区希望做一个机器人,能分析出当前代码审查流程被谁阻塞了,然后发送通知给项目维护者。它是用Go语言的,和我的技术栈相符,而且我对这个项目确实很感兴趣。他还有个微信群,我就加了,后面感受到社区氛围很不错,就决定了参与这个项目。

开源故事-1

如何参与开源活动 && 开源项目

基本流程

然后我重点和大家分享一下我申请这个项目的经过。

参与开源活动大致分为:准备工作(熟悉项目、联系社区)->提交申请书->中选->开始写代码->结项->拿钱->继续深入参与项目

很多人都以为提交申请书才是重点,但其实联系社区也非常重点,甚至更重要。如果你是导师,两个人水平差不多,但是一个人已经提前和你聊过了,另一个没有任何沟通只是提交了一份申请书,你会把项目给谁?中国人很看重人与人之间的交流,开源社区只会有过之而无不及。

  • 开源社区的一大理念在于交流与协作。如果你和社区没有任何先前联系,只是提交申请书,导师怎么相信以后你能在开源社区多多沟通呢。
  • 如果直接火急火燎地直接通过通讯工具联系导师会怎么样?啊导师,我对你们社区感兴趣,请多多关注我啊。然后导师能回你什么,哦哦,加油啊,等你申请书哦!然后话题就终结了。

参与开源活动-基本流程

参与开源 - 文档

下面我来讲一讲如何与开源社区进行交流。

所以我们决定了参与一个开源社区后,该怎么做呢。

首先是了解这个开源项目,先好好看看文档。

  • 如果文档不多最好是把所有文档过一遍
  • 文档太多的话也别太傻,拣重要的看,剩下的把目录扫一下,知道文档里有些什么。防止出现和社区交流的时候,你问了个问题,想显示你有在思考,自以为很厉害,结果导师丢了个链接给你,而且就在文档里,那就尴尬死了。
  • 文档可以分为两部分看:
  • 用户文档:项目是什么,解决了什么问题,有什么优点,哪些基本概念。一般的项目都会有个quick start,至少要把这个跑一遍。想成为开发者,你必须要先成为它的用户。
  • 开发者文档:
    • 贡献者交流的媒介是什么(GitHub Issue、邮件列表、Slack、微信群)
    • 参与贡献的流程
      • 技术流程上的:fork项目->提Issue/领Issue->写代码->提PR->被review,合并。(这个基本所有的社区都是一致的)
      • 社区特有的惯例
        • 很多社区需要先在issue下评论,讨论方案,被assign(分配)后才能提PR,防止出现两个人完成同一个任务
        • Issue和PR的标题的格式是否有要求
        • 仔细看Issue Template上的注意事项
        • commit message是否有要求
    • 技术文档:这个我就不详细说了,不说大家也会去看。包括项目架构,怎么搭环境,怎么把项目跑起来,还有Roadmap。以及社区支持哪些贡献(代码类的,文档类的)。
    • 哪里去找:我们一般可以在仓库的README或者官网找到一个叫Contribute的文档。如果社区所有的资料里都找不到类似的文件怎么办呢,我的建议是,赶快run,不要来这个社区。

参与开源活动-文档

参与开源 - 初步交流(提交代码)

前面提到交流很重要,那么最有效的交流方式是什么?

我觉得,作为程序员,最有效的交流方式就是通过代码。

怎么给开源项目贡献代码呢?

一般的流程是这样的,打开GitHub,找到Issue列表,一般都会在Issue里提问题,报告bug,以及社区的开发任务都会在Issue里。我们可以筛选带有 good first issue 标签的,这种是专门给新贡献者准备的,而且一般每个人只能做一次good first issue。

从里面挑选一个感觉自己能做的,然后评论一下,说我想做这个issue,请分配给我。最好能在issue里写一下大概的实现思路,先在issue内和社区的人讨论讨论。

如果有人回复你,觉得没问题。那你就可以开始写代码了。至于流程上的,怎么fork,怎么commit啥的,这里有一篇很详细的教程:如何参与开源项目 - 细说 GitHub 上的 PR 全过程

当然贡献也不仅限于代码,你也可以做一些文档类的贡献,甚至修复一些typo(错别字),但我不推荐多次提交typo类的PR。如果你能力足够,觉得哪里有bug,或者哪里可以提升,或者加一些新功能,建议先提issue和社区讨论,不要直接提pr。

参与开源活动-提交代码

与导师交流

等你和社区有了初步的交流后,你就可以尝试加一下导师,联系一下了。这时候你的身份已经是参与过社区的人了,而且有很多可以聊的内容,比如做个简单的自我介绍,聊聊社区项目本身,以及和导师讨论一下你对本次开源活动的项目的初步的思路,有demo更好,让老师指点一下。

申请书(Proposal)怎么写

然后就是写申请书,也就是proposal了。不要提交地太早,也千万别卡在最后一天交,万一服务器卡了你就g了。

其实网上已经有很多教怎么写proposal的教程了,尔等群主的参与开源小册里就收集了很多。我肯定不是写得最好的,不过我还是分享一下自己的观点吧:

我觉得世上的很多事情,都可以用换位思考这四个字来解决,写proposal也不例外。

大家先把自己代入导师的角色,导师都是开源项目的资深贡献者,有老外,有公司员工,还有不少导师是学生,甚至可能有的导师年龄比你们还小。但他们都有一个共同点,他们都希望这个项目申请者能顺利地做完,以及交流的时候能顺畅些,最好能再交个朋友,同时大部分导师还希望申请人在活动结束后还能继续留在项目里。

所以我们写proposal的重点在于:说服导师,自己有能力完成任务,以及愿意花时间完成任务

可以从哪些角度证明自己有能力完成任务呢?

  • 讲讲自己对社区的了解,对项目的了解
  • 个人履历,代码能力
  • 写清楚基本的设计方案,适当排版,至少美观,最好画点图
  • 计划,表明自己愿意花时间
  • 英文的话,可以使用 deepl 翻译,然后用 grammarly 修正一下语法
  • 也建议提前写好 proposal,给导师看看,如果他愿意提一些建议,甚至帮你改一改,那就相对稳了。

最后,最重要的,要学会做人。记住谦逊和真诚两个词。还有前面我说参加几十个项目都是玩笑话,建议重点关注一到两个社区就足够了。

这些是我写的一些申请书和答辩视频,希望有所帮助:

参与开源活动-申请书

如何挑选社区

再简单提一下如何挑选社区和项目吧。

可以从多个维度来考虑,首先是项目角度,比如非常喜欢这个社区的主要做的事情,或者喜欢本次活动中给出的项目,以及技术栈匹配

然后是社区的知名度,知名的大的社区在于大佬多,体系完善,代码质量高,但也意味着一开始不好上手,以及竞争激烈;也可以选择知名社区的子项目,比如各种sdk,命令行项目;还有的就是选择比较新的或者比较小的社区,优点是中选率高,代码量少上手快,以及发展前景大,更容易成为member,但是要注意甄别,代码质量和协作流程可能会差一点。

然后是社区的活跃度,建议选择活跃的、开发者资料多的社区。以及对新人是否友好,可以尝试交流或者提个PR看看反馈。

参与开源活动-挑选社区

回到开源故事

好,继续往下。还有没有人记得,我刚刚讲到了参与OSPP,申请了DevStream社区的CodeReview机器人项目。

大家可能以为觉得,我接下来要分享OSPP的中选感言了。又很不幸,我OSPP凉了。

不过我这里还是给大家分享一下当时的Proposal,比较赶,熬了两天外加通了个宵写的,所以全是架构设计没有太多代码细节。希望能有一定的参考意义。

glcc

后来6,7月的时候,我又知道了GLCC,申请了ShenYu社区的项目,是一个高性能的网关。大家肯定都知道Kubernetes(好吧,肯定有人不知道,官方介绍是容器编排管理工具,但大家可以狭义地理解为一个很好用的现代的用于快速部署软件的工具,并且能够很方便地扩缩容),但用Kubernetes部署应用的时候需要写一堆的YAML文件,复杂且不好管理。所以诞生了一个项目叫做Helm,本质上就是写一套YAML渲染规则,用户使用的时候就像apt那样,只要运行一个命令,传入几个简单的变量,就能渲染出完整的K8s需要的YAML文件。

ShenYu当时已经有了基于Kubernetes的文档,GLCC的这个项目是给ShenYu写个这样的Helm Chart。本质上不难,也就是把已有的YAML文件转换成模板。

(大家猜猜这个图标还会灰吗?明显PPT已经占满了啊,肯定不会灰了是吧?)确实,这个项目最终我是申请上了,并且成功结题。

ShenYu是一个以Java为主的社区,而Helm Chart是基于Go语言的模板语法开发的。所以这对我们参加开源活动其实提供了另外一种途径,大社区可能很难参与,但是我们可以参与那个社区的非主要技术栈的项目,比如给Java项目写Go的SDK,比如给非前端框架社区写官网,比如像我这次那样给Java社区弄一些云原生的东西。大部分社区肯定是缺这种不同技术栈的人才的,这种方式更容易申请上,而且以后更容易成为Committer。然后在下次参与开源活动的时候,你就可以借着这次开源攒下的经历和经验,去刚一刚顶级社区了。缺点是可能代码能力的提升相对会弱一些,但是这样的项目基本上需要你一个人独立解决很多问题,做完这个项目也足够让你提高一个level了。如果你的level够高,做这样的项目获得不了很大的提升,那其实直接去刚顶级社区就好了。

开源故事-2

开源给我带来了什么

说到这里,我其实还有很多内容没有讲,大家可能还有很多问题想问。

下面我想谈谈,开源给我带来了什么?(前面其实聊到了开源的好处,但那都是泛泛而谈,这里讲点真情实感的)

又或者说,我一直在思考一个问题,相信大家也一直都在思考这个问题,“我"到底有几斤几两?

我们可能某段时间觉得自己菜得不行,然后做了点东西,觉得自己又行了,后面认识了一些巨佬后,发现自己又什么都不会。如此反复,那么,我们到底有几斤几两,到底有没有资格参与开源呢?

我们把时间拉回到21年9月,我刚研一,那个时候我的履历只能说是一穷二白。唯一能说道的也就是一个三千行的爬虫项目和最基本的SpringBoot的能力。

然后我们学校有个挺厉害的技术社团,给学校做了不少业务,比如疫情防控这块,全校两三万学生的请假、出入校管理、健康打卡都是他们做的。 本来社团一般都是本科生玩的,不过我还是厚着脸皮和当时的后端负责人聊了聊。然后加了进去,毅然决然转了Go语言。 在这个社团里面,我找到了技术氛围,从一个完全不会Go的人到了能写出还算像样的后端,会考虑缓存、微服务这种细节。我们所有的项目都是托管在GitHub上的,每次打开GitHub就像刷朋友圈一样,今天前端的某某某又更新了什么后端,后端的谁又修了什么bug,很热闹。这个社团本质上是一个小型的开源系统。 最重要的是,项目是会上线的,所以我恶补了基本的Linux操作,学到了DevOps的皮毛。DevOps可以狭义地理解为CI/CD,主要是加速从写代码到部署中间的链路,比如代码提交后自动运行一些测试用例,自动build,然后部署到机器上。

所以在22年年初的时候,我就可以对外吹嘘,我曾经是几万日活项目的核心负责人之一。

然后尔等和我提了一嘴GSoC,我当时想着,我哪有这个能力啊?再加上时间原因,这事就错过了。

再后来是4到5月,尔等又和我说,OSPP开始了,不来参加一下吗?就像前面说的,我OSPP凉了。原因主要是还有个竞争对手是字节的,他在公司负责的业务和OSPP项目几乎完全贴合。

我凉了,但很幸运,我没有完全凉透。

大概5月中旬,社区提拔了三位活跃的学生成为Member,然后我的title就成为了所谓的开源项目DevStream的Member。

又过了一段时间,社区两位PMC,胡涛和郭铁心,主动问我愿不愿意来实习,而且是远程实习,并且免面试。众所周知,很多导师是不放实习的,而秋招的时候有实习经历帮助又会很大,所以远程实习基本是最优解了。

我个人觉得,能获得这样的机会主要有三点,一是给社区提了10多个PR,二是之前在社团的经历,三是和社区沟通愉快。

这个时候,我的简历上就又能加两条:开源经历 && 实习经历,有了质的飞跃。

然后6月的时候,又来了好消息,DevStream成功进入了CNCF的沙箱,我的title又好听了点,变成了沙箱项目的Member。

直到现在,我还是在DevStream的母公司思码逸实习,而且工作的全部内容就是维护开源项目。

我从这个开源项目中获得了什么呢?

  • 首先是最显而易见的,所谓的title,以及实习经历。
  • 然后是关于开源协作上的东西,比如第一次参与贡献的步骤,与贡献者如何沟通,Review代码的流程,复杂的Git操作。
  • 还有DevOps相关的一些东西,提交PR之后会做一些检查,比如我们会检查文档链接是否存在404的情况,代码能不能跑通等等。这里面有些CI就是我写的,比如这个文档链接检查,值得一提的是这个CI基本上是通用的,只要改一改就能用在其他项目上,而且大部分开源项目都不会拒绝。
  • 然后就是技术上的能力了,比如单元测试怎么写,甚至是如何测试驱动开发,比如原先几乎完全不懂DevOps和K8s,现在也算简单入了门。
  • 还有人脉,社区群有几百个人,而我又同时兼任社区的部分运营,所以能很轻松的加上一些大佬,比如当时写GLCC申请书的时候,就请教了Helm社区的一位分支Maintainer。

然后就是一些文化上的东西,

  • 比如没接触过开源的人会觉得开源就是免费软件,但深入开源的人会觉得这是一种程序员的浪漫,开源的核心在于协作。我的PPT的封面是一根网线,含义是Connection,既代表着开源的内核,又寓意着大家从此和开源结缘。
  • 然后是实习的时候组内的一些文化,前Leader是清华+亚马逊的大佬,组内采取的是异步协作的方式。不会说发个消息需要你马上回复,有时间立即回复就好,大家互相信任。以及几乎不开会,因为长时间的开会容易打断造成工作效率低下,我们一般会开个共享文档,大家异步地阅读、评论。以及每周会有个和Mentor1对1的会议,每双周有个和Leader1对1的会议,我们除了会聊工作相关的东西,还会聊以后的发展,以及会聊对整个人生有益的,代码以外的事情。比如我的Mentor胡涛很会写博客,有自己的公众号,会和我谈博客与工作相关的东西。哦对,他这两天还写了一本书,叫《Kubernetes Operator开发进阶》,打个小广告。
  • 然后是第一次认识到了人生和代码的关系。以前觉得一定要挤破头,进大厂,只要心脏还在跳动就什么都不管。而且是955,不用通勤,不打卡,从不加班,不会有人主动给你打电话,甚至我以前开过一个玩笑,下班之后,反而不是Leader找不到我,而是我根本找不到Leader。但我的Mentor和前Leader,都是放弃了大厂的百万年薪来的。他们在家人附近办公,每天随意选择不同的办公场所,比如在星巴克,比如先骑二十公里单车,找个公园,然后开始一天的工作。吃完晚饭,剩下的就都是自己的时间,无论是陪家人,还是做副业。而且算一下平均时薪的话,和大厂也差不多多少,大厂加班太多了,这很大动摇了我拼命卷的想法。

然后就是通过GLCC参与ShenYu社区了,其实当时申请的时候,我对Helm都不怎么熟,但是努力刷完了Helm的文档,参考了很多代码,写出了个看起来还行的申请书。我甚至可以这么说,我现在对K8s和Helm的认知,全是靠边做GLCC项目边自学获得的。

这里有两个链接,一个是我和DevStream发生的故事,一个是我们DevStream团队的一次聊天视频:

开源给我带来了什么

到底几斤几两?

再谈谈一个问题,我到底有几斤几两?

我有时候觉得我行了,是所谓的CNCF沙箱项目的Member,甚至马上就快成PMC了。 但相比其他大佬,我又觉得我真的不行,我云原生这块的积淀可能连入门都算不上。

但又回想起来,我在社区已经提交了大概100个PR,涵盖了主要特性、单元测试、CI、代码重构等等内容。社区的大部分中文文档也是我写的,也主持过很多次的社区例会。似乎又干了许多事情。 可是再想想,我觉得这些东西都比较细碎,绝对比不上那些深入K8s源码的大佬。

所以我到底行不行呢?大家可能也经常问自己,到底行不行呢?

这个问题很难回答,但是,当我们回头看看,就会发现自己已经走出很远了。比如我,一年零三个月,从几乎没有任何项目,到有了线上后端经历,以及开源项目的Member,还有一段实习,以及一段开源活动经历。

前面讲的这些内容,其实也就是我说的所谓的"鸡汤”。就我个人经历而言,我觉得我每次提高一个大level,从来不是因为我代码能力提升了多少,而是有个人和我说,来玩玩这个,或者说我主动融入了某个圈子,然后才知道,可以学这个,可以这么学。 我相信大部分人的代码能力真的不差,更多的是像我本科那样,想学,但不知道学什么,或者在同一样事情上做了很久很久,无法获得提升。

不妨从开源入手,先进入一个新的圈子玩玩。

抽奖

抽奖

DevStream

再来简单介绍一下我的社区,DevStream 吧。

社区大概22年2月左右开源,6月进了CNCF沙箱。 方向是DevOps方向,大家可能都听过GitHub Actions,GitLab CI,Jenkins,ArgoCD,Tekton 等等的DevOps工具, 一般来说公司想实现Git仓库代码一更新,一自动运行各种流程,然后部署到线上,需要结合刚刚说的那些工具,搭建一条DevOps流水线,但是要选择哪个工具,怎么装,装完了怎么配置,配完了又怎么能把工具联动起来,比如代码推送到GitLab后,怎么连到Jenkins。

DevStream 解决的就是这个问题,我们会总结一些如何挑选工具的最佳实践,然后把工具的安装、配置、集成全部自动化,让用户能近乎一键的方式把DevOps流水线搭建好。

我们有官网,展示了所有的贡献者,团队还会输出博客。

社区大概率会参加今年的 LFX Mentorship,目前还在想项目。

DevStream

最近的开源活动

GSoC

简化过的时间表(UTC):

  • 2023年1月23日-2月7日:组织报名时间
  • 2月22日:Google公布入选社区。
  • 3月20日-4月4日:贡献者申请
  • 5月4日:谷歌公布中选名单
  • 5月29日正式开始编码,8月21日完成编码。
  • 9月5日:公布最初结果 完整时间线:https://developers.google.com/open-source/gsoc/timeline

LFX Mentorship

分为两种,full-time和part-time的。

  • full-time
    • 每期时长3个月(24周)
    • 每年有三次,春,夏,秋。
  • Part-time
    • 6个月(48周) 完整时间表:https://docs.linuxfoundation.org/lfx/mentorship/mentorship-program-timelines

最近一期是:

  • 1月16日-1月31日:社区申报项目
  • 2月1日-2月14日:学员申报

最近的开源活动

相关二维码和链接

本分享的文档版 https://blog.aflybird.cn/2023/01/before-good-first-issue/

相关二维码和链接