Sustain Africa 2022 Community Report

Sustain Africa 2022 Community Report

The following is the community report for SustainAfrica 2022, which took place in Lagos, Nigeria, on 24th March 2022 at TalentQL HQ. The event lasted about 3 hours and was structured as collaborative working sessions. Sessions were dialog and outcome-oriented rather than presentations or lecture formats. This year, we have six (6) working groups, including Open Source Documentation, Open Source Design, Open Source Data Science, Open Source Marketing, and Funding, OSS Programs and Specialized Projects, and Burnout and Mental Health. The program enabled deeper collaborations and learnings across participants' networks and collectively improved their skills, strategies, and impact in their respective OSS efforts.

We had a diverse attendance in terms of gender and work status. 70+ people were in attendance, including Software Engineers, Data Analysts, Program Managers, Technical Writers, Product Designers, Developer Advocates, and Community Managers who are active OSS maintainers or contributors. The sustain event is invite-only as the goal is to gather experts in the industry and host conversations around the challenges and possible solutions to specific issues in the open-source space for each working group. In the end, we then share the output of the sessions with the entire community, which is the goal of this report.

A grid collage of different pictures taken at the event

A Premise to Sustain Africa

Sustain Africa is a one-day invite-only conversation for Open Source Software Sustainers. We talk about Sustainability — the Sustainability of resources and the Sustainability of its people. The conversation around the comprehensive overview of how FOSS is developed, maintained, utilized, and providing a roadmap for solving the cultural, financial, and institutional issues among open source project maintainers continues to be the focus of Sustain.

Our overall goals at Sustain Africa are to:

  1. Map and compare visions for the long-term health of free and open software communities around the globe. Connecting those who are passionate about these topics and supporting deeper ongoing collaboration and shared practice.
  2. Frame and workshop concrete sustainability needs and challenges, applying and prototyping strategies and practices that provide ongoing support and leadership in sustainability practices.
  3. Document models, strategies, and approaches to Sustainability of OSS projects and work toward a more sustainable future for OSS.
  4. Address the "hard conversations" tied to Sustainability, including appropriate practices for companies participating in free and open communities and new developments in licensing and reuse.

You can find all pictures from Sustain Africa 2022 summit in the "DAY 1 (Sustain Africa)" album below.

Session Notes

During the interactive case studies session, participants were grouped into six (6) groups with about 10+ individuals each. In each group, discussions were had to explore the latest practices around Sustainability in the group's topic. The overall goal of the session is for participants to gain a deeper understanding of selected sustainability contexts and the work being done there. At the end of the session, outputs, results, and the next steps of the interactive case studies are shared in the main meeting room.

The sections below summarize the output and notes from each working group.

1️⃣ Open Source Documentation

A picture of sustainers discussing at Sustain Africa 2022

This working group was facilitated by Anita Ihuman. The goal was to get everyone talking and try to answer questions like Who writes, uses, and updates the docs? What do sustainable-first docs look like? How can we write better ones?

Amongst all that was discussed, here's a summary of the captured notes:

Do we really read the documentation? Yes, occasionally and if there are no other resources available. Someone also shared their worst experience going through the documentation and how they picked out errors in the doc rather than learning from it.

What approach then do you think can take towards achieving unified documentation standards in open source?

  1. Documentation should be prioritized during the project idea generation phase and not after execution.
  2. If required, employ maintainers to handle documentation solely.
  3. Create a unified system to confirm contributors' content aligns with the project before approving a pull request (Documentation guides).
  4. Create a documentation label on GitHub issues to draw contributors' attention.
  5. Create a feedback system to respond to pull requests and merge documentation contributions rapidly.
  6. As contributors, you can create separate resources to help users navigate documentation.
  7. Projects and organizations need to evolve and adopt new methods for documentation.
  8. Set up a community rewards system for documentation contributions (e.g., Recognition programs for documentation contributors).
  9. Think of a new strategy toward documentation that doesn't necessarily involve text.
  10. Research the user and reader spectrum for your project and write your document accordingly to reader spectrums (experts, intermediate, novice).

How can we sustain open source communities and projects through documentation?

  1. Implement documentation standards for all open source projects to follow. You can check out The Good Docs Project, where incredible work is being done on this already.
  2. Set up a program that reviews the documentation of open source projects according to these standards.
  3. Acknowledge projects that follow the standard documentation requirements so other projects will emulate them.

Providing effective documentation for open source software can build strong, inclusive communities and increase the usage of your product.

2️⃣ Open Source Design

A picture of sustainers discussing at Sustain Africa 2022

This working group was facilitated by Chukwuka Ezeoke. The goal was to get everyone talking and discuss how we can make open-source design and user experience sustainable and what Sustainability means for code-adjacent territories. Some questions asked were:

  • How can we get more designers into Open Source?
  • How do we help more designers discover open source projects that need design contributions?
  • How can we make the onboarding process for designers better?
  • How do we improve the process of designers maintaining and contributing to Open Source projects?
  • How do we get more Nigerian companies to build Open Source projects?

Amongst all that was discussed, here's a summary of the captured notes:

Awareness/Education

More work should be done to create awareness by educating designers about the opportunities that abound in Open Source. In addition, designers should be educated on how contributing to open-source will help their career growth, experience with different industries, and increase in network.

More Designers in open-source should share their stories and how they've been able to reach for the stars through open-source contributions. Open-source should be part of the curriculums for boot camps, short certifications, and tech schools. Newbie designers should learn about open-source early on, What it is, how they can get started, and the opportunities it comes with.

Onboarding

More Open Source projects/owners should invest in people specifically for onboarding intending contributors to a project. These should be people who know the A-Z of a project and can ease the onboarding of new contributors by pointing them in the right direction and being there all through a contributor's engagement with a project.

Playbook

Many non-design contributors and project owners do not know how to work with designers — what that whole process should look like. A playbook could help in solving this. In addition, having a playbook that outlines all the necessary guidelines on how developers and designers can play makes it less challenging.

Tools

Just as GitHub and CodeSandBox are to developers in open-source, there should be dedicated varieties of tool(s) for designers as well.

Contribution flexibility

Developers can contribute to a specific part of a project, like a feature or a simple bug fix. Designers should also be able to contribute to small pieces of a project and not just work on the big picture (end-end).

More Roles in Open Source

More roles should be encouraged to participate in Open Source. For example, imagine a Product Manager preparing a PRD for a feature or bug needing design attention. Having various roles also helps with the feedback process and criteria evaluation.

More activities

Designers should be encouraged to participate in activities such as Hackathons for open-source projects. These activities can also feature monetary rewards.

Company involvement

Companies should be more involved in Open Source work. They can do this by:

  • Encouraging their employees to contribute to open-source projects or engage in fun projects that will be made open-source. All these should be permitted for some hours out of employees' weekly work hours.
  • Incorporate contribution to open-source as part of employee evaluations, especially for senior roles.

Members of the group exchanged contacts, moved the conversation to the OSCA Discord server #design channel, and promised to make a list of Open Source Projects in need of Design contributors. The session was great and highlighted some solutions to the current challenges with Open Source Design. These solutions will also be shared with Untitled Designers and discussed in detail at the Untitled Design Conference. In addition, the Untitled Designers team will also be contacting OSCA to see how they can collaborate further on some of the solutions above.

3️⃣ Open Source Data Science

A picture of sustainers discussing at Sustain Africa 2022

This working group was facilitated by Rising Odegua. The goal was to get everyone talking and try to answer questions like How can we make open-source data science and machine learning sustainable, too? What does Sustainability mean for data engineering territories?.

Amongst all that was discussed, here's a summary of the captured notes:

How can we encourage more Open source contribution/activity in the data science space?

  1. By creating more community programs centered around data science.
  2. Facilitating and encouraging open-source data science competitions where participants get to learn, build and create projects that will be open-sourced.
  3. More community awareness to let data scientists know that open-source data science is not just about contributing to libraries on GitHub but also involves things like open-source research works, technical writing and publications, and documentation improvements.

If all resources were available, what are the practical steps you would recommend to help improve the open data science space?

  1. Create and manage an open-source data science community that is centered around the following tracks:
    • Community data science competitions. This can be incentivized.
    • Open-source research mentorship and track targeted at Researchers who want to work on open problems.
    • Mentorship in technical writings, publication, and documentation.
  2. Create a detailed video or written guide that outlines:
    • What open-source data science means.
    • How beginners can contribute to open-source.
    • Available projects and where they can get started.

The working group concluded by proposing to kick-start an Open Source Data Science group and community to continue the conversations and help data scientists find their place and be successful in the open-source space. Ensure to join our Discord server to be a part of when it launches. A member of the working group is also now working with other data practitioners to co-organize the first Data Festival in Africa (also as the Head of Community); with the goal of encouraging open-source across all data, data science, and machine learning fields in Africa.

4️⃣ Open Source Marketing and Funding

A picture of sustainers discussing at Sustain Africa 2022

This working group was facilitated by Prosper Otemuyiwa. The goal was to get everyone talking and try to answer questions like: What is open source marketing? How do we market open-source projects? How much money goes into open source? Do you really need funding? What do you need funding for? Where to find funding? How to manage funds? What are the existing strategies? Do's and don'ts?

Amongst all that was discussed, here's a summary of the captured notes:

  1. To find sponsors, you need to market your project and sell it to possible users, contributors, and sponsors. The Open Source Community Africa Discord server is a great place to start sharing your project. You can also consider hosting or joining related Twitter Spaces, speaking at developer events/webinars, writing tutorials/articles about your project, or creating YouTube videos to educate people about your project.
  2. Ensure you document your project correctly and optimize it for GitHub so developers searching can easily find your project based on specific keywords and tags. If you have a public website for your project, take advantage of SEO and optimize your website for better results on search engines.
  3. If you have a large OSS project (with a growing community behind it) and you need funding, you should set up an Open Collective. This will provide you with an open system to manage your finances so everyone can see where the money comes from and where it goes. You also get money management tools, budget reporting, fiscal sponsorship, and more. With this system, you can easily accept donations and sponsorships from anyone/any company, celebrate your supporters, pay expenses, and do more — all in one place.
  4. For smaller and maybe personal projects, you can consider alternatives like GitHub Sponsors, Patreon, Buy me a Coffee, or others that allow creators to accept donations and sponsorships and receive them finally to your local currency.

Open Source Marketing and Funding session notes

5️⃣ OSS Programs and Specialized Projects

A picture of sustainers discussing at Sustain Africa 2022

This working group was facilitated by Anjana Vakil. The goal was to get everyone talking and discussing extensively open-source programs like GSOC, GSOD, Outreachy, Hactoberfest, etc., as a way of increasing contributions and answering the big question How does Sustainability relate to academic and specialized projects that have different needs and users?. Some members of the group were previous participants of Outreachy (Mozilla), GSOD (GraphQL), and GSOC (Sugar Labs) as either mentees or mentors.

Amongst all that was discussed, here's a summary of the captured notes:

Mentoring

  1. A great experience, a good way to learn and remember things.
  2. Everyone should try mentoring, even outside of those programs.
  3. Gather your own community of learners you know and point out things they can start learning and goals they can achieve. For example, gather some friends and ask, "Who wants to learn X (e.g., design)?" then compile a list of open-source resources, readings, videos, etc.

Getting into a program as a mentee

  1. Look at the list of available projects.
  2. Choose a project that interests you or matches your current skill sets.
  3. Advice: Choose the software you use, and start from there.
  4. Be sure to read the documentation, as they've probably already answered some questions you have.
  5. Some companies run challenges, hackathons, etc. (e.g., Netlify's Dusty Domains, Cloudflare's summer challenge) where they give you code reviews and swag. This is a good way to build your portfolio and get some experience.

Welcoming more contributors to OSS projects

  1. OSS is a perfect team builder and a good indicator of folks who are team players and not jerks.
  2. Once you make something open, everyone comes at it from different directions.
  3. As a contributor, don't get offended or discouraged if your contribution isn't accepted; it might just not be a fit.
  4. As a maintainer, be kind - keep in mind the perspective of the person on the other side.
  5. It is helpful to have a step-by-step guide for contributors; make it beginner-friendly.
  6. Make sure your project has a README file and Issue templates.
  7. Contribution isn't always code or docs; it could even be asking a question to clarify an issue.
  8. If an issue can be solved by docs, drop a link.

Hacktoberfest - participating as an OSS project/maintainer

  1. Hacktoberfest is one of the best ways to bring new contributors in.
  2. It's essential for projects to be consistent and participate every year.
  3. Make sure you have a lot of "good first issues."
  4. There will be a lot of first-time contributors; see notes about welcoming above.

Documentation

  1. English isn't everyone's first language; try to be clear and unambiguous.
  2. Write docs like you're writing for a 5-year–old.
  3. Avoid jargon.
  4. Check your assumptions and state them clearly, including links to prerequisites.

Advice for contributors to get around problems/lack of good docs

  1. Start a conversation by opening a PR - even if it's not perfect, it starts the ball rolling.
  2. Open an issue as a Request For Comments (RFC) to gather feedback on your idea.

OSS Programs and Specialized Projects session notes

6️⃣ Burnout and Mental Health

A picture of sustainers discussing at Sustain Africa 2022

This working group was facilitated by Atinuke Oluwabamikemi. The goal was to get everyone talking and try to answer questions like How do we take good care of our body while actively contributing and maintaining? Where do we draw the line? What challenges do open-source creators face? and share useful strategies and health tips.

Amongst all that was discussed, here's a summary of the captured notes:

  1. Start with a self-reflection and appreciate yourself. You're doing so well :).

  2. It's a company's responsibility to look after the mental health of their team

  3. Speak to people or friends about how you're feeling. If you're experiencing burnout, communicate to the project's maintainer, other maintainers of the project (if you're a maintainer too), and the project managers.

  4. Learn to set personal boundaries. For example, adopt a policy where you don't work after, say 6:00 PM (you can pick a time that works best for you), or you don't work on weekends. Use your weekends to chill, re-fill, and feed your mind. You can read some books, watch some movies, do some yoga, hang out with friends, go for SPA, have some massage or do anything else that helps you relax.

  5. Rest well, be optimistic and intentional about your healing process

  6. Give yourself gifts and try to develop new hobbies like playing games, dancing, cycling, running, painting, photography, cooking, and lots more.

  7. Take a break from work and travel somewhere based on what you can afford. Just ensure you have a change of environment once in a while and chill. You deserve much more dear friend :).

Burnout and Mental Health session notes

Summary and Conclusion

When we talk about Sustainability, we are talking both and equally about the Sustainability of resources and the Sustainability of its people. We hope you have learned from the results of each working group, and we hope you continue the conversation in your respective projects/companies and implement the ideas shared. At Open Source Community Africa, we commit to helping Africans thrive in the open-source ecosystem as maintainers and contributors. We will continue working with members of the community, OSS maintainers, stakeholders, community leaders, sponsors, and companies across Africa to ensure we sustain the projects spurt out from Africa.

You should also check out the compilation video below where we asked some attendees at the previous Sustain Africa summit (in 2021) what Sustainability means to them. Their answers are amongst the challenges we want to help you solve in your respective projects and communities. Cheers, and let's keep in touch on Discord! 🧡