好 那我们开始吧那个大家早上好我是陈宇源来自这个Apple的软件工程师非常高兴今天能有机会和大家分享一下这个我在这个CNSF这个开源项目中的一些经验希望能够对大家有所帮助我第一次参加这个CubeCon就是2018年在上海当时2019年又参加了CubeCon还希望说继续没想到这个疫情一等就是四年直到现在又重回到上海所以非常高兴肯定都有好多是第一次或者来参加这个会议我特意不记得好像当时CubeCon上海发的这个T-shirt我本来想翻一下穿着一件来后来没找着然后这是我大概觉得最脑袋一件也是在美国那个pandemic之前的最后一次在这个Sendigo开会的衣服然后所以就特意穿的都比较旧了所以我今天就是分享一下在这个开源做贡献那首先我做一个简单的调查吧就是说有多少人从来没有在这个开源项目里面做过就是说贡献比如说提交PR也好问问题也好或其他贡献能不能够举一下手How many of you have never made any contribution to open source project?那看来那有多少人没有在这个虽然做过贡献但没有在这个CFSF或者CubeNetics这个社区做过贡献的能不能进行挺好的希望那我今天的这个talk能够帮助大家能够提供一点我自己的一些经验能够帮助大家将来能够成为这个社区的一个贡献的一份子那简单介绍一下我自己我这个主要的这个背景和感兴趣就是在这个cloud infrastructure这个领域那在CubeNetics里面呢我也从大概那个三年多四年前开始做了比较多的一些贡献那我自己的这个经历呢也是一个也比较比较独特的我从存的这个我当年就是写论文开始基本上当然我们论文也得写点code但不是这个production的所以我说这个big R就完全做research到后来呢因为我们要做一些开发那就变成一个big R这个research加小的这个development那后来呢这个逐渐的这个research的部分逐渐小了也不怎么写paper了主要呢写代码到现在呢在过去四年可能主要就是写代码了所以从这个论文PPT到这个code然后的话我的一些经历我从Giorgio Tegna的PhD以前做research scientist然后的话现在是software engineer我自己也喜欢在这个social media上会有一些联系大家感兴趣呢欢迎在上面互相大家交流那我先这个开始我这个刚才那个也是这个演讲前加上这一个统计给大家我不知道是不是看得清楚这个大概是2022年这个SNSF对项目的一个报告就是根据不同国家的贡献第一个这个图是第一个这个图是就是贡献者的数量的这个蓝色这个是美国所有的这个极红色或者红色都是中国这个是贡献者的数量这个是贡献的数量就是比如你提交了多少PRR其他这个是有多少这个commits对吧最后你的这个真正的PRR被merge了其他或者这个是我们在这个这个每一个不同的项目里面到底有多少这个就是这个commit这个就维护者的这个数量所以我们大家可以看出这个中国的贡献者或者贡献那都是非常重要全部都是目前都是排第二名在全世界所以的话说明我们能够做出贡献已经做出贡献所以希望这个听了这个talkie以后这个我们再做的也能够加入到这个贡献队伍里面那这个开源的如果大家有一些同学刚才举手的说没有任何经验对吧所以我们为什么做这个开源对吧我们先知道这个软件的一个歧视就是这个开源的这个软件所以的话不管你在里面做出什么贡献我觉得不一样的跟我们原来的模式或者自己做的这个东西呢就是这个都是大家都能看到的而且这个影响可能是很深眼的你也不知道你改了一个什么东西就多少人用了对吧对我们无论是说真的说对这个社会也好世界做贡献还是自己的成长或者满足自己的一种成就感我觉得都是一件非常有意义的事情应该是可以给自己一个比较强的一个这个驱动力的那如果特定的你说哪些领域我做这个开源都有帮助我想简单可以总结首先如果你是技术方面的那显然你在开源社区你做的贡献的话你这个技术的这个能力和大家的交流互相学习很重要另外开源本来就是一个合作这个的方式所以你的这个团队的工作交流合作这也肯定有很大的提高另外的话职业的个人的像我在开源社区那你可以交往了很多人无论对你个人的发展还是个人甚至一些共同兴趣找到一些很好的志同道合的朋友这也都是很有帮助的这个当然下面一个我就是说我们做一件事情最后自己总希望能够有一些让自己能够满足或者有某种成就感的东西能够做出贡献像Kubernetes都有无穷多的公司和多少应用服务是依赖依它你要能在上面做一个说这个东西被用我想也是一个很能让自己满足的事情所以像刚才提到的而且这个影响可能是会产生很常演的一个影响的回到这个的话大家可能就说这个开源到底有多难或者有多大的门槛其实我所以这个是我自己的一个贡献的图当然我在这里面其实我并不是一个算不上一个特别活跃的其实如果大家来参加这个CubeCon的话我们有好多中国的贡献者从不同公司的他们在上面如果你看这个叫什么这个的话都是命运麻麻的对吧这个贡献但是我想以我的例子做一个给大家一个鼓励就是说我在2018年这个贡献是零然后这个是20年就做出了不少的贡献所以我就说每个人都可以做出自己的贡献只要你愿意那我想最重要的就是也许就是卖出第一步对吧没有什么其实你都是可以做这件事情的我说Don't be shy就是到未必也许不是准确就说你想要做去做至少尝试你就开始然后的话尤其在CNSF这个community的话是非常地友好的对于新人所以的话以及是提交或有问题和各种大家都会帮助你或者是支持鼓励你所以我觉得大家关键是卖出第一步那另外一个东西的话我不知道这个段子应该很多人都知道的我就说可能我们中国开发者或者可能会有一些担心说这个议员的问题啊和其他的东西对吧我们说这个Are you OK肯定是OK的没什么问题我觉得极大多数尤其现在这个人工智能对吧缺的GPT你如果真觉得什么让他认设一下提个proposal这个没有任何的问题所以我觉得这都不应该成为我们的借口或者障碍那下面我就具体介绍一下尤其在CNSF和这个cognitive相关的社区怎么做贡献的一些跟具体的一些经验和这个或者教训或者我自己学习到的东西所以现在这个我也是看到的一个这个数据对吧我们差不多有这个20万的这个贡献者所以的话就是如何我们也可以加入成为这个对吧20万贡献者中的议员那第一个我想最重要的就是应该大概的了解一下这个CNSF的一些这个具体的这个组织和它相关的一些这个不同的这个team或者这个结构所以一个我不我大概没时间具体到每一个大概但是给一个这个非常这个出略的一个介绍就是你了解这个在CNSF里面的这个这个或者我们认为的这个组织结构呢有三个不同的名字的可能大家如果要贡献会经常一个叫special interest in group CIGCIG的话就是说有两个一个就是针对不同的这个主题它会创建一个就特殊兴趣嘛对吧special interest比如说做你感兴趣做这个scheduling有个叫CIGscheduling你感兴趣networkingcig networkingcig storage但也会有一些是这个水平方向来的比如说统一的感兴趣这个它专门有个cig documentation就是说专门就是管这个文档的对吧或者cig scalability专门管这个管这个就是大家感兴趣的这个可申说性的这个就是针对特别的项目一般来说这种项目都会有自己的一个github的report对吧也会有自己的那些code等等的在那里当然code net是统一一个了有好多code的都在那儿它会管理一些自己的这个东西在里面定期一般这个cig都会cig都会有个code chair一般两个对吧都是志愿者从不同的公司来的然后的话一般两周都会有次开会对大家是open的它一般会在这个网上或者github和google document都会有它的开会的信息怎么代应topic是什么人人都可以参加你可以提个proposal说你想去分享什么所以是很open和欢迎大家做这个那第二个叫做walking groupswalking groups跟cig的一个difference就是说walking groups不太更像个临时性但是它会跨好多项目的一个组织我给一个例子就是因为最近cobalettis是一个比较热门或者需要关注的就是说怎么更好地支持这个批量处理的工作的batch job所以原来它主要是支持应行这个微服务这些的东西那就创建了一个大概是两年前一年前的cubecon以后就创建了一个叫做walking group的batch working group那就说我们更好的支持这个batch job不仅需要这个比如说scheduling的cigscheduling我可能有cignode和其他的那walking group就可以协调好这个不同的team的东西所以它也会有自己的一个committee也会有些meeting也会有些讨论另外一个committee更是一个high level的比如说这个叫overside committee来协调各种之间的关系甚至你对最近cig的一些进展或者一些处理一些问题不太满意有些人你可以到这个committee over committee里面去找这里面的人反映一些问题或者提一些建议所以这里有一个比较好的document的链接另外我的slides我分享在scheduling的应用里面大家可以反正看看这些link里面都有非常详细的介绍那对最重要的一个起步如果你对特别的感兴趣就是我去参加他们的by weekly meeting还有一些可能一些其他的meetup或者其他的活动知道大概你会在哪些领域你比较关注你想去跟人讨论分享或者想做自己的一些贡献说到具体的贡献这里当然我也要强调一下其实这个贡献不仅只是代码就是我去写断代码或者改断代码的贡献其实最开始完全可以从non-coded contribution并不是代码的贡献开始那这里面的话有很多比如说你用的时候有问题或者你觉得有个feature很重要可以这个fire或者some meeting一个e-sales或者questions然后开始另外的话任何人提交的东西你也可以进去讨论或者提出你的建议或者看法对吧然后的话一个很能够对贡献的就是这个文档包括你发现要改正的或者你自愿包括它有个seq documentation帮助写一些文档或者是发布的东西后面一个就是包括一些很正式这是一叫做capscooperative enhancement proposal如果你是比较大的一个改变或者什么就是你可以提出写一个make a proposal但你不一定做到是你实现这个但是也要审查最后批准这当然是个大的特例那其他的那后面就是说真正的对代码做一些贡献那对代码做贡献这里我要强调一下就是说SANSFcooperative当然是个主要的就像大家看到好多项目其实里面的有很多项目即使是围绕着cooperative也有很多的subproject有自己的report或者其他比如说像performance testing这个cooperative就是一个单独的这是我最早第一个贡献的然后每一个special interest group里面也会有一些subproject比如像seq scheduling它就有一些plugging的不是在延伸的这个叫英翠的plugging里面的东西所以的话就是说你的贡献可以是很广泛的你可以到这上面去看它都有哪些项目它都有哪些具体的所以你可以贡献很多包括监控啊各种都是可以的那一个基本的就是说也是给大家一个guide night说你如何做这个贡献对吧那我想每一个社区包括你不同的项目它都有自己的一些规范那我不详细介绍说这个github这个没有什么太special的对吧你到时候也要提交pr不管你要到时候review了你再改然后最后你要rebase然后merge, scratch你的不同的提交那重要的话大家可以读一读这里有一个非常好的一套给大家这个新手入门的这些都是链接如果你应该能够访问我的这个slides的pdf的话它里面应该是可以这些都是可以点击进去的甚至它的有nesence课程等等给你一些初学者或者说刚入门的了解这些具体的信息比如它的一些风格啊这些命令啊各种包括如何开始啊这有新贡献者的课程对吧new contributed cause所以这些东西呢大家都可以先看看做一个最好的资料我在这里就列出来在这里那如果说回到说具体一点的步骤啊重要的是那当取决于不同的东西就说一般来说我不知道这个太多国内比如说一些公司的具体的要求作为贡献者来说sf一般是这样的至少在北美大多数因为你自己可能不同的公司也会经常从这里跳到那里对吧但是呢它有些统计所以当你去登记的时候呢你会说你现在的这个公司但是呢做贡献的话很多现在至少在这个北美的话或者美国的话都是我自己要签署一个就是说这个我我统一做这个贡献因为它涉及一些版权啊其他将来的纪录分就是叫contributed license agreement的表那这个表呢一般会有两种一种就是以公司的名义去签的这个表就你代表这个公司一种是说我个人的就大多数像我们的话都是签这个个人的但上面我也写上我现在的固言但你以后换了你可以更改它这个的话你第一次去的话你提交一个然后他就会给你一个link你就是签个名但这个是必须要做的一件事情这个你可以根据你们自己的需求对吧反正就是任何人都可以做贡献你可以以个人的这个名义去然后同样的这里有一个非常好的一个就是一些资源关于如何做贡献的一些指导大家可以具体感兴趣就可以进去了解更多的细节那下面我就有一些我自己的一些或者这个cobalattice项目的一些经验例子来说明一下具体做贡献中可能会遇到一些问题和一些重点我觉得值得和大家分享的那第一个就是说从最简单的事情开始对吧刚才也讲了有一些包括不是真正的code的这个contribution或者说是一些任何的贡献但最基本的就是说从一些最简单的开始甚至你说我不是很了解就说其实你到这个项目中你去看这个东西的话如果现在有一些需求就不管是文档也好测试也好或者实现个新的功能也好它会有一些这个不同的标签比如这个叫help wanted和good first issue你可以捨取一下看这上面有没有自己可以help和帮助的你可以就从这里开始然后的话你到cobalattice比那个项目的里面那个ease有里面你可以捨取你看看这不是有这个label你要捨取哪个等等open的你就可以从这里做一个入门的开始的东西这是一个比较好的一个起点那第二个就是说我想说的就是说你完全可以从很小的事情开始没有什么东西是说太小了我这个是不是能拿最小的我拿我自己的一个例子这是我最近的我就改了一个一个词因为它这个是个type of environment它把它拼错了那不是我也不是说大家故意去找这个东西那就是我在读这个的时候看到了反正看着很别流的这个东西那反正这个就提交了一个所以的话就给大家一个例子说任何东西你都可以从这里开始对吧FIX这个东西但是这里我也要强调一下就是如果比如说你发现这里面有一个东西老被它搞错了比如说它就是把某一个东西拼错了完全错了那最好的虽然我们说小但这个只有这个文件你有那我们也最好说要改把一起都改了对吧你不要说我就是搞一个我就改这一个所以我也经常有review这个来说你这个要改那你是不是把别的东西列一起就是相关的比如说同一个错误都改了对吧所以这个小和这个也是有一定的我们自己掌握好这个尺度就绝不是说我只是为了一个东西就来做这个那但是回到说这个我们每提交一个东西最后还是让它是个独立的对吧不要把几个不是很相关的一起改的在里面因为从review比如说人家喜欢你这个改又不喜欢另外一个这样的话带来很多麻烦如果他们是独立的一个东西功能完善的就尽量的就让它保持是个单独的东西这也是一个很重要的一个就说对新手来说大家可以注意的一个东西那还有一点呢说到这个小我也想说一下就是说这个小并不等于简单那旁边这个也是我们引用的一个著名的例子对吧就是说别人给你修东西经常来上门你说这人就花了三分钟收了我一千块钱对吧然后师父经常说是这个敲这个钉子是只值一块钱但是知道在哪敲这个钉子值两千九百九十九块钱对吧所以这个是我立一个某个PR也是改了一个什么呢改了一个这个注释里面的一个两个单词对吧原来它是说这个破的be in schedule我把它改成这个破的 is bound那这个不是改一个拼写的错误那这个的话就是说你是要对这个理解它这个是一个错误的它这个comment它这样的话是误导了别人的就说不是说这个破的正在被调度而是这个破的实际上已经被调度成功了就是说的情况就是说这个插件被调用是在这个破的已经被调度成功和它已经安排到一个节点上以后这个原来的话说它还在被调度这个是个本质的差别那如果说新手来改这个代码就会引起很大的这个工作所以我就想说这个大和小有时候也不是一行代码有时候你改一个什么Type改到那个500行其实有可能就是一个替换和改变但是你要发现这样一个错误可能你经常需要花一些时间来做还有一个就是如果你要做大的改变或者不肯定的改变一般来说我建议或者大家一定要先去比如你可以去report里面这个就是一个问题那你提出来或者直接甚至你也有snack channel不同的seagull channel去跟这个chair或者说mantana commit讨论一下这个可能性你不想自己花了很多时间第一别人告诉你说这也有人做了或者别人说这行不通我们原来也讨论过其实我自己也一早过做了别人说其实这个我们原来讨论过做根本不可能这么做因为什么这样的话你不会浪费自己的时间而且你也得到一些指导比如说这个可以但是你应该怎么一样的做尤其你要花一些精力的时候我们还是要注意效率的问题刚才所以这也是我一个例子就是在做这些东西之前反反复复讨论的一些问题然后还有一点我也想给大家指出就是说很多时候对吧你想做一个贡献不管是什么样的你做了一些改变你以为你自己或者很有信心你觉得这肯定可以把它做好然后就基本就是这样的但是永远做好准备可能别人会提出新的要求不仅是如果简单的时候这不可行然后但别人可以说比如说最简单的就是说你这个需要写很多测试如果大家是软件工程师的话很多时候会发现有时候实现一个功能可能就花了一小时但写测试可能花了一天两天对吧因为我们在这种上游像尤其Kubernetes这么高质量的代码你必须这些单元测试甚至一些其他的集成测试各种当你提供一个新feature你叫做好准备必须有完善的测试或者别人会要求你写出这个测试还有一个就是文档对吧因为像我们的新发布你如果是个新的功能就是说你将来的发布文档你也应该自己来写而且反反复复的改别人可能提出新的要求所以如果你要做一个东西你也叫做好准备的时候我愿意投入能够来做一些新的改进或者提高那还有一点就是我们在做这个的过程中总是会有时候自己已经提交的东西遇到问题那我们就说在开源好的就是说你同事之间你可能还说大家有工作那开源这个就是open的你问当然别人不可能也许像你工作的同事随时说我马上就回答你对吧但是的话就是说你有问题随时可以开个问而且我觉得我个人的经验这个社区里的尤其越是资深的大脑越是非常的愿意帮助别人和谦虚这个可能大家新的开源的人不熟悉他这里叫Jordan他其实是就Cobonettis整个大概现在五到六个人是有最终的审查权和prol的那他就是其中的一个那这是我最近跟他的一次交互我实现了一个新的一个东西其实原来不是我的特定的领域我更熟悉Cobonettis的调度scheduling和东西但这个是一个和security相关的就是Cobonettis里面service account的这种token就是管理这些secret的东西那我提的这个pr后来他觉得说我应该做一些另外的实现的方法所以他提出了说觉得应该这么来做那实际上我对这个不熟悉他说的这个东西我不是很了解他到底要干什么对吧那我就直接问他说你能够告诉我一些细节怎么做因为他对这一段的代码这个Cobonettis太大了他直接就给我一个你看一下这个就是照这个例子来做所以的话我发现那这个省了我很多时间我看了一下这一行这个例子我直接就知道怎么来做这件事情那还有一个我觉得很值得也是很值得分享的一个东西就是我们很多人都有自己的本质工作包括自己就是说如何把自己的工作对吧有可能直接相关我假定希望最好自己的工作跟开源的贡献单都是完全相关但也有可能是个人的兴趣或气象那最好的如果说工作中的东西跟开源的怎么结合好因为也不是所有公司说我给你当然我这次会议一刀好多比如有些公司是有一些人是全职地做这个开源当然他们也可以了解很多这个东西但有些人只是说我工作中要用这个东西我们其实也没要求我也没就是工作上或者老板上也没这个要求说你要去做这个开源贡献单我自己也想做出一些贡献单前面我已经讲了对个人的成长也好作为成就感也好做出贡献也好那一个我觉得比较好的方式就是说怎么把两者给联系起来对于我个人的经验来说就说这个cobanitis有那么多问题有那么多可以加强和开发的每个人的经历也有限但如果你能把你工作和它联系起来比如说工作中用这个就发现这个东西要不是有问题要不就很不方便我其实有点想法可以这样做甚至我觉得社区应该考虑一下这个建议我自己不一定有时间来实现对吧如果你从这个角度来讲的话你就可以有个需求甚至你提的是个需求或者你发现一个bug然后你去把它给更正了或者是文档中发现问题在你用的时候我读这个觉得不太对这个或者说写得不太清楚当然跟重要的是比如说有一些功能我觉得应该实现我还能帮助它实现那我实现了那我们的工作反而用这个开源的软件也就能更好地用那我觉得这样就能达到一个非常好的一方面是你能够受益于这个开源你自己把问题提到了开源设计或者你贡献到了开源设计但另一方面像我们自己的工作中遇到的一些东西需要加强我们总是第一步想到开源设计去提出来讨论贡献为什么你跟你的同事最多也就是两个三个同事很密切地在这一个问题上讨论你们的经验时间知识或者想到的都是有限的但你放到开源以后那就是几个人几十个人几百个人甚至所有的人几千个人都能看到用到提问题所以我经常也有这样自己想出来了觉得挺自信的觉得应该这样做但到开源以后别人提出更多问题让它得到了更完善的解决或者说很多时候你会发现你们在内部如果实现了一个功能被内部的评审review统一的肯定我觉得大多数情况下肯定是没有在开源类里至少在Cubanitis这个项目里面如果在类里被批准审查了最后合并到Cubanitis代码里面那绝对我有更多的自信这一个东西是可以工作的而且是经过大家严格审查以后的所以最后我画一个这个图总结就是这样的话你自己可以做出贡献到这个开源同时开源可能帮你实现帮你审查帮你加强了这个特征最后你的工作中用到的这个东西这就是如果大家的工作中能用开源软件那不一定是Cubanitis我觉得说怎么能把自己的工作和开源结合起来这大概是一个最好的一个方式对吧自己在贡献中来做所以这里我这个截图也是我第一个开始做的就是我们要做这个Clubs Notice是一个Cubanitis的这个Performance Testing的一个东西那刚开始要做的时候就发现它有好多这个功能我们需要的它不支持所以的话就开始说能不能够支持一下就跟这个Upstream的讨论设计最后就实现了好几个这个新的这个东西那最后就是说不管我们提交什么东西因为这个社区是个很开放的它有一些review有一些这个有这个可以同意你批准你或者这个合并你的这个东西大家都可能有不同的意见也我们也比较现实的时候有时候你发现哦 你没想到别人说这个不对是对的但有些时候也不一定完全大家都有一样的意见对吧那这时候第一我就说反正都是讨论对吧你这个开放这个思想对吧这个合作大家都是为了这个工作可以多讨论然后的话重要的是只要你逐渐地做出贡献的话你就会在这个社区在这个团体中有更多得到大家的信任然后的话这个贡献就会更顺利也就会学到更多的东西那一个重要的东西就说最后这个结果其实我也提交过好多最后没有结果会等了很久没有批准或者最后被拒绝不管我们是什么样的经历要么你这个说很成功的我也做出了一个贡献最后被合并了出现在雷尼那即使不成功那在这中间一般我们也可以学到了不少的一些东西然后我的这个我记得一个例子说也有人这个评审直接上来说他不觉得我这个东西有什么价值那你可能很受打击这个我也花了时间做这个当然不同意像我说第一个大家都是公开讨论也没有必要说太那个这都很正常在上游现实一点也不可能所有你提的因为要考虑各种就是折中推的off对吧像于一些就是我要兼容性经常是很重要的你很可能提了一个非常不错的特点但是别人说这个可能会把我们以前的东西那个没有用了所以的话别人就不能再用了所以我们要考虑这个另外的话如果真的你不同意经常也可以因为这个社区都很大你也可以加一些其他人说那你们的意见如何我也因为有这个更多的讨论最后就是不管是什么样的结果我们就说尊重这个决定对吧有时候就是将来再回来看或者模仿这个也是比较现实的一个东西那另外就是最后的一个小tip就是说你一开始加入这个你甚至提交了一个新的特点或者pr你每次甚至要测试你都需要这个就是说这个项目的管理者要统议你但是随着你贡献做多了你可以加入比如CNSF它有个叫get hub的这个community你变成了member那这个member你叫有人推荐你那就是说你做了一些贡献你就申请加入这个member你变成member的话你就自己提交它就会自动测试那你就会方便很多但这个就是回到我刚才讲的就是逐渐的build自己的这个reputation和credit在这个社区里逐渐做这些贡献那还有一个最后一个我就说其实CNSF做了非常好的一个dashboard你可以在上面我底下这里有个link在我的pdf里面也可以看就是所有的项目的统计包括个人的贡献按公司按国家按个人的统计各种各样的就是统计的这个图这个dashboard都有大家如果感兴趣也可以先上去看看这些不同的贡献也可以看到你的名字那我其实在我整个的这个旅程当中有很多人我都要感谢了当然这个nilux foundation CNSF首先组织这个会议另外也这次其实我来的travel的资金也是他们赞助的所以我当然要感谢他们然后其他的人我就不一一列起这里面有在社区里给我很多的鼓励我会支持帮助的这个社区的这个比较就是资深的贡献者和我的同事我的这个脑板各种很支持我在开源社区做的贡献和我一些合作的在开源社区不是我的同事的我们一起讨论东西实现东西包括共同的提交这个这个这个叫cubecon的talk的我其实是不是现在时间已经到了但是反正后面也没有那个有什么问题或者什么我主要的这个演讲就到这里吧好谢谢大家有没什么你好刚才听到您说这个就在工作最好能与让工作中的东西和这个开源的结合但很多时候我们工作的时候会考虑就是可能更加考虑自己的这个进度或者什么我们可能就会很多时候忽略这个做开源的事情或者忽略就是来通过公开公开开源社区也能提升自己的这种机会我想问一下您如何Balance这种东西如果我理解你就说在你开源的和你工作的一些优先级是吗或者对所以我觉得就是说每个人的情况都不一样对吧比如你工作中到底这个开源的比重或者甚至我们说你每年的这个业绩到底是什么呢就像我刚才讲的我觉得就是说包括我自己的话我其实公司内部的工作是主要的和重点的我们开源不应该做一个只是说我个人的就是我觉得会对我工作有帮助就像我刚才讲的我觉得我在用这个软件我就发现它这个有一个功能或者什么不是很完善然后我自己来计划的时候这个到底有多大影响在跟我的老板或者什么讨论觉得说我先按照这个做我有时间了我们再来对吧看看这个如果你能够就是说确定但你必须要说服自己说服老板如果我们这个能够让开源比如软件实现可以帮助我们的工作怎么样然后我能够做什么至于什么时候实现和做这个那完全是一个你自己的掌握和平衡很多时候我也要讲包括我的一些贡献那有可能你真的也得用自己的一些业余时间去做它但我觉得重点的我刚才分享这个工作和这个开源的平衡主要讲就是说如果你要平衡好更多的如果你能从你的工作中出发去找到问题去解决那个问题有可能能够帮助你工作的话这样的话你也比较会有动力可能对你的工作或者事业也会比较好的帮助而不是只是纯粹说哎我看到这个挺有兴趣的对吧玩游戏发到发现的这个问题但是如果你是游戏本来就做游戏那是另外一回事情对我觉得你优先级还是case by case先把工作做好从工作中发现的问题再决定这个问题有多重要的工作来安排好什么解决好的谢谢你好就是我刚才听您的演讲的话主要是给参加工作的一些人的一些建议我想问一下您对高校学生参与开源方面有什么额外的建议吗这个很好问题所以你现在还是学生是的那很难得在这里这个还能见到这那我觉得其实简单地讲我认为第一对学生来讲这是更好的机会不像我们刚刚说工作你还是有工作的约束对吧说我的工作必须干这个老板也希望学生你完全可以根基自己的兴趣我觉得这个项目很感兴趣我自己也一用它或者我上去看它你就focus在这个项目上我是觉得我对好多包括我的孩子和其他我就觉得现在一个好多学生可能说自己做什么项目干什么如果你作为一个学生我比较现实地讲一点我觉得你在学生阶段如果能够做一些有意义的开源贡献在一些项目中应该是对你个人的成长以后找工作干什么应该都是非常有帮助的我觉得如果你有对开源项目感兴趣地利用它去读读它的代码看看它的讨论如果能找到这个兴趣点这做一些贡献这是一个非常好的时候我觉得从学生时代开始我是觉得这非常好如果谁学计算机会对这个感兴趣的问我我很可能经常地建议就是你不妨去做一点开源的贡献而且是很现实的比你自己说我去写个什么应用这个开放我不是说那个不好我觉得更现实和更很快地能够成长和增长自己的这个建实和对将来自己很有帮助所以我就找个感兴趣的项目就从最小的贡献开始谢谢谢谢老师你好就是我之前其实也有一些这个开源项目的使用过程中然后发现比如说这个项目的文档不是特别的齐全然后我之前用那个coast guidance然后是青菜他鼓励我说让我写一个中文版的文档去帮助大家去了解然后当时我的话是因为这个感觉对这个项目的了解程度不是特别深所以就不太敢下手去写这个东西怕自己写错所以您觉得就是说对这个项目的了解程度有多少然后再去做这个贡献会好一点呢还是说我大胆直接去尝试就好首先我觉得说你肯定得有了解但是另一方面我也想强调像文档我们有好多就是我刚刚讲专门有个seq documentation team其实并不需要说你真的要有非常深的这个的知识就是很多时候像我们它有个叫release team就是像kuban x每次发布的要改你完全可以到时候你做一个你可以认为说你是个编辑或者什么你有问题你甚至可以找最早实现这个时候这是我的理解或者你能不能提供一个总结所以简单的回答你都问了我就说第一你不需要真的是个专家去写还是我刚才讲你take the first step然后try然后再收集feedback有问题的话像有人鼓励你比如leader说你写你可以继续问说哪一方面你需要我帮助然后的话第二个建议就是我刚才说的如果你有困难我就可以问说我谁可以去找他问问我这个写的对不对所以的话我觉得是文档这个只要你有对这个大的方向有兴趣还有你也愿意去了解一些但不需要真的非常专门的知识但也起结可能有一些话题有一些topic会需要比较稍微深度一点的但是我觉得应该不是问题大多数人只要对这个大的项目有大了解应该都是能够通过自己的努力或者愿意尝试是可以做出贡献的谢谢老师好 那这个没有问题的话我再谢谢大家来参加这个而且现在都吃饭的时间这么晚我在芝加哥接下来的11月份会有一个talking当然跟技术一点就是讲一下关于这个最新的coopnetics里面从这个长期从来不到期的这个令牌这个token到现在要有限的这个token的令牌的一些知识或者点所以如果不管是大家有机会去或者以后这个反正会放在网上可以关注一下那最后我就这个依住这个中国的朋友正好是中秋国庆的这个双庆的节日祝大家这个合家欢乐然后的话这个好好地这个享受一下接下来一周的这个节日好 再次谢谢大家