开源新老兵携手打开社区大门,带大学生走近开源
如何从开源小白成长为社区贡献者?相信每一位高校开源开发者都想知道答案。在华为开发者大会 2021(Cloud)现场,思否特意采访了两位顶级高校开发者,并对华为开源大咖、高校开源名师24日的开源公开课进行了挖掘,找到了他们对于这个问题最真诚的建议。
在开源团队的熏陶下,快速提升自身能力
“参与开源社区的形式多种多样,绝不仅仅局限于写代码,文档的贡献也是非常重要的,我给 GitCourse 的第一个贡献就是文档类型的贡献。所以大家一定不要觉得只有代码写得好才可以参与到开源项目中,其实你做文档类型的贡献,或者你给这个项目和社区提一些意见也是非常有价值的。”
从 2019 年接触开源到如今身经百战,华东师范大学数据学院研究生、X-lab 实验室成员、Wuhan 2020 开源项目信息组组长王皓月这样回忆自己参与的第一个开源项目。
Wuhan 2020开源项目信息组组长王皓月及X-lab实验室成员夏小雅
她的同学、X-lab 实验室成员夏小雅也表示:
“真正开始做开源项目是在实验室氛围的熏陶下,当初最大的挑战当然是开源协作、如何使用 Git 等。越往后越发现整个开源体系内容丰富且维度宽广,涉及到知识产权、管理、社会、自动化流程等多方面的内容。所以建议大家开始学习开源时,在社区的自由包容氛围下你会获得飞速成长。开源社区会最大限度地给予开发者发挥空间,并通过协作拉近所有开发者的距离。”
在开源团队的熏陶下,两位高校学生快速地提升了自身能力,同时也成为了活跃的社区贡献者。
开源社区,助力高校开源人才培养
王皓月和夏小雅作为出色的高校开源开发者,目前还只是少数。
据统计,中国每年计算机和软件相关毕业生超过 80 万,但很多人并未参与到开源中。
国内开发者,不管是企业程序员还是学生开发者,大多仍是用户的身份。如何改变现状,将中国从开源使用国变成贡献国?华为开源与开发者部部长王有生强调:高校师生是重要的力量。
华为开源与开发者部部长王有生
国内开源社区中不乏优秀的老师,但是并非所有老师都使用最优质或最先进的代码进行教学。国内高校课本中甚至还有10年前的程序。此外,开源社区不只有优质代码,还汇聚了众多大神级开发者。学生开发者可以在社区中与大神互动、学习,增长经验值。
具体来讲,华为开源运营专家,容器技术、DevOps 等领域技术专家马全一从实践的角度拆解了“为什么要参与开源社区”这个问题。
华为开源运营专家马全一
学校里教授的知识和企业真实场景下的实战项目差异较大,学生很难有机会接触到企业的实际需求。要解决这一问题,确保自己所学在未来有所用的最佳方式,就是参与开源社区。开源社区包含大量企业开源的高质量项目,且这类项目正在公司内部使用。通过参与这类项目,开发者可以了解企业对项目、代码的要求,明确项目思路,进而弥补知识与实践之间的差距。
开源实践第一步:选择合适的开源项目
在参与开源之前,开发者往往会面临这个问题:如何选择适合自己的开源项目?
马全一分享了他在与高校合作中的经验。从中发现:目前 90% 的计算机人才选择 AI 方向,然而这并不意味着就业情况一定好。首先 AI 就业竞争激烈,其次即使真正获得了 AI 相关职位,也未必符合你的真正期望,说不定只是一个“调参侠”的存在。
华为开源运营专家马全一
那么,开发者应该如何选择适合自己的开源项目呢?马全一给出的答案是:想干的事情、适合干的事情和最终能干的事情是否匹配,是决定将来工作是否幸福的关键。因此开发者在选择开源项目时,需要首先了解趋势,再去找对应的开源项目,进行贡献。而越早参与,就能够越早知道自己适合干什么!
就像皓月,她在接受采访时表示未来希望从事社区运营工作,而她是通过华为的开源项目 MindSpore 对社区运营产生了浓厚兴趣。华为开源能力中心技术专家、ALC Beijing 发起人姜宁表示,在开发者贡献类型中,社区运营占据了重要的位置。
ALC Beijing 发起人姜宁
他表示,开源共同体需要很多负责不同工作的角色,而开源的魅力恰恰在于大家共同解决问题,并将最好的解决方案变为实践。
关于能力提升,给开发者的五点建议
开源共同体的活动多种多样,但对于初次参与的高校开发者而言,这些或许存在挑战。
华为开源运营专家马全一
对于高校开发者如何快速成长,全面提升开发能力?马全一给出了五点建议:
写代码远远不够,开发者需要善用搜索引擎。同时与社区大牛建立沟通联系,去了解各类开源开发问题;
仔细观察,深入思考。搜索引擎及社区大牛给出答案后,你能不能看到东西,能不能思考,这一点很重要;
穷举法。有时候思考的结果不见得对,你可以把所有的可能试一遍;
写文章。输出是最好的输入,如果你能够给别人讲明白这件事情,你自己对这个问题就是理解的;
参与社区活动。例如演讲可以锻炼你的表达能力、时间管理能力、随机应变能力,还能够让你与社区产生很好地沟通和互动。