开源虽作为一种前沿的开发模式,但开源教育的普及度却不足。和云计算、操作系统、中间件等技术不同,开源教育虽然包含很多通识性知识,但是开源课程的开展实施往往和这些技术类课程紧密融合,本身并未作为一门单独的课程进行教学。尤其是开源开发实践课程,当学生对某门技术或学科不是很感兴趣的时候,他就不会选修该课程,从而也没有机会进一步去学习开源相关的内容,就无法通过开源课程的开展培养其成为一名开源贡献者。
认识到开源教育的重要性和稀缺性后,北京大学软件与微电子学院荆琦老师在几年前就萌发出为开源专门设计一门课程的想法,“只有让极富创新的年轻人与开源项目真正打上交道,才能迸发新的可能。”
从现实出发,高校偏理论、研究、预演,通识性比较系统深入。每个老师虽然有自己专门的研究方向,但学生作为开源教学的目标对象,其技术兴趣十分广泛,高校教师很难一直紧跟每一个技术方向的开发最前沿,但来自于广泛的开源社区的一线开源团队的核心开发者不同,这群人通常是技术圈公认的极客。
因此,在荆琦的设想里,由高校老师负责开源基础通识方面的教育、再由开源团队进行实践性教学的搭配,可谓是强强联合,会让开源课程变得更有吸引力,也能让学生能活学活用,真正地参与到开源项目贡献中去,运用开源知识和工具去创造,获得成就感,从而成为一名开源贡献者。
接轨产业人才需求,补上高校课程体系中的一门空缺
2019年东北亚开源软件推进论坛上,荆琦与同为中国代表团、并获“开源技术优胜奖”的阿里云消息中间件RocketMQ团队相识。
经过一年多的反复讨论与课程申请过程,2021年初,与阿里云开源团队合作的《开源软件开发基础及实践》在北大软件与微电子学院研究生一年级下学期的选修课列表中悄然出现,开放了10 个左右的名额,最终收到近30个选课申请。这对研究生课程来说,属于受欢迎程度非常不错的。
选择哪家企业作为第一门开源课程的产业合作方,荆琦经过严密的考量。
开源方面,阿里云是开源的受益者,也是积极贡献者。截至目前,阿里云在 GitHub上开源项目总数超过2700个,涵盖云原生、数据库、操作系统、大数据&AI等多个领域,拥有3万多个贡献者,收获了111万个GitHub Star,位列中国企业开源社区 GitHub 贡献榜首。除了技术能力强,阿里云对于开源教育也非常有想法,符合北大对外部产业合作方的预期。
阿里云还在2021年推出“飞天加速计划”,发布多项资源扶持政策,致力于培育数字时代的创新人才。其中,面向高校师生提供30亿小时免费CPU/GPU资源,并提供协同育人教育基金,用于学生教育与实践。
综合而言,阿里云在实践教育方面,能够给学生们带来最新的企业案例、观念、趋势、技术。同学们能够更早地习惯企业的工具、了解企业的文化,进而快速成长为产业人才角色。
因此,阿里云成为北京大学首次针对开源软件方向开展的校企协同课程开发与教学合作方,这也是全国范围内企业开源团队全程深度参与开源教学过程的通识课与实践课双轨制开源教学模式。
从0到1共创一门开源软件课程,探索开源人才培养新模式
为了帮助学生更好地了解开源社区的软件开发流程以及开源社区协作方式,阿里云 RocketMQ团队的工程师精心设计了课程内容。
课程前期从架构分享、代码阅读、开源贡献流程等方面入手,帮助学生快速了解Apache RocketMQ这个开源项目;课程中期,组织同学与老师一起深入参与到社区建设中,包括内核优化、Connect、Streaming 等相关生态项目,帮助同学更好地了解上下游技术生态;课程结束后,设计了不同难度的、来自于社区用户真实线上场景的题目,帮助同学真正参与其中,让自己的代码在世界各地企业运行,收获成就感。
除此之外,阿里云还为同学们提供快速上手熟悉了解RocketMQ的机会,同学们只需要轻点鼠标,即可快速完成集群搭建、消息首发等任务。
课程推进的非常顺利。两节课后,就有同学能够根据源码写出思考与实践并重的深度文章。荆琦称,这对于她与同学而言,都是非常大的正向反馈和激励。
去年夏天,荆琦又收获了龙蜥操作系统开源社区这个合作伙伴。操作系统技术在信息产业整体发展中有着承上启下的关键作用。龙蜥社区和龙蜥操作系统(Anolis OS)的使命是成为国内领先的操作系统开源社区和协作创新平台。在与龙蜥社区的一些专家讨论了关于操作系统的实践后,荆琦就邀请他们一起参与开源实践课。
新年后的第一堂课,龙蜥社区走进北大课堂。来自阿里云的技术专家们为软件与微电子学院的研究生同学们介绍了龙蜥社区概况和围绕龙蜥操作系统(Anolis OS)的实践课程大纲,Anolis OS是龙蜥社区发行的开源Linux发行版,支持X86、Arm等多种芯片架构和计算场景,兼容CentOS生态,具有稳定、高效、安全、可靠、可长期演进等特点。
接下来的一学期,龙蜥社区的技术专家们将精选四个关键领域,对同学进行开源社区开发入门指导,同时,针对每个领域专门设计动手实验以及开发项目,让同学在了解开源社区基本运作模式、开发流程的基础上,收获实际开源项目的开发经验,并为开源项目作出实际贡献。
阿里云导师+实验资源全面支持 真正校企合作协同育人
荆琦称,阿里云消息中间件RocketMQ团队和龙蜥操作系统团队的加入,让学生可以根据自己的兴趣和能力选择不同方向的开源课程,“想学中间件,就选RocketMQ;想学操作系统,就可以选龙蜥。”
2021年9月,《阿里云开源软件开发基础及实践》作为产教融合的优秀实践案例,被列入教育部产学合作协同育人项目。该项目是国家为了提升本科人才培养质量,深化产教融合、校企合作,教育部高等教育司组织有关企业支持高校共同开展产学合作协同育人的项目。项目打造多主体协同育人的长效机制,构建了产教融合、校企合作的良好生态。
通过产学合作协同育人项目,与阿里云校企联合,开展开源教学,让荆琦对开源课程的建设更加有信心。阿里云作为企业合作方,不但提供了一线的开源开发实践导师,让同学们可以在导师的指导下进入真实的开源项目中进行实践开发,而且提供了知行实验室和龙蜥实验室作为实验教学资源,真正地做到了校企合作协同育人。
荆琦称,《阿里云开源软件开发基础及实践》课程作为一种新型的开源教学模式弥补了过往高校开源教学的空白。未来,如何在产教融合政策下持续推进高效教改,为产业持续输出优质人才,进而推进产业的发展,是更大的挑战。但因为有了阿里云一群跑在产业前沿的专家团队的相伴,她显得格外有信心。
关于“飞天加速计划”:
“飞天加速计划”是阿里云2020年推出的项目,通过为全国高校师生、开发者提供免费ECS算力资源,以加速云计算的校园普及,助力培养数字新基建人才。“飞天加速计划”自发布以来,已累计输出6.4亿小时免费ECS算力,2200所高校七万余名师生因此认识了云计算,并且借助云的力量便捷地使用计算资源开发自己的应用,搭建“小而美”的云上世界,同时成就自我。2021年,阿里云持续加码,推出“飞天加速计划2.0”,致力于在3年内提供价值15亿元的资源扶持,助力开发者应用创新,助力开发者全生命周期成长,培育数字时代的创新人才。