talk on conference website
In an ideal world, students would graduate from college with a comprehensive understanding of open source and an ability to contribute to an open source community in some significant way. In reality, while all students know about open source and most students use open source products, very few students have much understanding of open source. Students do not know how large open source is, they have no idea that open source can be a career, and little awareness of the tools and processes that make open source communities successful. This presentation will present results of surveys that exemplify the very shallow student understanding of open source.
Improving open source education would benefit both students and open source communities. Student benefits from open source participation include exposure to an evolving, complex software system, development of professional skills, improved technical skills, better understanding of team-based development in a distributed environment and more.
Open source communities can also benefit from student participation. Students can relieve more experienced developers from routine tasks such as bug verification and documentation, and they have added incentive to participate due to class requirements. In addition, students can be supported by academic infrastructure so that they are not relying solely on the OSS community for learning. Finally, open source education will help ensure a continuing flow of professional developers into open source projects.
In order to prepare students for open source, students must learn about open source culture, tools, and processes.. Unfortunately, many schools are not teaching even basic open source tools such as version control, issue trackers, and CI/CD pipelines, and only a small number of schools are covering open source processes or culture. How can educators better prepare students for open source by incorporating these necessary skills and information into an undergraduate program? This talk will discuss the gap between undergraduate computing education and open source community expectations, the reasons for this gap, and approaches for bridging the gap.