I've been supporting student participation in humanitarian free and open source software (HFOSS) projects for over a decade. I've seen students get motivated and excited by working in a professional community while they learn and mature professionally. Out of the many reasons for supporting student participation in open source, here are five of the most compelling reasons.
1. Unbounded learning
When working in an active open source project, students are not constrained to the boundaries of a classroom. Students can and do learn technologies and skills that go far beyond course outcomes as they're learning within a professional community. In addition, much of the learning comes from the community itself, rather than the instructor. As one student put it: "Rather than coming off like a lecture of different tools and skills, it felt more like a more experienced co-worker giving advice and tools-of-the-trade to a newcomer."
2. Professional interactions
As students interact with an open source community, they gain professional skills including communication, teamwork, and problem solving. In addition, open source interactions provide students with an opportunity to network with professionals while building a public portfolio of their work. As one student said about their experience in learning in open source, "...it forced me to work on a more professional level all around." Another student commented, "I found if you check your ego at the door, and do your best to provide useful, beneficial contributions the community will appreciate your work and push you in the correct direction."
3. Outside opportunities
Involvement in open source communities opens the door for students to grow outside of the classroom. Events like the GNOME Summit and developer meetings allow students to explore computing in new environments. For example, I had an open source community fly a student across the United States so that he could use his code to register participants at a conference where he worked one-on-one with developers from IBM, Microsoft, and Google.
4. Better understanding of computing
I took a group of seniors to the GNOME Summit where they presented their work to a room full of professional developers. In the car on the way home I heard, "I thought I knew what computer science was but I didn't have a clue." As one student put it, "...it allowed me to get a glimpse of what the world of computer science truly looks like to an extent that no standard classroom could give me."
Students get excited about working on a real project where their work is publicly visible. Many instructors struggle with how to motivate students to learn. Participation in an open source project provides students with motivation that is tied to the content being learned. As one student said about their open source participation, "This experience has been invaluable and will change how I continue to learn as a software engineer throughout my career."
I invite instructors everywhere to explore student participation in open source. If you'd like some help in doing that, join us in the Professor's Open Source Software Experience, to be held November 17-19, 2016.