How to encourage contributors

One of the techniques I've used over the years in teaching open source is to invite core members of the projects we're working within to come and give guest lectures. I do this for a variety of reasons. First, I find that students are intimidated by the size and complexity of big open source projects, and having a person who looks and sounds just like them at the front of the room saying, "You can do this," is invaluable to building their confidence. Second, I like to let the passion and excitement of the community spill into the classroom, and hopefully light a fire--the people I invite are always very interesting to hear when they get to describe their work, tools, workflows, etc.

Yesterday I was lucky to have Kate Hudson come and talk about Mobile Webmaker, a Firefox OS and Android mobile web app for creating mobile web apps (mobile web inception!) that can be shared and installed over SMS. I like the global feel of the project, and the fact that it seeks to bring the best of the web (i.e., being able to create things that matter to small groups of people vs. just consuming corporate mega-apps). My students are from all different countries and represent many different cultures and languages. How can you not love a project that has bugs about enabling mobile apps for use cases like a salsa teacher in Kenya who needs to share news and salsa party info via SMS? Honestly.

Kate's always fun to listen to, because she's so engaged with her work, and has such creative approaches to UX, complex coding problems, etc. I think the students were blown away seeing her workflow using Firefox Nightly and the WebIDE. Another thing I noticed that I thought was a good takeaway for people who want to engage contributors to their projects was the level of commitment to onboarding new devs. We all know that READMEs and other docs are important for new contributors, but Kate's taken it one step further and written an online book about the project and how things work. That's pretty rare and amazing, especially for students and new developers.

If you're a teacher trying to get your students involved in open source projects, reach out to the devs and set up some guest appearances. If you're an open source project seeking the involvement of the academic community, take the time to go and visit the students, invest in appropriate levels of documentation.

It was amazing to watch the students realize the opportunities that exist for them to pair their skills as developers with the needs of the project. "Could I add a map component?" Sure! "What if it supported drag-and-drop with touch?" Do it! "How about support for users in Brazil?" Yes! As open source projects I think we often assume that if you build it, they will come; some people will find you that way, for sure. But there are so, so many more people who won't find you that way, and to be honest, these are the people you need in your project, with their diversity of experiences, skills, and backgrounds. Want your project to be different from all the others? Invest in getting new kinds of people involved. That's what Kate's doing.