cover of episode S04E02 DragonOS 作者龙进专访,从零自研操作系统

S04E02 DragonOS 作者龙进专访,从零自研操作系统

2024/7/18
logo of podcast 开源面对面

开源面对面

AI Deep Dive Transcript
People
李萌
龙进
Topics
龙进:我从大二开始着手DragonOS项目,初衷是基于国家基础软件薄弱的现状,以及个人对系统开发的兴趣。起初是独自开发,后逐步组建团队,经历了个人开发、小型团队和扩大团队三个阶段。过程中,我不断思考项目的定位和发展方向,最终确定以就业为导向,提升学生的工程能力,帮助他们获得更好的就业机会。通过分享学长学姐的成功案例,以及强调参与开源项目能够提升工程能力,吸引更多学生加入。在求职过程中,DragonOS项目也为参与者带来了显著的优势,面试官更关注项目经验和工程能力,而非八股文。目前,社区活跃成员约30-40人,虽然代码提交频率不高,但大家都在积极参与。开源之夏的参与,提升了社区影响力,也帮助我们找到了优秀的开发者。未来,计划在DragonOS能够稳定运行在国内主流云厂商的云服务器上后,升级到1.0版本。关于项目语言选择,我更偏向实用主义,目前使用中文,主要考虑面向中国开发者,降低参与门槛。虽然也收到过一些外国开发者的关注,但目前仍以中文为主。 李萌:今年开源之夏项目的难度比往年有所提升,申请数量和质量也都有所提高,地域分布更广,但项目数量有所减少。申请书质量参差不齐,好的申请书对项目的理解更准确。总体而言,今年开源之夏学生的参与情况良好,项目难度和质量都有所提升。 瑞克:作为主持人,我见证了DragonOS项目的发展,并对龙进在本科期间取得的成就表示赞赏。我也对开源之夏项目的整体情况进行了总结,并对未来开源项目的趋势进行了展望。

Deep Dive

Shownotes Transcript

开源面对面的小伙伴们我们这一期的节目是采访这个开源之下相关的一些人物后续也会采访更多的正好这个其实也是今年开源之下马上就要开始现在在项目审核阶段我是大家的老朋友瑞克我们今天有这个李问

还有龙镜那先请你们简单介绍一下跟大家打个招呼大家好我是李梦也是开元面对面的老朋友了然后呢继续在负责开元之下的运营工作今天呢也是其实也是跟两位老友的一个相聚谢谢大家

好龙进大家好我是龙进目前的话我是华南理工大学的一名本科生然后呢我是 Dragon OS 开源社区的发起者还有目前的 Maintener 之一 OK 非常的欢迎我还是特别的想再从那个广告再说起其实在上次跟龙进里面聊完之后呢

朋友圈里面就提到广州地铁站的广告个人也可以打各种五花八门的过生日什么然后其实在广告里边地铁广告里能看到开源相关东西还是特别的觉得很意外的龙进就可以给我们去讲一下前后的一个故事好我现在想跟大家介绍一下广告这个事儿

事情是这样的 4 月份的时候咱们 Dragon West 社区在广州地铁的两个地铁站上分别是大学城南还有武山地铁站这两个地铁站里面打了两张广告牌内容的话就是宣传一下咱们 Dragon West 项目以及吸引大家主要目标群体是学生然后加入 Dragon West 社区然后现在想跟大家分享一下为什么会有这种想法因为我之前在广州地铁的广告

一直看到的各种商业广告然后呢但是属实是之前没有看到过这个开源项目的广告然后呢当时是三月份的时候我在小红书上面看到有一个极美啊就说

哎呀我生日了然后呢打了个广告在这个广州地铁上面并且他发了一张合影就是他的广告牌就是自己一张个人的很大的形象照然后下面写祝谁谁生日快乐然后自然也合影了一张然后我就想哎个人这种广告都可以打好新颖啊因为我在广州待那么几年我都没有发现过这种

于是呢我查了一下才知道这个是广州地铁的一个新业务嘛在那个时候也是刚开没多久于是呢我就去下单了就下单两块广告牌就在上面跟他们地铁工作人员沟通完之后付款之后就公益性质的付款相对比较便宜就以公益的这种个人类的这种广告去打就比较便宜然后呢就把这个广告经过一个星期审核就把它放上去了后来呢因为这个

后来我还专门去这个地铁站这里观察了一下这个效果主要是很多学生他等地铁会看着他然后尽管对于我们所谓的各种指标上什么公众号转化之类的没有什么太大的帮助啊但是呢但是呢我们在线上宣传的时候还有线下跟同学交流的时候他们都会说哦我在地铁上看过你们的广告就觉得哎好像我们这个开源社区虽然没有说啊就是我们社区虽然好像名号还不是特别响但是呢

至少让别人觉得好像你是比较可信的就是实在实在在做事的这个事情然后大家会更愿意来听我们的这个线下宣讲啊还有咨询一下怎么加入社区之类的就这个感觉它的对于整个社区的发展的促进作用还是蛮大的

打了一波很成功的广告就是提到那个其实转化率啊比如说像开源社区尤其公司运营的一个项目他们会做这种数字营销有什么漏斗啊其实嗯

这种纯社区的可能会对这种所谓的营销的效果会不会那么的看重其实就像刚才说的能看到漏斗以外的东西因为有的东西我感觉不一定能立竿见影的就是变成数字漏斗的那种效果但是能比如说增加一些人和人之间的互信什么的我觉得挺好的

其实除了提到广州地铁广告以外的在引导政体上今年开会之下学生的一些情况我觉得 Dragon OS 社区的软件可以介绍一下然后李萌萌也可以把稍待来把整体的也可以跟大家去讲一讲我先从我来讲我是在发起了一个 API testing 的这么一个项目

然后我其实在我的医学栏有公开相关的数据但是我觉得比较我不知道是偶合还是有比较大的关联性其中就是广州那边或者周边的同学的这种技术的水平和他愿意解决问题的这种意愿和勇气还是相对比较好一点的所以

其实我这边去这个给学生有六个学生去呃

去申请吧然后其实那个学生还是排的相对靠前一点对我这边是这样一个情况荣幸你可以讲一下你的社区那边这个先申请的人的一个情况以及其他你想分享的内容我们社区的话在考验之下的话今年发的两个课题都是比较有难度的一个是做那个容器化就是让 DragonOS 内核支持那个命名空间啊然后能够在用户程序里面跑个小的容器这样子的

然后我们第二个课题是一个 EBPF 的 EBPF Runtime 就是说让我们内核支持 EBPF 的一些简单功能然后其中的可观测性这两个内容的话我们之前调研过属于是相对是比较有难度的然后在开源之下整个申请过程之中的话在开源之下整个申请过程之中大概有那么几十个同学加入我们资金群但最后提交申请的好像就是

六七个人这样子的感觉一共有八个申请八个申请六七个人总的人数是八个申请书跟他们聊过一下之后发现有的同学他是比较有基础的就是参与这个的话他态度也是会比较认真就是在提前会先跟我们沟通然后做一些任务书然后做一些方案书相应的内容和知识点理解的会比较到位

我感觉这个跟去年相比因为去年我们也参与了开任之下嘛跟去年相比的话今年我们遇到的几位同学他们的平均的这个就面试的平均水平的话比去年高了不少有没有这样的感觉就是我记得在我上学的时候可能有的就是学习好的人他能其实比如说有问题老师问能提出一些问题吗

然后学习不好的人呢或者所谓的学渣呢他可能会提不出问题了因为他的问题太多了我觉得可能有一点这样的感觉哎李萌那你这个整体的你你看有没有在我们现在要跟大家分享一下的这个今年当前流程情况的一些事情

其实今年整体来说的话我们项目难度是比往年会有所提升的就整体来说然后的话项目数量没有去年那么多但是也不少然后呢学生这一块的话它其实整个的区域分布呢就是说更广了就是国内外的然后呢可能但是数量居多的还是跟往年差不多是在那个就是华南啊华东啊

还有就是北北京这一块这些高校学生会多一点然后今年东北的高校学生呢也会相对来说比往年多了一些然后的话呃整个项目的因为今天一共收到了将近 2000 份申请书码其实呃这个这个申请率还是较往年还来说的话还是比较高的因为毕竟项目数量摆在那里然后项目难度也摆在那里然后嗯

目前我我这边统计的数数据呢差不多是这样然后的话申请书的质量整体来看的话也是略有参差的并不是说是大家都是非常好的一些申请书但是好的申请书呢他都有一个共性嘛然后就是对整个项目的理解啊什么都会比较准确一点然后也会体现在这个申请书上面去然后有一些呢可能就是说是申请书这一块的话确实有点差强不尽人意了嗯

不知道他是没有体现在申请书上还是怎么着的目前来看的话整体的整体的情况的话较往年来说是难度上面是有所提升然后质量上面也是有所提升差不多就回到这个再更完思的两个题目其实还是比较混热的两个方向当然其实就是没有跟这个这个

顶流的 AI 相关但是我觉得其实从基础设施来说还是比较火的像 eBPF 做这个观测性还是非常的比较好的一个技术然后我自己也其实想去一直有这个冲动包括 container 这块也是当然就是确实还没有付出行动来去花时间去了解

但是我确实在采访咱们做这个节目之前把 DragonOS 在我的笔记本上是跑起来了跑起来之后相当于是我的理解但是我对 OS 可能理解不是特别深相当于是没有 UI 的这么一个 Linux 的

内核加 shell 我这个理解对吗对类似这种感觉只不过 kernel 是自己写的一个 kernel 而已对相当于是这里边就是整个 kernel 是自己从头写的从零开始写的是吧

但是比如说一些驱动什么的比如说我不太懂比如说你的鼠舰的驱动或者网卡的驱动这种的话它是把已有的去放进来的还是说也需要重新因为我们现在用的是 rust 所以比如我们在虚拟机里面用的 vertio 就是虚拟化的网卡或者是磁盘的驱动我们是用了清华他们 rcore 的库

然后呢但对于真实机器上面的一些驱动的话是我们自己写的啊就是说虚拟机上是 watchio 这种是有已有的可以用但是像物理机它还是要有要必须要重写才能去对了对了因为不是所有的硬件的话都有开源的 rust 驱动呃它 c 的驱动很多对

所以它是跟语言相关而不是说跟你是不是你重写了有关系对我们主要是跟语言比较相关因为咱们现在设备驱动这一块不像 Linux 那样子可以分模块的就是动态加载所以就必须要跟内核静态的链接连在一起然后那么为了安全性的着想然后我们就考虑用一个

用个 rust 的驱动就自己这样写嗯我我我就就是尽量就是按照我这个用存开发的人的然后再深入一步然后就是不再深入了因为毕竟我们不是一个讨论技术细节的一个监控就是我再问一个就是说呃比如说这个一个程序像呃

如果是 java 的话它是一个虚拟机放进去其实就可以去到处跑因为虚拟机做了个兼容比如说是如果 go 语言的话它其实它就可以编译成不同的跨平台的去编译的所以说像 go 这种的话

他我知道他也可以有静态链接和动态链接那他这种呃如果是静态链接的是不是就也能直接编译完考进来那个理论上是可以的但是呢上回我试了个 hello world 好像是内核有一个正在开发的功能还没完成所以他现在跑不了够写的那跑不了

所以说虽然说这种高级语言其实是号称的跨平台它也可以去这种 cross 编译但实际上可能还是有一些涉及到底层的就是我们应用层开发的人就是平时不关注的东西

会卡住那么像假如要跑 Java 的话那你是不是还得写一个 Java 的机会不用不用而是我们要做的像我们现在比如说移植 C 的程序和 Rust 的程序等等这一类的我们还移植什么一些奇奇怪怪的那种 Linux 下面的工具我们要做的其实并不是说改开源的代码因为我们的目的是不改代码能够直接二进制复制到 DragonOS 就能跑嘛

所以我们在整个开发过程之中我们要改的是内核

怎么说呢 比如我们要移 JVM 我们的一个标准流程是先在 Linux 上面去跑然后用一些命令去观测一下它用了哪些系统接口然后接着梳理出一个文档 然后理顺它接着我们再看 DragonOS 里面缺了啥然后我们一个个去补 挨个个去补 每个写个单独的测试程序测通之后慢慢的就会发现

比如我们 JVM 或者是另外一个我们写了一个类似于 Enginex 一样的一个测试程序这种 web 服务器这种程序你会发现它的比如启动加载一开始卡在第一步就卡住了然后就会包错退出了然后我们改着改着它进入到第二步第三步第四步这样子就是一直 JVM 它其实也是类似这种思路的但是当然现在还没有开弄

我理解一下是不是说 Linux 的世界里面有很多接口但是你们实现了一部分接口然后比如说如果简单理解一下把 JVM 相关的接口都实现了是不是就可以认为是给它做了个兼容对了我们目前在做就是类似这样的事情就对应用的遗址上都基本都是这样子的做嗯

特别棒然后就是说等你们做到一个比如 next level 或者你成熟到 next level 的我也特别希望能我们再录一期节目然后一起回顾一下对 ok 那李温你对他们社区有没有其他的角度上的一些想聊的或者好奇的一些点

首先我要恭喜龙晋顺利毕业了然后也入职到腾讯了对吧然后我觉得这个对于因为其实我们上一次去华大理工做校园选的时候也有跟龙晋的老师聊过就是龙晋就是这么优秀但是没有去

读研究生当然在其中可能会有一些其他的原因就是我是挺感慨的因为我觉得在学校在大学的时候尤其是还是本科生能够把这样一个项目做起来而且做得非常好而且我觉得也是做成了一个个人的爱口我觉得是一件特别棒的事件然后呢而且我也知道龙剑这一路做下来其实是蛮不容易的中间有很多坎坷

然后其实龙俊在这其中遇到的一些问题也可能是很多的一些高校学生他们自己在做项目的时候遇到的一些问题然后我先就是想就是请龙俊就是说就是再去回顾一下自己在做这个 Jogging OS 的这个过程中的一些心路历程吧或者说自己在这期间遇到的一些坎是怎么渡过去的包括就是说是这个 Jogging OS

他给自己还有自己的同伴因为我觉得一个好的项目的成功可能跟不是一个人的力量更多的可能是一个团队或者是你一些就是大家可能比较抱团的小伙伴一起在共同促进的一个作用然后呢再就是说最后呢也想就是想问一下就是

Dragon OS 参与到开源之下之后给 Dragon OS 带来了什么然后给 Dragon OS 的这些同学以及参与到这个项目的同学带来了什么好那我理解一下说一下可能现在是我理解是两个问题一是想讲讲咱们我在做社区过程中一些心路历程还有可能给同学们一些小建议第二个点是说自参与开源之下给社区带来了什么之类是这两个问题吗

好那么第一个问题的话我们先讲第一个问题这个心路历程又分为几个部分主要可以分为三大部分第一个部分是为什么要做这个项目第二个部分是在刚开始起步的时候到底经历了就是说在前面这个启动了这个

时期发生了什么事情然后我是有什么样一些想法然后后面是到现在的一个看法还对未来一个展望就分三部分然后首先第一为什么要做这样一个项目原因是我在小学的时候参加了学校的这个信息学竞赛班然后当时当时有一天就每天中午我们会去打那个算法竞赛当时有一天那个老师我们那个

信息学院经济学院的第二老师他就跟我说我们国家在基础软件这方面比较薄弱如果你以后承受这方面的这种工作的话对个人而言还是说对国家社会发展而言都比较有意义然后大概是 2012 年的时候他跟我说的我印象很深刻后面其实我也做了很多一些应用比如初中做了一个论坛什么之类的就那种 APP 开发完整前后端后面我做很多东西

但最后我发现好像还是系统比较感兴趣于是我就在大二的时候开始做了这样一个项目然后在设计发展过程之中是到第二部分了其实可以这一部分里面可以分为三个阶段一是一开始自己干第二是一个比较小的项目组就是三四个人这样子最后经过一段瓶颈期之后后面它突然就变大了

它是有这三个阶段一开始自己做的时候就是在 22 年 1 月份开始做我在 B 站发了一个视频我说我要开始做程序员的三大浪漫之一操作系统于是乎我就照着基本书就开始模仿了用 C 语言模仿了一个大概在 22 年 6 月份的时候把第一个版本做了出来

在鞋面都是一个人在开发 然后有很多的问题的话基本都自己解决 当然有一些网友会给我一些帮助 这也是非常重要的一点接着到后面是在 22 年 7 月份的时候 有一位老哥他跟我说为什么不找一些人跟你一起开发呢 他觉得他也愿意参与进来

做这样一件事情比较有意义就是一个完全自主的内核并且其实很多人都有跟我一样的想法只是可能他们觉得没有人跟他们一起做所以我就想那我就号召大家一起跟我做这样一个项目然后把有共同的想法的人都召集在一起这接着后面我就开始这样实践就在二二年的秋季的时候二二年秋季的时候就在学校里面成立了项目组同时在网上也

也拉了一些 Q 群之类的有些人跟我们一起交流这个时候已经是变成像大部分同学的那种双创项目的感觉了就很多学生在高校里面会参加双创项目申报课题三四个人一组这是一个很好的起点但是如果把自己局限于某个双创里面的话

某个双创项目里面的话反而又限制了项目的发展因为这种东西是以什么学生的给你加学分之类的这种形式来作为驱动的但是咱们比如说开源很多人他可能不是咱们学校的然后他或者他是咱们学校但是学校没有那么多名额给他加学分那么就导致了在很长一段时间里在很长一段时间里

一直到了 23 年的中旬六七月份的时候咱们项目在学校内真正活跃开发的人应该说整个社区里面活跃开发的人都不多都是只有是个位数当时我就很苦恼这个问题我觉得这个问题我跟同学交流过之后其实蛮多身边想做的项目不管做开源还是不开源的他们都会有这种苦恼后面就进入第三个阶段我在二年中旬的时候想清楚了就是

要弄明白两个事一个是项目的定位发展到底怎么去发展第二个是怎么去迎合学生的需求就是加学分这个事它是一种激励作用它本质是符合学生的升学或者是就业的一个需求所以我觉得背后这个点它是更本质的就是最实在的最近期的需求

于是我就想着咱们这个项目能不能以就业为导向多招一些想就业的同学进来然后通过学长学姐的一些因为我们有通过学长学姐的一些这种就业的案例然后让大家觉得参与开源还有做 Dragon OS 项目都是可以让自己在就业之中取得一份比较好的 offer 就提升个人的工程能力

于是本着这个思路就去招人了然后同时打出这个口号去号召大家一起来做然后所以这样慢慢就人数就开始变多了变到十几个人然后直到去年的秋招结束之后因为咱们 2020 级的同学本科生这里面有好多同学拿到了大厂 offer 比如腾讯的华为的这两个厂是比较多的然后还有讯飞等等的都是算下来的话还是

总体的 offer 还是蛮不错的所以因为这样的一个案例所以就吸引了很多的这种大一大二的学生他觉得做开源的这个事情从我们讲我们开源故事他们就会觉得做开源的事情不只提升自己的能力而且面试官还可以更了解你的能力然后开出更好的 offer 于是在这样的一个刺激之下咱们项目现在目前

不管说是写代码的还是说做运营或者做法务等等的同学加起来在活跃的就是说全部范围内活跃的应该有 30 多 40 个人了当然说开发效率的话肯定是没有大厂的工程师快嘛

所以大家会看到上面的 PR 提交并不是特别频繁但是大家都有在做我觉得这是一个比较好的事情这是整个过程中一个立场然后记得第二个问题就是这个开源之下给社区带来什么我觉得可以归功于几方面两个方面一个是提升了社区的这种影响力就是说能够让其他学校的学生也能也能

知道有这么一个开会项目尽管他们不一定参加但他们听过了就是我们以后潜在的参与者

这个我觉得是非常重要的因为对于很多企业的开源项目而言他们可能有自己的钱有很多钱然后有各种人员部门去做宣传但是对于学生或者是一些个人发起的项目有些还是比较精品的或者是说有一些潜力会有些想法了但他们没有那个钱没那个人力物力去做宣传然后通过开源之下这样一个平台

让很多的学生就能够了解到有这样一个项目就帮助大家找到自己志同道合的人了就对于个人而言这是我的一个最大的感受就对于开源之下对于社区而言最大的作用第二个点则是找到了一些很优秀的同学来参与社区项目的开发解决一些难题我觉得这个对于整个项目的发展促进也是很大作用主要是这两方面

好的那个我刚刚就是听了龙进的就是他回顾的这个历程我觉得龙进就是嗯就是他的思考能力还有他的规划能力应该都是比较就是出重的所以说是他能够坚持下来做这个这个项目就我这里还有一个小问题就是嗯呃就是你在去想着说是让学生呃

去参与开源项目然后让学生知道参与开源项目的这个收益就是尤其是后面这些这些同学拿到了大厂的 offer 就是你是怎么说服他们去关注到就是 Jogging OS 然后参与到这些开源项目并且是这些开源项目确实是在他们后来再去那个就是就业求职的过程中是受到了这个就是叫什么

那个就是这些他们就职意向的这些 employers 他们的这个这个关注对吧对就是两两个点一个就是说是你是怎么让他们就是就是可以说是说服他们去通过开源这个角度来去增加自己的这些 buff 然后呢第二就是说是在求职的过程中这个开源项目是怎么给自己做到了这个加分的两个小问题嗯啊

好 第一个问题的话主要还是通过案例吧就是咱们在一开始招人的时候先招了一些一九级就比咱们大一年级的学生他们最开始是通过最开始招进来的人他可能不是那么考虑到就业怎么样怎么样他们可能直觉感兴趣参与进来了然后这个时候因为当时我们先招到了比我大一年级的学生他们先毕业了然后他们找到的 offer 都很不错

然后通过他们的身上的这种案例然后再去跟学弟学妹们去分享就是说从个人因为我们是通过一种共同的理想混合的想法把大家吸引过来解决大家这种自我实现层面的这种需求但是呢底层的这个更加

更加实在一点更加物质性的需求的话就让他们觉得有这种预期觉得可以满足他们需求的话就通过学长学姐跟他们分享包括说我也会去分享他们这些学长学姐的案例去让大家觉得参与看项目不只是说眼前的将接下来两三年的这种能够得到然后同时自己的自我满足感成就感也会有是通过这两方面同时结合起来

当然一开始刚这么提的时候其实整个东西从外面看来会觉得很虚无缥缈因为在最开始我们并没有积累很多的案例然后很多人会觉得你这个就是在吹牛逼然后非常的空大饭了就这么说起来但

所以就通过这种大海捞针的政策大家总会捞到一些感兴趣的有理想的有多么理想的同学参与然后我们从中再培养案例有了案例之后后面一切就相对好说很多然后第二点就是为什么会有这些案例的产生这个也是最开始的时候我并没有想明白为什么会有这些案例产生只是我最开始盯的一个点就是企业应该是要招的人企业需要什么人所以我就去跟一些老哥儿

去沟通交流就像企业的一些有 20 多岁的有三四十甚至五十多的跟他们交流了一下就企业他招进来的人好像我个人感受是希望你招进来我简单培训一下你就能干活了产生实际生产力了而不是说你招进来我还各种各样的培训你然后很费劲所以我想我总结了一下这个叫工程能力你能不能把这个代码给敲出来解决掉这个问题

他分析解决掉这些问题所以我想 Dragonverse 或者说开源这本身项目不断的扩大事实上你能把一个项目做大的话就是在锻炼自己工程能力于是我就把这个点提出来在宣讲了就各种我们校内宣讲场合或者是一些会议线上会议之类的我都会有在提这个词就不停强调参与开源然后做这个的话是提升你工程能力后来也是发现

企业这边他会面试官会在你面试之前如果看到你的简历上面有 GitHub 的链接他会点进来看一看他会点进来看一看于是我们有很多的同学在面试的时候他们面试官会觉得你这个项目做的还有声有色的参与同学那么多那么你这个面试者又是其中一份子那么我就问下你你在开文项目里面你贡献了啥你在贡献的时候你是怎么设计怎么想的

通过这种来做面试的问题所以我经过了一些采访我们已经面试过毕业的同学问八股的是相对比较少的面试官对于很多人来说他可能是在问各种八股但是问咱们做咱们项目里面同学来说主要还是基于项目还有各种工程问题的一个场景问一下然后让大家给一个设计方案会有一个猜想

而不是说一直在问八股就八股甚至有好几位同学都是没有被问八股的我觉得这个体验还是很好就是被面试的人就走公司的人也很不愿意去

去去去讨论一些八国然后但是有时候是很无奈的那正好是因为你既然已经参与到一些社区设置比较深入然后正好其实在聊你相对熟悉的话题我觉得这还是

比较壮业的一个对面试官而言他也会觉得很透明啊因为这个面试者他怎么去跟别人在线上沟通的他代码风格怎么样都看得很清楚嗯我觉得就是龙进其实刚才描述的一堆过程可以用三个字来去概括或者是去描述就是领导力或者是对一个项目的这种 ownership 就是他是希望能嗯

就是希望项目好就是一个大的方向他就会去想一些办法比如说用什么方式来去吸引人那么去把自己能得到以后就是因为项目的受益然后去把它变成一个嗯就是

公式或者变成一个这种更好描述的更有力的描述比如说已经毕业已经找上工作的人然后现在企业里的一些招人的一些面试官或者其他这样去我觉得这是非常好的然后其实一个项目有的项目可能 contributor 很多我看有的能上到到了上万的项目 contributor

但实际上核心的一些人还是特别的重要尤其是说这个其实比如说是我现在打开的一个是 opencompass 这么一个网站他有一个叫项目深度洞察的这么一个东西我不知道荣进有没有看过其实从对从他六看到近六个月的数据里面有六位

这个核心的贡献者加常客贡献者这是他的翻译常客所以我想问的第一这个问题就是说你是怎么来去发现或者说怎么来去认定某些贡献者他其实是

比较好的然后也比较在乎项目然后你想把它提升为一个 Committer 你项目现在有多少 Committer 有没有或者这个过提把某个人提 Committer 这个过程我觉得还是可以跟大家去分享一下首先来说对于项目的维护者也是很有借鉴的意义然后以及说有兴趣成为其他项目

computer 的人应该也是有比较好的进展的意义就是把某个人提成 computer 现在有几个可以讲一下我想想因为咱们社区的话在之前就包括说这个月之前其实咱们并没有说一个很严格的说那个 membership 的这个机制当然现在是我发现社区人多了我猜猜在研究在弄但还没有正式的去上线但是在这之前我是

会跟每一个就贡献比他贡献两到三次的人我会觉得他很特别对吧然后我就想办法去联系他然后跟他聊一聊现在聊一聊看他是什么人他是学生还是说已经工作了之类的然后感觉如果他的贡献的质量又不错那么就会给他比如说一个 approved 的权就是说一个仓库的写入权限就是说可以 review 然后呢

可以 merge 这种大概是这种流程但是主要还是一个比较主观的一个判断看有没有时间维护第二贡献度怎么样他到底是不是有能力去担当这个责任你现在这个项目除了你自己以外还有其他的能写入去的大概有 5 个左右 5 个还是 6 个对差不多这样

嗯,我觉得还是其实也也也不少我觉得这个就是我前段时间刚提了一个我在维护项目的一个人然后然后给他一个这样写入权限这个过程就有点想说我

比如说这个也是你从头开始开发的我那个项目也是就是你从头找了块空地然后自己盖了一个发现一些人还不错朋友不错然后你给他分散了一些钥匙或者一些某些房间可以让他去管理我觉得这个地方还是

非常有意义的说明这个去维护的人越多了然后而且一个是有意义另外一个是说其实可能有的人会也会谨慎的考虑对吧因为你你就是你认可的人他是不是能把这个房子以后搭理的更好对吧就有点像是一个

怎么说呢说的更夸张一点有点像那种一个房子后来变成好几个房子在周围都盖起来然后变成一个村落甚至变成一个镇变成一个城市然后有的这个过程

我觉得还是非常有意思的然后一个小广告就是说我们后面也会去采访一下这个 open compass 因为就是我提完那个 computer 之后有一次在看他的数据时候跟我的

判断还是基本还是匹配的所以其实刚才提到因为我提这个 computer 也跟龙晋提到的一个词是是是一致的也是主观性主观性还是比较大的对吧因为这个东西可能还没有到了一定的规模需要比较严格的或者比较比较比较需要更客观的东西来去评判某个人是不是应该成为 computer 但是可能 open compass 可能会做一个

佐证自己判断的一个工具吧后面我们去可以去聊一下对然后我还还有一个小问题是说我看到咱们 DragonOS 的版本号现在是 patch 版本是 1 的版本所以说你有没有设想过大概什么时间段有可能会变成发一个这 major 的这么一个

一个一个 1.0 这个版块这个的话我目前考量的点是它能够在就我现在设想的一个标准是能够在国内的主流的三大云云厂商上面能够去跑一个云服务器上面能够

能够实现最基本的我们这种操作就正常使用比如说你能够下载一个文件能够编辑现在能编辑但是不能下载然后能在上面执行基本的操作比如说编译程序能跑一个简单的业务能够正常稳定运行之后

然后我们就把它切换成 1 的版本这个标准的话可以我们甚至是一个很大胆的设想就是把 Dragon OS 官网的数据库跑在 Dragon OS 上面然后能够稳定运行一到两个月之后那么咱们就把它变为 1 的版本

我不知道李文对这个版本号没第一有三位一般是用三位呃 major minor 还是 patch 这个不知道你对这个有没有感觉哈其实我讲另外一个极端哈就是有一些比如说像呃

Chrome 他可能几十就是他现在应该是我忘了多少五六十还等一百多了对他有的版本号发展是这样的他的大版本号发展的很快比如说一年可能一个或者多少是的话一个有的是我看 125 是吧

所以说他的第一个版本号是 125 然后呢但有一些特别知名的项目他就一直在就是最后一个第三位他不戴了眼镜他已经很成熟了所以这个其实也是很有意思的另外一个话题但因为他这里面其实有兼容性的印函的承诺的比如说他我大版本号一变第一号号一变其实我是可以不兼容的

就跟 Python 的二和 Python 三一样所以才是可以有比较大的不接容的但是这个当然这是另外一个话题是但是从他变成 1.0 之后通常认为他是普就一般意义上他是比较已经比较就是健全和稳定了所以我刚才问这么个问题他那个是好像是按照年份来说的对 Ubuntu 是一年两个对吧他是

10 月和 4 月还对吧前两天在看那个 OpenRaw 的他们那个什么发行版我就是所以刚刚我有点懵我看他们是什么 20 几点零几什么 LTS 什么这种版本所以我当时有点懵我就不太明白这个东西都是有怎么具体的一个命名规则啊什么的

但是对于其实对于偏商业和商业味浓的一些东西他可能又会不一样他这个版本号的发布他可能甚至还有代号对吧其实像好的东西都有代号像加瓦应该有代号然后呃乌班图我知道应该有代号的我不知道林基科呢有没有代号啊然后他这种代号呀各种的有玩的花的可能会有有些是为了呃为了商业上变宣传觉得更

更厉害更大对吧对因为就是像欧巴摩拉的学生他们参与开源之下他们每年可能会有一些开源之下的学生的代码会合并到他们的这个主线里面去也就是发版的所以就对于这个来讲算是一个比较突出的一个成绩吧所以说我刚刚那个龙静一说我就明白了

我后面对我还有个想问的问题是这个或者交流的问题是这个语言的问题其实像像其实怎么说呢我觉得我们在谈到国外这两个词的时候很多人可能就或者有有有有不少的人比例我猜测不少的人比例认为

就是讲英语的外国人对吧就出中国以外的人都是外国人他们可能都是讲英语所以其实但实际上不是这样的很多的国家它的第一语言可能是英语它的母语不一定是英语就各种这种奇怪的这种比如说像印度像东南亚很多国家他可能都会讲英语

但是呢,其实国外的好多项目它发起来的时候或者它的那种文档呀注释呀还有这种交流啊都是用英语来去交流的那么其实之前有过好多的这种争论或者讨论说这个

这个你的项目你中国人发起的项目或者或者有的人直接说中国中国的项目你还要用英文那么其实这是一派不理解的啊为何要用英文有些人们就坚定的认为啊我这个项目不管你是什么的啊

这个问题的话我感觉可能跟从我个人角度来说因为我从小到大在广东这里长大然后可能就受这种

文化的影响其实我会更偏实用一点就是我会想咱们项目受众群体是哪些人我想想咱们受众群体主要是中国的大学生或者是中国的开发者那么为了降低他们的参与门槛吸引他们的参与因为咱们其实并不是一个什么大公司发行的项目我的目的是希望把更多的人就是跟我志同道合的或者是跟我有各种想法的人

团结起来然后加入到这个项目里面所以我在项目开始的时候我就已经觉得我就选定了我就用中文因为就我想两个同样的项目我用中文他用英文那么中国的开发者大概率可能会更愿意选择这个中文项目这是我一开始考量点就是更偏实用主义一点然后当项目变大之后事实上有一些

我看到有一些点赞的,点 star 的或者是发邮件给我的人他其实是外国人所以我也开始在大概是四五月份的时候我再有一个老哥他说了之后我想了想是不是应该换成英文了当然这只是个思考的过程我目前的考量点是主要的开发者群体还是在中国然后再加上现在有 GPT 还有翻译这种各种工具都比较发达

从整个项目当前阶段的角度考量了之后还是用继续用中文会对项目来说会比较有这种帮助这是我个人的看法当然因为我们国内很多项目其实自始至终都是用英文的沟通交流这个我觉得也是

也是没有任何的问题的我觉得也是这不同的考量点一个是可能想更考虑一开始考虑说我要搞国际化但搞中文的话可能就是一开始想着我们就先面向中国的开发者去做这些我觉得还是很赞同人性实用主义或者偏实用的考量我觉得还是很脚踏实地的我觉得这个还还是不错的

其实按我知道的话这个科研之下也有一些海外的人在参与包括我订阅的邮件列表里面也有收到过英文的咨询的邮件今年的这种海外的这个参与度和申请的情况怎么样里面哪有一些数据或者有一些这种感官上的这个内容可以分享吗

这个项目本身的话其实看来这下项目还是更多的是以中文为主的嘛然后我觉得这个大多数也是应该出于一个实用主义的考虑吧

然后去海外的参与度的话就是其实跟往年的话差不多并没有占很大的一部分然后的话但是我印象中是当时在就是看学生的时候其实有了更多国度的学生有参与进来但是不知道后面的参与度会怎么样吧

然后我们本我们这个本身就是一些咱们国内的一些项目有很多出的是一些英文类的任务然后参与进来的呢就是也是有中文的就是我们中国的学生也有海外的学生都是有我目前来看的话其实就是

作为一个英文项目的话其实对于很多同学来说并不是一个特别困难的事情所以说因为我觉得吧像开源这个东西本身是一个很 open 的就是大家可能就是我觉得抱着一个更开放的态度来吧然后的话我觉得在开源之下本身这一点也有所体现虽然说是这个英文类的项目不是占绝对优势的但是

但是呢就是每年的应援的项目里面就是有很不少的学生来申请不少不少不少的导师来指导这样子然后出来的成绩呢也还是不错的我觉得像龙进这样的

怎么说呢个人项目然后发展的还不错的这种就这一类项目在开源之下里的就比例是怎么样的对就是我觉得就是怎么说一个是个人我觉得还是发展的还是算不错的还是比较不错的当然就其实个人项目升级开源之下是不是会通过当然其实会有个门槛就是我

就是总体来说跟类似龙津这样的规模的个人项目是怎么样一个比例其实很多的标准并不说是你并不说是盯着你是不是个人项目或者说是你必须是一些公司或者是大厂发起的项目我们因为看上去在审核的时候就在社区审核的时候其实就是参考的一个就是它的活跃度嘛

他也持续运营了至少半年以上然后一直是有提交啊什么的然后呢就像有一些大的项目就是不是说大的项目吧一些就是有一些背书的项目但是但是呢他的回忆度并不是很好就好比说他以前是将近半年没有没有没有人去维护了没有人去提交了这种我们也不是很也不会说是就让他参与的

那个人项目它有一些小的项目然后呢它一直保持着很好的一个活跃度一直有不断的提交啊什么的这个也是非常欢迎来参与的

标准反正就是就像我们官网写的样子嘛就是公开运营办案以上有维持一定的活跃度那这个审核过程是一个个点开去看吗还是有一些数字化的工具能就是比较有数字化应该是有数就是我们所作为老师在审核的时候应该是有一些参考的但是对于一些个别社区还是要点进去看嗯

其实刚才我提到的 open compass 那个我觉得我不知道 Kenton 之下有没有跟他们去有些交流然后我之后也会跟他们去采访其实可以有一些这样的

合作的当然合作可能会考有其他层面的事情但是单从单从从这个看人的本身角度来讲或者简单一点的考虑的话还是比较好一点的比如说选手在选的时候如果能有一些这种有数据看到他可能会当然其实有数据有另外一方面就可能会

对某些项目来说可能不太公平或者会反正会不太一样吧对所以说我们是我们是把所有的相关系所有的项目也好所有的社区也好都放在一个池子里面的

然后呢就是会有一些标签嘛标签其实都是社区自己去选的他们自己是做哪一个方向的一些技术领域的东西然后呢再就是我们官网什么的还有他们的仓库什么的都是挂在那里的这个东西我们是我觉得吧就是不需要去左右大家的选择让大家自己去主动的去选择去寻找这样子会更好一点其实我的角度也不是

从左右或者怎么样的这怎么说呢就是我能设想到比如说在干做做若干点之后看下现在做的就是影响力又更大了又更回来了就大概率可能会有

加以后的好事者所谓的好事或者就是比较喜欢玩技术的他也许会弄一个这样的配置来去能一下的拉出来看一看今年列出的项目它的一些指标比如说 stard 或者说 opencompass 它的一个指标或者说就是有有有有些其他的吗我我我记得这个

这个 open lead bar 的那个他们也有会这样的指标活跃度啊就是 open rank 啊可能会有这样的东西啊包括像呃有我我记得我不知道谁啊他他弄了个页面可以看呃全中国的开发者 github 上的 star 的排名 portal 的排名各种排名啊当然这个可能就就是

这个东西比较比较尬你像给他不有的时间发起一个讨论要把那个 chained 给关掉但是讨论半天之后后来又没关掉我看他比较妥协的一个做法是把那个 chained 放到一个比较隐藏的一个路径里面去了就没有以前那么容易点出来在这说

就这个排名怎么说呢它既有意思的又有比较让人难受的地方怎么说呢我觉得还是怎么说呢这个东西如果你沉醉到那个排名里面可能会不太好但是我觉得还是也是比较好的一个东西因为它是很直观的好嗯

就比方说话如果说现在有三个项目你什么都不看或者说你不知道其他信息然后也是同一类工具然后你能看到三个项目的 star 数比如说一个是 100 一个是 1000 一个是 2 万

可能说啊大部分就是第一印象觉得两万那个项目非常的好可能会首选两万项目对吧这其实还是有这么一个有这么一个感觉吧对的对的但是我感觉在选一个开发项目的时候就如果这种排行榜我觉得它能经过参考的意义但是我个人看法啊

刷榜的现象现在其实还蛮多的嘛所以我在想因为这种指标它就有局限性然后有些项目它可能我们最终可能还是要看它的实质到底是啥但这个不好评价

就会导致对实质这个东西就比较主观了对吧然后就不太好弄了然后可能有的人觉得有用算是对有的人来说很有用对有的人说一点用都没有对吧对对对然后这种排行榜类型的东西如果过分于强调的话过于强调的话我觉得某种程度上可能是对

中小开发者他们一些点子或创意的一种扼杀吧毕竟你有实力的一些单位其实是更容易去弄这个榜的就是我觉得这种只能要理性看到这个榜这个问题是他有榜就一定会有人去刷榜如果没榜他也刷不了对但是怎么说呢就是所以说这个他去排名我看那个

其实做的比较好一点的像 opencampus 和这个 openleadable 他们其实会综合性的排名或者说他不怎么去讲排名你可以你可以去点进去看到他更深度的这个洞察或者说就综合排名我觉得是不是可以这么理解综合到一定程度之后他的客观性还是

嗯有一定的客观性的啊那你说嗯有一个说法好像是说呃一件事情或者一个人一个东西增加足够的限定词之后他也是第一他都可以变成第一对对他都可以变成第一对吧但一旦综合性就就就不太一样是吧但是如果你只看 star 的话呢就刚刚我的例子呀 24000 人

就明显感觉要比 100 个的要好很多很多但要看综合的话就不太好说了对吧嗯对但其实怎么说呢嗯这个东西呢也有点像说嗯就是新手和老手吧比如说嗯比如说买手机买车或者买其他的东西你你如果一看到排名或者是广告

广告里面的东西,广告的东西不一定好但是当你买东西的时候,买洗发水的时候一个是你在电视里或者地铁里经常听到的一个名字一个是压根没听过,你有可能比较大的概率会选前一个,不选后一个所以这个也是比较 trick 的一件事情我想说这一点就是说

其实对于这个是想也是最后的一句话我想对参加开源之下的同学们说话如果你其实想就是随便玩一玩或者是尝试一下其实都还好我觉得你不管怎么去选都可以如果你想用心的参与一下或者是相对深入参与一下那么其实除了看 Style 以外的也可以综合的去看一看

比如说也可以搜索一下国内国外有没有一些这样的网站可以给他们做分析然后你也可以去实地的去

去他的仓库里找到有没有 good first issue 去看看他的 issue 是怎么写的 issue 写的认真不认真对吧他的这个 proposal 写的认不认真然后你在提一个 good first issue 的 PR 之后他的 reveal 的人是不是比较认真他是不是说你觉得可以帮助你把你的技术水平还是工程能力或者其他能力沟通能力能

帮助你有进步甚至上一个台阶我觉得这是

大家去选项目的一个可以多方面考虑吧这 STAR 其实是一方面名气也是一方面名气和 STAR 可能都是过去发生的事情不是现在进行时对这是我想在节目最后说的一个话那我们就接下来李问你看最后节目有没有想跟大家去说

最后还是再次祝福龙晋我觉得龙晋做出来这样一个项目就是非常让我很佩服的一个从学生走向职场的一个典型代表

然后就祝福龙晋在今后的这些就是算是什么自己的追求自己梦想的路上能够继续的发光发热然后呢也希望就是开源之下能够给越来越多的我们的年轻的开发者更多的机会去去做自己去实践自己的一些梦想或者去发掘自己的一些梦想

谢谢 Rick 谢谢林漫老师还有谢谢 Rick 就这样一些节目然后呢让咱们在这里交流分享自己的想法还讨论这些问题就是我们节目的话其实今年也能看到这个出的节目比较少有但是还是在这个

尽量的能以我们比较努力的相对高质量的出一些内容然后原因的话呢就也不讲然后就是反正是希望能多多的出一些节目吧然后如果你有一些想法或者你周围的人觉得有一些想法可以欢迎自荐或者推荐给我们节目好那我们节目就在这谢谢大家拜拜