6 non-code contributions you can make to open source

No readers like this yet.
Open in sky

Nasjonalbiblioteket. Modified by Opensource.com. CC BY-SA 4.0

Contribute to open source! It’ll look great on your resume! It’s gratifying work!

You may have heard people make these statements, or ones similar to them, numerous times throughout your career. They’re not wrong—contributing to open source is a rewarding endeavor in multiple dimensions—but, when software engineers advise other software engineers to contribute to open source they usually mean code contributions. This is a fair assumption to make, but the reality is that there are numerous opportunities to contribute to open source without writing a single line of code.

How? Let’s run through some of the non-code opportunities to contribute to open source. 


Non-code contributions to open source often involve evangelizing on behalf of the project. If you’re in love with the latest JavaScript plotting library and use it for all your data visualization needs, consider sharing that expertise in a technical talk. This is a great way to develop your own reputation and to attract more users to the project.

Report bugs

More users means more bug reports. More bug reports means more bug fixes. More bug fixes means better software. That’s right! You’ve now indirectly, but meaningfully, contributed to the improvement of the software without writing a single line of code. 


Sometimes those bug reports can be a little….well, sparse on the relevant information. It can take a long time for the core developers of a project to work with the author of the bug report to fully understand the scope of the problem. This valuable time can instead be dedicated towards the development of the project. That’s where you come in! Guiding first time bug report authors through the process of writing a good bug report is a valuable and nuanced process that can save the core team of any open source project many headaches. This might involve that you write a little bit of code but ideally you would be mentoring another developer through the process.


Now if you are not fond of public speaking and don’t fancy bugs (and I can’t blame you), you can write words, not code, in the name of open source. Informative blog posts about the particular project are useful and once again attract more users to the project (and all the goodness that comes with). If blog posts are too extensive an effort for you, consider answering questions about the technology on mailing lists, StackOverflow, or Twitter. This is a great way to not only develop your own knowledge about the technology, it contributes back to the collective pool of information available about it.

Host a meetup

If you’re an outgoing and obsessive project manager like me, you might consider hosting workshops or starting a Meetup in your town around the specific open-source tool. This gives you a chance to build non-digital communities around the project. These communities can be valuable for individuals who can’t afford to be online all the time (yes, they exist and yes, they matter) and for individuals who prefer to put a face to an avatar when interacting with other users about software.

Improve security

Finally, something that is often overlooked in some open-source projects is security. If you have experience with cybersecurity or security testing, consider donating your skills for the improvement of the project. Finding and providing fixes for security holes is a direct way to improve the software and the user experience around the project.  


I never liked the term open source because it forces developers to think within the narrow confines of bytes, bits, and 80-character wide lines. Open source is so much more than that. It’s about open knowledge, open sharing, open growth, open learning, open debate, and a constant push forward. Most great software wasn’t created in front of a computer and there is no reason you should limit your ability to contribute to open source by a text editor and a keyboard.

User profile image.
Safia is an energetic software engineer with an interest in data science for social good, intelligent interfaces, and great coffee. Follow her on Twitter. She is the founder and fearless leader of dsfa, a professional services startup aimed at providing data science services to small businesses.


Well, I'm probably bias, but I love the term "open source" - shocker!

I think the term I get most frustrated with is "developer." Developer, within the software community is most commonly associated with software development, but development is actually quite commonly used in other sectors, and includes roles directly applicable to open source communities.

Want to help the project find new members and promote engagement...
Community Development: "a process where community members come together to take collective action and generate solutions to common problems." - The United Nations (http://unterm.un.org/DGAACS/unterm.nsf/8fa942046ff7601c85256983007ca4d8…).

Are the folks working in your project/community working together as best as they can...
Organization development: "dedicated to expanding the knowledge and effectiveness of people to accomplish more successful organizational change and performance." - Wikipedia (https://en.wikipedia.org/wiki/Organization_development)

Open source projects need money too...
Development (fund-raising): "the building, over time, of a continuous, powerful and life-long connection between a donor / philanthropist and the organization or cause we represent." - Campbell & Company (http://www.campbellcompany.com/news/bid/105288/Fundraising-vs-Developme…).

Think your project is just as good as proprietary options...
Brand Development: "the ​process of ​improving a ​brand or ​improving ​customers' ​knowledge and ​opinions of a ​brand" The Cambridge Dictionary (http://dictionary.cambridge.org/us/dictionary/english/brand-development).

Looking to find commercial partners...
Business development: "the creation of long-term value for an organization from customers, markets, and relationships." - Forbes (http://www.forbes.com/sites/scottpollack/2012/03/21/what-exactly-is-bus…)

Want to help your programmers or users learn more about the project...
Training and development: " concerned with organizational activity aimed at bettering the performance of individuals and groups in organizational settings." - Wikipedia (https://en.wikipedia.org/wiki/Training_and_development)

All of these roles play an important part in furthering the project and should be valued just as much as the valued work undertaken by those writing software. So I always try to recognizes and embrace *all* the developers who make open source software.


I for one am trying to get into the world of writing code and programming. I have downloaded some books (pdf format!) that I've read cover to cover, but I STILL don't know how to "code"! Its to the point where I'm thinking that because I’m 44 years old that I might be too "aged" to code?...either that or I'll have to find some actual courses that will teach me what I want to learn (Ruby....Python....SQL.....and maybe some HTML5?...I'm not really sure...) all I really want?...is a chance to contribute to some program or application and make a difference....(not to mention I hear there's a shortage of developers and programmers...so there's probably some good money to be made?...)

I always get a lot more out of video courses than I do from books. Maybe try those instead.

In reply to by Eddie G. (not verified)

Hi Safia,

I really like your conclusion from the article. I would like to make a short comment on it. You say that you never liked the term "open source", which sounds to me like... Richard Stallman ;) a father of free software movement. Why am I doing this comparison? Because thats what is actually missing in this article: please say "free software" to emphasize the importance of freedom and the community. Free software is a social movement; it's a community of people who fight for freedom in the area of the computing. And yes, we have developers too :)

IMHO, Open Source is a step in the right direction but nowhere near the end goal, which is Free Software.

In reply to by Konrad Talik (not verified)

How about not using the term 'non-code'? Ever get the feeling that this kind of language is not inclusive? it communicates that contributing to code is the highest order contribution and everything else is secondary. How about just saying "6 contributions you can make..."

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.