When people mention or hear about open-source contributions, the first thing they think about is usually code contributions. Until recently, very few people knew there were other really awesome skill sets that could be brought to the open-source ecosystem.
In this blog, I'd try to highlight some of these roles, their importance, and some skill sets/tools you'd need to contribute optimally. While also mentioning an open-source community you can be a part of to volunteer these skills.
Examples of Some No-Code Roles
This section contains some examples of no-code contributions to open source. It contains a brief explanation of these roles, their importance and the various skill sets/tools that would be useful to you, should you choose to contribute to any of the roles listed. I also link some articles that give a step-by-step guide on how to contribute. Let’s dive in!
Documentation:
This involves writing about a project and how to use that project. As a technical writer/documentarian, this is where you shine. You can bring in your skills to build and modify already existing documentation, or you can create new documentation for your project if there wasn't any existing one before.
The Importance of Documentation
It tells the story of the product: Documentation is so important for open-source projects because it tells the story of a product. From the docs, users can get an overview of a project, understand its intended use and solution, and figure out how to use it. Stories are important, and even more than that, they should be told properly.
User onboarding: It is usually the first introduction a user has to a project, so it is important that users get good first-hand use. Documentation should fulfil your users' needs, guide them step by step and adequately on the best ways to use a product with as minimal bottlenecks as possible. All the information the user needs should be available in the docs and so the goal of any well-written documentation should be to achieve the aforementioned requirements.
Record Keeping: Documentation works, not just for external contributors, but for maintainers and creators of the project too. This is because if a change or feature is documented properly, it's easier for them to look through and find it in case that information needs to be referenced sometime in the future.
Skill sets/Tools for Documentarians
Version Control: It is important to know how to use Git as you are an open-source contributor.
Version Control Systems: These are the software that runs on/with Git and make it possible to use Git remotely. Examples are GitHub, and GitLab.
Doc-as-code methods: More projects are gravitating towards the docs-as-code method when writing and building documentation, so it is important to possess these skills in other to contribute effectively. VS Code is an important tool that helps with the docs-as-code method.
Markup Languages/Frameworks: Some important examples of these are ReadTheDocs, GitBook, RestructuredText, etc.
While it is true that some OSS projects don't give a lot of attention to this, mostly because for the most part open source projects are voluntary and most of the people in the community are the devs who build the software, it is good to note that more people are starting to see the importance of documentarians/technical writers. And for those who are still on the fence, it is your role as a documentarian to let them know the importance of good software docs, else, they might never know how much users are using alternatives just because theirs is hard to use.
Design (Graphics, User Interface, User Experience)
As with documentation, this part is also often neglected. Sometimes core maintainers just focus mostly on the code and hope that users don't mind the aesthetics enough to just use the product like that. But that's the thing, users do mind. You just don't get feedback because they probably just decided it was better to find an alternative. Open-source software or not, as long as users get to use it, the experience and aesthetics are important to them. Here are some reasons why.
Importance of Design in Open Source
Aesthetics: The only thing better than an awesome product solving a problem, is an awesome product that looks amazing. An example would be: For users A, as long as it works, then it doesn't need to look good, and for user B, it needs to look good else they probably won't go near it. From this example, we have two user markets - Users A and Users B. An amazing product with poor UI will work for User A, but not for User B. A product then stands to get more acceptance and presence when it caters to both Users A and B. Fixing the UI gets a wider user base.
Better User Experience: An important aspect of design, is creating a seamless user experience. Good UX gives users a positive experience with a product, makes them become loyal to a product,
Potential Contributors: When users have a positive experience with a project, it makes them loyal to the product, and want to help out in any way they can to promote and protect the existence of that product. What this means is, good UX has the potential to bring in consistent contributors to a project.
Skill sets/Tools for Designers
Version Control: Same as with technical writers and documentarians, it is important to know how to use Git as you are an open-source contributor.
Version Control Systems: These are the software that runs on/with Git and make it possible to use Git remotely. Examples are GitHub, and GitLab.
Design-Specific Tools: These could be dependent on the product you're contributing to, but they're mostly tools that encourage collaboration and enable other members to have access to it publicly. E.g.: Penpot.
Messaging Tools: You would have to get familiar with whatever messaging app your open-source community uses, so you can be in the loop and easily communicate with other community members.
As a designer you can extend your skills to fixing the community's website, can create flyers for whatever programs or meetings your community might be organising, and can also fix, or completely revamp existing designs for a product in your community.
Community Management
Open source organisations thrive on communities, and so having people in the organisation who focus on building these communities and sustaining contributors so that they become consistent community members is an important skill set. These people are called Community Managers. Below, I highlight some important aspects of being a community manager and what they bring to the table.
Importance of Community Managers
Seamless User Onboarding: Joining anything new for the first time can be daunting, and sometimes downright scary. But, the difference a community manager makes in your experience is "holding your hands" through the process, giving or directing you to answers to your many questions, and generally making your onboarding process a lot easier.
Community Engagement: It's one thing to have members in a community, it's another thing for them to be active and participate in various events related to the organization. Community managers make members feel at ease in the community, thereby making them feel included and eager to participate in the community. This is one of the best ways to encourage a thriving community, which in turn promotes community growth and sustainability.
Community Sustainability and Growth: As mentioned earlier, once a community has cracked the code to having consistent and involved community members, it leads to building a sustainable community. Because just like marketing, if community members feel welcome and love their communities, they'd automatically want to talk about their communities and get more people to be a part of them. This transcends and produces benefits like:
Getting incredible talents to join the community,
Getting a lot of recognition,
Getting access to donations and funding as a result of a lot of people being beneficiaries and just wanting to see the continuous growth of the community. E.g. FreeCodeCamp.
Skill sets/Tools for Community Managers
Version Control: Same as with other tech stacks, it is important to know how to use Git as you are an open-source contributor.
Version Control Systems: These are the software that runs on/with Git and make it possible to use Git remotely. Examples are GitHub, and GitLab.
People Skills: This cannot be overemphasized, as you're literally going to be the 'face' of the organisation and also probably the first person most people new to your community will interface with. Navigating human interactions and understanding various demographics is definitely an important skill that would be helpful.
Productivity Tools: Knowing how to use software that enables communication, collaboration, and productivity for the community is super important. You're like the engine that keeps the organisation running, and so you need as many tools as possible that could make your work easier and still carry people in the organisation along. Some examples of these tools are Google Workspace (docs, meet, sheet, etc), Zoom, Slack - slack bots too, etc.
Curiosity: Something important a community manager should keep in mind is the fact that you would wear many hats in the community, so being a curious and avid learner would be very helpful in your success as a Community Manager (CM).
Summary
The list is quite exhaustive when it comes to the various ways one can make no-code contributions to open-source. The point is, as long as the skill can be used in closed/proprietary software, it can be used in open source too. You just have to ask, and you'd find a way to apply your skills.
I'd try my best to write more on other no-code ways to contribute to open source, but in the meantime, here are some articles to guide you on the how-tos:
How can designers contribute to an open source project on GitHub? by Kingsley Mkpandiok
Contributing to Open Source - Baby Steps by Precious Onyewuchi
Invitation to CHAOSS
If you're looking for an open-source project to contribute to; code and no-code contributions, come join us at CHAOSS - Check out our website!
Here's an invite link to our Slack workspace.
Also, if you're in Africa we're hosting ChaossCON Africa, the first ChaossCon hosted in the African continent, and it is co-located with Oscafest. Get your tickets here.
We can't wait to meet you!
Follow me on Twitter: @preshh0
Connect with me on LinkedIn: Precious Onyewuchi