In my five years at Oregon State University, I've seen the challenges of interfacing academia with volunteer communities from all sides. I took a class on open source, taught Linux basics to computer science students as a teaching assistant, and founded a training program called DevOps Bootcamp to help new contributors bridge the gap between academic curriculum and open source involvement.
The most important thing these experiences have shown me is that open source communities are most accessible to people with a very specific set of traits. People who 'self-select' into open source are overwhelmingly:
- self-directed learners
- lucky enough to have the time and energy to surmount a project's initial learning curve
- motivated by altruism, love of puzzles, or desire for peer recognition
- comfortable accepting technical criticism and disregarding personal criticism
However, there are myriad people on the fringes of the open source community who have the potential to make good contributions, but chose not to get involved. Many of them may have even made efforts to contribute in the past, but were deterred by lack of documentation, knowledge, or time.
Get involved through academia
Academia is a particularly promising area seeking such contributors because students are often drawn to engineering programs by desire to change the world, solve fascinating puzzles, or pursue lucrative careers. Those motivations match up excellently with the rewards that they can attain by getting involved with free and open source software!
The challenge to both academic and open source leaders, then, is to remove whatever obstacles are preventing those students from getting involved.
Open source communities already offer a variety of resources that can be valuable to new contributors. If you're a community member and want to help students get involved, make sure that your project offers some of the following:
- An easy, introductory, or low-hanging fruit type tag in the project's issue tracker. It's especially helpful to list these on an aggregator such as OpenHatch to make them easier to find.
- Documentation catering to different learning styles. To help those who learn better by listening, provide links to recordings of talks about your project in the relevant sections of the FAQ.
- Clear communication about which project members are interested in mentoring new contributors. Even if the project isn't involved with Google Summer of Code or the Gnome Outreach Program, it can benefit from a Wiki page listing project ideas and who to contact about them.
- Professional, helpful dialog and a clear code of conduct in your mailing list and IRC channels can create a welcoming atmosphere and avoid scaring new contributors away.
- Appreciation for the value of non-code contributions.
Professors, teaching assistants, and other academic leaders can help direct students into open source communities as well:
- Educate students on the role of open source in research and industry as well as its relevance to their careers.
- Leverage community resources to integrate open source tools into the curriculum, such as teaching Subversion or Git in software engineering classes.
- Support student clubs and classes that encourage open source involvement.
- Mentor students and teach them how to find and use the resources that the open source community provides.
When academia and open source collaborate, everybody wins. Open source projects get new contributors, professors get students with more knowledge and perspective about real-world software development, and—most importantly—students can get extra mentorship while gaining hands-on experience in their chosen fields.
Regardless of your role in academia or open source, you can help encourage this symbiosis between the two worlds. If you're a teacher, empower your students to approach the open source projects that interest them. If you're an open source contributor, make sure that your project is ready to guide new contributors with documentation, accurately tagged bugs, and a minimally scary culture.
A collection of articles from educators, students, advocates, parents, and more who are implementing open source in education and working toward a more open knowledge base for everyone.