Opportunities for non-coders to contribute

One of the things I've really struggled with post-convening is figuring out what project leadership can hand off to the community and what needs a bit more work. It's a vicious cycle because we are often too busy to make the decisions that would make us less busy!

@allieber graciously reminded me that I've overlooked this important topic of opportunities for non-coders, so I wanted to revive the thread and suggest a way forward.

The challenge and our status

There are people who are passionate about ODK and would like to contribute. These people are generally not programmers, but could still have a huge impact on the project by answering support questions, doing translations, developing a visual brand, leading our social media efforts, moderating the forum, etc.

And although this thread has been mostly silent, we've made good progress on getting more of community members involved. For example, @danbjoseph and @ronald_munjoma have been moderating the forum, @wonderchook has been managing translations, and many others have been answering support questions.

Why we've stalled

While the opportunities for non-coders Google Sheet has been a fantastic start, the fact that it's not really an issue tracker presents some obvious challenges.

  • You can't easily carry on longer-form discussions
  • You can't easily see who is working on what
  • You can't easily get status updates
  • You can't easily open and close issues
  • You can't easily specify level of difficulty

Both @allieber and I have spent some time looking around at some alternatives and nothing really jumps out, so I'd like to propose a way forward that uses our existing infrastructure and isn't too much work for non-technical people.

A potential way forward

  1. I will create a forum category called 'Contribute' where we post all the various ways that people can contribute. People can also suggest ways they want to contribute and we'll use tags to bin them (e.g., support, marketing, engineering, etc). These posts can be rough and open-ended (e.g., we need a social media strategy for ODK) because most of these issues need discussion. Ongoing tasks (e.g., answer support questions, join the ODK Collect beta) will be pinned at the top in a wiki topic.
  2. I will create a repo on GitHub called 'contribute'. Once an idea from the forum has well-specified and actionable (e.g., write a case study template) tasks, we file it in GitHub as an issue that needs to be tracked to completion. Using GitHub will also let folks who are new to ODK and have no context get a chance to do small tasks (e.g., the 'quick win' issues that we file for the coders).
  3. I will drive traffic from forum signups and social media to that Contribute category for people who want to contribute. I want volunteers to own much of this process, but project leadership will watch the category and the issues to provide the support that is needed.

Potential concerns (and responses)

  • We should use Trello/Asana/Jira.
    • Community members already use the forum for discussions and GitHub for issue tracking.
  • GitHub is a technical site and that might be hard for non-technical people. They have to create a separate account.
    • I think we'll gain more contributors by starting now and using the same process and tools as we do throughout the project.
  • GitHub doesn't make it super-easy for the public at large to manage issues (e.g., tagging if you aren't a participant)
    • Totally agreed that GitHub is miserable in this regard. We should use Zuplibot.

Next steps

I'd love feedback on this proposal. If you like it, like it. If you don't like it, please reply to the thread, voice your concern, and suggest an alternative.

I'll wait until Wednesday, and if there are no major complaints AND at least three volunteers, we'll be ready to start.

I can commit to setting up the Discourse and Github. We need volunteers to:

  • Create a new topic for each of the tasks in Google Sheet to the new category.
  • Figure out how to setup Zuplibot.
  • Commit watching the new category and facilitating those conversations to get to something actionable.
  • Commit filling issues on GitHub and tagging them appropriately.
2 Likes