How Non-Technical Contributors Can Make a Difference in Open Source
Many of us use software for work every day: for research, communication, or just entertainment. A lot of that software is readily available and free to use because of open-source development work.
Open source powers many of the capabilities of the tools we use. Without it, a lot more software would be proprietary, monopolized, or prohibitively expensive. Because of these reasons and more, Stack Builders highly values contributions to open-source software.
Both technical and non-technical contributions are required in open-source projects. These skills often overlap, but the non-technical contributions are crucial in enabling projects to thrive.
Why Open Source Matters
Loosely, the definition of open source is: that anyone can see the source of - and everything it takes to make - a piece of software, and that anyone can also contribute to that software. Viewing, modifying, and distributing this information fosters software collaboration, innovation, and transparency. It often costs less, is more customizable, and is immediately accessible to a vast audience, enabling huge communities.
Open-source software spans many industries both inside and outside of the technical realm, ensuring freedom of choice and the ability to sidestep vendor lock-in.
This is at the root of what open-source means and what the movement behind open-source development believes in. With this, anyone can help level the playing field for people or companies of all sizes.
There are Diverse Ways to Contribute
Projects need all kinds of work to be done, beyond just coding. Anyone can contribute to open source projects and there are many ways to do so with low-code or no-code options.
Here is a non-exhaustive list of areas people might contribute to:
- UI and UX designs
- Graphic Design
- Documentation
- Community
- Testing and QA
- Translation
- Administrative duties
- Marketing
Non-Technical Contribution Ideas
Below you can find some ideas for low-code or no-code contributions and the reasoning behind them. These are far from the only options - almost every professional skill someone has can become a valuable contribution to an open-source project.
Visuals
UI designers or UX experts can easily create something non-code related to add value to open-source software. They can help with the part that the people who use the software interact with - the interface! If interfaces are well thought out, that goes a very long way towards improving the usability of a software product.
Beyond the UI of software, other graphical assets are required. Logos, splash screens, product visuals, and marketing assets are some of the pieces that someone with graphic design skills could help with.
Documentation
Reading a project’s documentation is often the first step someone takes when looking at software, even before they try it. Most for-profit software businesses understand this and more-or-less adequately fund documentation of their products; but since open-source projects tend to be all-volunteer, documentation is often an afterthought or entirely absent. Thus, technical writers can make a massive difference in how approachable or understandable an open-source project is to people of all skill levels.
Users can write other documentation, too. Community members can put together examples of the usage of the software, which can be helpful when expanding or improving a project.
Community of users
Speaking of community, often, there is a need for someone to get the word out and the ball rolling for these projects. Advocacy of the software is something anyone who has used it or believes in it can do.
If the community grows large, such as the Mozilla community, it could need a manager or dedicated project space to oversee or guide it.
Projects may also require additional administrative or financial support as they grow. Someone with knowledge of the Legal and Licensing areas of software could add value at all points in a project's life cycle.
Reach
Increasing the reach of software could be handled by someone skilled in marketing. Creative marketing solutions that connect with the audience can be very successful for more niche types of software.
If you’re multilingual, the translation of documentation and interfaces will allow the software to reach wider audiences and be useful for many more people as well.
Testing and Using
Testing and quality assurance is an often overlooked part of software development--even in the for-profit software world, and even more so in many open-source projects. Anyone who works in a team developing software or systems appreciates extra eyes to review things.
User support helps people experiencing problems get them resolved and can also help people get started with the software. This could involve helping with project management of the work needed to be done in the project and triaging issues.
What is GitHub?
A lot of open-source projects host their code and other assets in online repositories, making it accessible to many people. GitHub is one of the most popular choices. In order to take full advantage of GitHub you must first create an account.
GitHub is a web-based system that provides access to software with collaboration features. It allows developers to build software with version control (a Version Control System or VCS for short), issue tracking, code review capabilities and more. It provides streamlined workflows to enable effective collaboration from many people into any number of projects.
The name GitHub comes from the software that it relies on as the VCS. It is called git - which is itself an open-source project. The git software has some concepts that you need to know about:
- Commits are records of individual changes that are made. A commit includes the desired changes and a short message where you can add details of what changed and why. Commits are added to branches.
- Branching in version control systems describes the process of diverging from the main project path. Changes made on a branch can be merged back into the main project at any point, provided there are no conflicting changes.
- The term 'branching' originates from version control naming conventions, where the primary development path is called the 'trunk' or 'main' branch.
Overcoming Challenges
Much of the systems in use for developing and distributing open-source projects are geared around code contributions. That brings with it some challenges for non-technical people.
The first of these is navigating your way around software built by and for software engineers. Some of the conventions will seem foreign or confusing.
Not all systems support tracking for every possible kind of contribution. For example, if you contribute to testing that finds a bug or discovers an enhancement - but someone else makes the code change - then your contribution might not be recorded in the history of the project.
Project maintainers understand this and can work with you to track your contributions. The most common way to track non-code suggestions is by using GitHub issues. This provides a space to document, outline, and discuss changes.
Issues can be linked in commits and merges, connecting your contribution to the changes that it resulted in. Different projects will have different methods of tracking the value and contributions of non-code changes, so make sure to ask about this in the projects.
The Impact of Non-Technical Contributions
In the vast landscape of open source, your contribution may feel like a drop in the ocean. However, drops in the ocean create ripples. Ripples of change. Your ideas, your code, your feedback—they all matter.
The time and effort given to any open source project holds a value that isn’t always clear on the surface, but the ripple effects reach far beyond that initial contribution. Remember that anyone, regardless of technical skills, can make a meaningful contribution to open source. Start planning your first or future contribution today!
One of the most significant examples of a non-technical driving force of all time might be Steve Jobs. The technical contributions of Steve Wozniak and the non-technical contributions of Jobs are the synergy that resulted in the Apple brand that we know today.
In Conclusion
At Stack Builders, open-source software and contributions to projects are promoted throughout the company. Many of the tools we have created are shared with the open-source community. Our team is encouraged to contribute back to other projects as much as possible as well!
Stack Builders is always looking for enthusiastic, community-oriented people to join our team, so check our open listings or reach out to us so we can chat.