一句话:报告北京大学开源软件入门课程经验:19名学生中16人成功贡献,5人留存,并比较不同项目选择的入门轨迹差异。
开源软件项目缺乏新人难以持续,但新人入门面临技术、社交与知识等多重障碍。现有导师制、任务推荐和参与计划需先具备动机与基础,因此存在空档。本文报告北京大学开设的一门实践导向开源入门课程:通过讲座、实验与特邀报告培养学生技能和动机,并要求完成一学期课程项目,实际向推荐项目(有导师)或自选项目贡献。课程19名选课学生中16人成功贡献,5人留存;但不同项目选择的学生在入门轨迹、最终贡献和留存结果上差异显著,为软件工程教育提供经验教训。
Without newcomers, open source software (OSS) projects are hardly sustainable. Yet, newcomers face a steep learning curve during OSS onboarding in which they must overcome a multitude of technical, social, and knowledge barriers. To ease the onboarding process, OSS communities are utilizing mentoring, task recommendation (e.g., “good first issues”), and engagement programs (e.g., Google Summer of Code). However, newcomers must first cultivate their motivation for OSS contribution and learn the necessary preliminaries before they can take advantage of these mechanisms. We believe this gap can be filled by a dedicated, practice-oriented OSS onboarding course. In this paper, we present our experience of teaching an OSS onboarding course at Peking University. The course contains a series of lectures, labs, and invited talks to prepare students with the required skills and motivate them to contribute to OSS. In addition, students are required to complete a semester-long course project in which they plan and make actual contributions to OSS projects. They can either contribute to some recommended OSS projects with dedicated mentors, or contribute to any OSS project they prefer. Finally, 16 out of the 19 enrolled students have successfully contributed to OSS projects, and five have retained. However, the onboarding trajectories, final contributions, and retention outcomes differ vastly between the two groups of students with different course project choices, yielding lessons for software engineering education.