头图

开源新老兵携手打开社区大门,带大学生走近开源

小魔

如何从开源小白成长为社区贡献者?相信每一位高校开源开发者都想知道答案。在华为开发者大会 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 发起人姜宁

他表示,开源共同体需要很多负责不同工作的角色,而开源的魅力恰恰在于大家共同解决问题,并将最好的解决方案变为实践。

关于能力提升,给开发者的五点建议

开源共同体的活动多种多样,但对于初次参与的高校开发者而言,这些或许存在挑战。


华为开源运营专家马全一

对于高校开发者如何快速成长,全面提升开发能力?马全一给出了五点建议:

  1. 写代码远远不够,开发者需要善用搜索引擎。同时与社区大牛建立沟通联系,去了解各类开源开发问题;
  2. 仔细观察,深入思考。搜索引擎及社区大牛给出答案后,你能不能看到东西,能不能思考,这一点很重要;
  3. 穷举法。有时候思考的结果不见得对,你可以把所有的可能试一遍;
  4. 写文章。输出是最好的输入,如果你能够给别人讲明白这件事情,你自己对这个问题就是理解的;
  5. 参与社区活动。例如演讲可以锻炼你的表达能力、时间管理能力、随机应变能力,还能够让你与社区产生很好地沟通和互动。

开源并非共有,法律知识必不可少

开源许可证是开源社区的基本法。要想做好基础保障,高校开发者应重视知识产权问题。北大法学院教授张平表示:开源软件不是所有权利完全共有,而是有条件的保留或是放弃部分权利,而且开源社区对知识产权进行了综合利用,使得开源的精神变得更为复杂。高校开源开发者应该关注开源社区的知识产权问题。


北大法学院教授张平

她号召,中国在构建开源社区时,应高度重视知识产权问题,避免更多知识产权风险,保护高校开源开发者的权益免受损害。

以上分享均来自华为开发者大会 2021(Cloud)现场。

在这场开发者盛会上,华为开源全面展现了开放、共享、协作的开源精神,宣布了云原生多云容器编排项目 Karmada 正式对外开源,并展现了 openEuler、openGauss、MindSpore 等多个已开源项目。未来,思否相信华为开源必将继续为开发者贡献更加有前景的项目,并与开发者携手共创社区繁荣。

阅读 141
avatar
小魔
SegmentFault 技术编辑

luxue@sifou.com

96 声望
5 粉丝
0 条评论
你知道吗?

avatar
小魔
SegmentFault 技术编辑

luxue@sifou.com

96 声望
5 粉丝
宣传栏