Open Source advocate. I transitioned from marketing and into tech because I wanted an environment to explore my creativity and desire to build cool stuff with technology. Thanks to my marketing experience, I can comfortably communicate complex technical concepts to diverse audiences. I have built full stack projects, written technical content for SaaS companies, and I have contributed to Open Source organizations such as Jenkins, CHAOSS, Flowbite, Medusa, and Novu HQ
that’s freely available for anyone to use, maintain and improve. There are many technologies that we use on a daily basis that are Open Source. E.g • Frameworks like Vue.js, & AngularJS • Languages like Python, Java • Databases like PostgreSQL • eCommerce platforms like Medusa • Operating Systems like Linux, and Mozilla Firefox What is Open Source Software
their development goals. OS has become an integral part of the tech ecosystem and helping companies meet their goals is a great way to be actively involved in the tech ecosystem. • It’s a great way to learn how development teams operate and get things done. You’ll learn the Git workflow, how to write issues, how to submit pull requests, how to merge your contribution to the larger codebase, you’ll do code reviews, among other benefits • You network with more experienced tech professionals and fellow peers who can be instrumental in your career growth.
work on is often a challenge because we're often just given a list of projects to contribute to. But often times, you’ll go to a project’s issues’ tab and all you’ll see are user-generate issues with no idea on how to contribute and no clear guideline on how to contribute, (even with a contribution guideline in place) NOTE: user generated issues, are issues raised by someone who’s not part of the organization and has expressed interest to work on. Too many issues, No clue where to start
can create an illusion that all projects are Open for everyone to contribute. So you might get frustrated when you actually check the contributing guidelines and discover that each project is unique, and has a strict process to contributing. For example, FreeCodeCamp is an open source platform but they are currently working with a closed group of contributors. Other OS projects may have restrictions on feature requests. Not all Open Source projects are “Fully” Open Source
Open Source projects with your personal commitments • Poor documentation on projects. (This can be a great opportunity to spearhead a project’s documentation) • Poor communication from maintainers. Especially when they close a project without notifying contributors early enough
pull requests • Clean up issue pipelines. This helps in closing state or inactive issues Advanced • Build new features for their platforms. You can join ongoing projects, and start working on smaller components before working on bigger features. • Create plugins • Code refactoring • Create an Open Source version of popular platforms • Collaborate with other developers to create a group Open Source project • Solve a problem you’re currently facing and make it Open Source Open Source Contribution for Developers
Tutorials for developers using OS tools • Documentation edits to remove errors, update code, or update tools used in the docs Advanced • Version update documentation • New feature release documentation • Integration guides - when pre-existing software integrates with new tools • (Both Developers & Technical Writers can do this. Writing can be beginner friendly or advanced depending on the project’s complexity) Open Source Contribution for Technical Writers
daily to weekly basis is good • Check the type of issues raised by taking note of the labels. It can be a bug, an issue where someone requests for help, feature request, etc • Filter the labels to your preference, e.g. documentation, (or docs), help wanted, etc • Check the comments tab. Most times if there are comments, the issue is being handled by the people in the conversation. You can still check because some issues could be stale, or the contributor dropped off the projected. In which case, you can pick it up. • If the issue has no comment, open it and read through the issue report. If it’s still relevant, you can comment and ask if the issue is still active and if you can work on it. • Turn on notifications for issues under the “Unwatch” tab. You will be notified when new issues are created Step-by_step guide to finding issues you can contribute to:
maintainers or project leaders. If the issues are often raised by the senior team members, it means that you have direct access to the project’s maintainer. They can easily assign you upcoming issues to work on. To know this, check the person who posts issues • Join OS Slack channels or Discord servers to be in the know of product roadmaps and new releases. An example is Novu HQ. • Contribute to OS projects that you use in your workflow. E.g. I started contributing to a startup because I used their templates in a tailwind project. I reached out to the founder and he assigned me a documentation project • Check platforms like the Linux Foundation, Ovio, Aviyel and identify organizations you’d like to work with. You can easily view the active status of a project to know how active they are. How to find (Active) Open Source Projects- Pt 2
maintainers or project leaders. If the issues are often raised by the senior team members, it means that you have direct access to the project’s maintainer. They can easily assign you upcoming issues to work on. To know this, check the person who posts issues • Join OS Slack channels or Discord servers to be in the know of product roadmaps and new releases. An example is Novu HQ. • Contribute to OS projects that you use in your workflow. E.g. I started contributing to a startup because I used their templates in a tailwind project. I reached out to the founder and he assigned me a documentation project • Check platforms like the Linux Foundation, Ovio, Aviyel and identify organizations you’d like to work with. You can easily view the active status of a project to know how active they are. How to find (Active) Open Source Projects- Pt 2
have an vibrant online community online, they hold regular office hours, the community leaders are supportive and responsive, and they communicate on those platforms regularly. Good examples are: ◦ Layer5 ◦ Jenkins ◦ Supabase ◦ Novu HQ ◦ Open Source Community Africa - They are a community, but they often create short-term projects for members to contribute to How to find (Active) Open Source Projects-Pt 3
Open Source program offered by She Code Africa. They partner with various OS companies and provide tasks that you need to complete during this period. Their application is currently ongoing and mentees are paid $500 for the 3 month program. • Google Season Of Code This is an Open Source initiative by Google, where they partner with various organizations to run short term projects that selected participants can contribute to. GSoC is a technically intensive program, where most organizations require you to have good experience in software development. Some organizations work with students, so it’s also great for people still in school. Applications are currently closed, but you can get in touch with project maintainers to start contributing. This will build up your reputation and position you better for paid opportunities and for the 2024 GSoC.
The projects will run for 3-6 months and technical writers will get upwards of $ 1,500, depending on the project. Each project is unique; some require extensive experience in technical writing, others may not be so strict on their requirements. • Apply to jobs that favour Open Source contributions Most companies are now adding Open Source contributions as a nice to have in their job applications. You may contribute on projects for free, but the experience will make you stand out in interviews. • Contribute to Open Source Projects with Enterprise Divisions These are companies that offer their product tires as Open Source and Paid features. They often scout for talent within their communities when hiring and will prioritize people with their product’s experience
project that you can scale with or that which you can grow with. • Narrow down your OS projects to those that are relevant to your career growth. It’s a great way to make more impactful and significant contributions. • Work on projects that have active maintainers who are also keen on growth. You want to avoid projects where maintainers are not actively involved because it could lead to you working on stale issues. • Be intentional. Set time aside for Open Source. Use this time to dig deeper into projects, and learn more about them Making the most out of your Open Source Adventure: In Summary