Opportunities for non-coders to contribute

Hi everyone,

Thank you for an exciting and productive convening! In our breakout session today, a few of us discussed "Opportunities and leadership for non-coders." See notes here.

If you are like me and don't know how to code (or do) but are passionate about ODK and want to find some way to contribute to the community, I encourage you to take a look at this living sheet outlining the opportunities we discussed.

If something looks interesting to you, you can add your name next to it (or not) then start a topic on the appropriate category in the forum so others can jump in and collaborate!



I got tired of coding myself. I found ways to contribute in other meaningful ways. One way I found was to lend a hand and help maintain the infrastructure for the project. The number of people doing so is usually very small. If you have ops experience, but don't necessarily want to code..it's a way to contribute.

It's one of those jobs that you won't get recognition for, but people are eternally grateful nonetheless!

I don't really contribute to ODK however, not that I wouldn't like to, just don't want to spread myself thin.


@robbyoconnor I don't have ops experience but interested in learning and managing infrastructure. I have put my name down in the living excel document as a contributor to discourse and I noted that @downey is prepared to act as mentor.

What skills would you expect someone who is interested in assisting with the ODK infrastructure to learn and have?


1 Like

I don't work with ODK, so I am not the one making that decision -- I'm just relaying how I found a way to contribute.

I'm here because I was helping them get Discourse up and running.

Hi @Ronald_Munjoma and others: Yes, I'm happy to help mentor with Discourse and help "train" (if that's such a thing?) folks to maintain and improve it ... at least based on what knowledge I have with the platform!

1 Like

@downey thanks for the offer to mentor and provide guidance. What resources
do you recommend I should read?


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.

I tackled the zulipbot setup, instructions are here: Fine-grained permissions for Github issues (self-assign, labels)


This looks like a good plan to me.

@yanokwa so each task in the Google sheet would be in Discourse or Github? I think I can use Zapier to automate this sort of thing.

No need to automate it with Zapier. This would be a one time move from Google Sheet to Discourse.

Discourse will then be the primary place we talk about how to contribute then once it's actionable, it'll got to Github.


This seems like a solid plan. Just as a note, for the GitHub side, if it's easier for tracking, consider a repo-specific or organization-wide project (Kanban style) board. Might be an easier UI for non-coders to review to understand the status of the various tasks.

1 Like

This seems like a solid plan -- and as one of the original volunteers this is a good probe for me to do what I committed too. I like option 1 (a forum category called 'Contribute'). I admit, while I have a github account, I don't actively use it (or log in), so other non-coders may not be as well. Maybe this is a chance to increase my use of Github.

Thanks Yaw for the overview and impetus.


I like the plan. Thank @yanokwa!

I've created a few new threads from the google sheet in the Contribute category. I've crossed out the ones I've transferred and will continue working through them over the coming days.

I can also help with the filing and tracking on GitHub but will probably need a bit of guidance the first couple of times (or watch how someone else handles it first).


I'm loving all the enthusiasm!

I've created the contributions category on the forum and the contributions repo on Github. I've also updated the welcome bot and welcome post to highlight to the contributions category.

Once @danbjoseph finishes moving the various threads from Google to the forum, we can then start on seeing what individual issues we need to file on Github and we can go from there. :rocket:

1 Like