Teaching students to participate in open source communities can be difficult. Teaching teachers to teach students to participate in open source communities can be even more challenging.
But for years, Profs. Heidi Ellis (Western New England University) and Greg Hislop (Drexel University) have been doing just that. And with partner Gina Likins of Red Hat on Thursday, May 19, they'll take the stage at O'Reilly's Open Source Convention (OSCON) in Austin, TX, to talk about their experiences. Their session, "Want Students Ready to Contribute? Let’s Discuss What They Should Know!" begins at 5:10 p.m.
As they prepared to teach an audience about teaching teachers, Heidi and Greg kindly chatted with us about the work they do—and the challenges they face.
Your talk will explain what schools should teach students to prepare them for participation in open source projects. What motivated the talk?
For years now, we have been observing open source communities that are eager to recruit new members, yet many computing graduates lack the professional and technical skills to contribute to open source projects. There appears to be a disconnect between how computing students are educated and the needs of open source communities.
We wanted to highlight some of the factors that contribute to this disconnect so that both open source communities and academics have a better understanding of the difficulties faced by open source projects in gaining new contributors from undergraduate degree programs. Reducing those difficulties has the potential to significantly enhance student learning though open source participation.
In your eyes, what are the three most important skills any student wishing to contribute to open source projects should have?
This seems obvious, but the ability to learn independently is very important to successful student participation in HFOSS projects. Students have to be able to learn in a variety of manners from a range of different sources, and they need to take ownership of their learning in order to flourish in an open source community.
Communication, teamwork and the ability to problem solve are also critical skills. While understanding technologies such as version control is emphasized by most open source communities, students who don't understand how to navigate a professional environment by communicating clearly or who can't work on a team won't even get to the point of using those technologies. These process skills can sometimes be more difficult to teach than teaching a student Java.
You're always attempting to enhance learning by connecting students to open source projects and communities (typically ones with a humanitarian impulse). What are the toughest barriers to doing this successfully?
One huge barrier is identifying a community that is appropriate for student involvement. Most professors will want a project that has certain characteristics, such as being written in a particular programming language or one that needs user interface design.
In addition, we look for projects that have a community that is active and supportive of learning. Having students involved in a community where they could potentially get flamed can have a real negative impact on learning.
There are many HFOSS projects, and while some can be eliminated by cursory observation of their web site/wiki, the more detailed characteristics can be difficult to ascertain without some investigation. Once we have identified a likely community, the next step is finding a contact within the community. Ideally, we'd like a mentor, or at least someone who is willing to point us in the right direction. This doesn't need to take a lot of time, and we're typically not looking for someone to provide us with a tutorial on any aspect of the project. But it is very helpful to have someone to answer questions and provide feedback on which contributions would be helpful for the community.
The largest barrier is that all of the above takes time. What we're really talking about here is creating a relationship with a community, and that takes time that is usually over and above the typical instructor's workload. There is also a somewhat lesser issue of leading students towards participation. Students have to be taught open source culture and how to interact with the community in order for them to have successful interactions.
What has your work with POSSE taught you about the relationship between open source and education?
Experience with attending two POSSEs and hosting another six have highlighted the differences between open source and academic cultures. These really are two very different cultures.
Open source emphasizes transparency, while in academia students who share can be accused of cheating. Open source emphasizes "release early, release often," while academia discourages the publication of thoughts until they're fully formed and polished. Open source is flexible and opportunistic (new technologies can be adopted within weeks) and academia moves at a glacial pace (it can take a year or more to develop a new course on a new technology).
These are just a few of the differences, but you can see that there are many ways in which the two cultures do not align and are even at odds.
On the positive side, the collaboration of education and open source presents some phenomenal learning opportunities for students. Rather than being bounded by the knowledge prescribed in a course, students are free to learn to satisfy their own curiosity. Rather than learn about a bounded problem from a text book, students learn about real-world problems with all of the attendant complexities and messiness. Rather than having the instructor being the main source of knowledge, in open source students can learn from the entire professional community.
From the open source perspective, students can bring an energy and enthusiasm that motivates the community. Heidi had sent a group of six students to the 2014 GNOME Summit where Karen Sandler had given them an hour-long tutorial in licensing. Heidi had the opportunity to thank her for doing that last week and her response was to thank Heidi for providing a gateway for such enthusiastic people to enter the GNOME community.
One of the things that we have spent the past five years doing is identifying ways that these two cultures can work together because we think that the benefits of working together are huge.
What are you doing to enable educators across the country and across the globe who want to incorporate open source skills and values into their classes?
We are part of a team of professors from Western New England University, Drexel University, Nassau Community College and Muhlenberg College who are focused on educating instructors who want to support student participation in HFOSS projects. The foss2serve team has received two different NSF grants to fund this effort since 2011. We have collaborated with Red Hat to put on five POSSE workshops and are planning two more this year in June and November. One important artifact of our work is a wiki that contains information about how to get students involved in open source and also includes a set of more than 70 learning activities to help support student learning within open source. These materials are Creative Commons licensed and available for anyone to use.