New to Linux and the open source world? We have compiled a huge list of resources to help you go through Linux and its distributions. Visit the full Linux guide page right now.


Many users of open source software may feel the need of giving something back to the community that gave them all of these benefits they are enjoying, but my face an obstacle of being unexperienced. Average users may not know how to code or design, and hence, may just give up on contributing anything back since they do not have the necessary skills.

But that’s not true.

Today we’ll see some ways in which the average users of open source software can contribute to these projects, even if they have no experience at all. No designing, no programming… No issue, you can still contribute to open source.

Ways to Contribute to Open Source

Reporting Bugs

The first thing you can do in order to support your open source projects of choice is reporting bugs. Simply check for any bugs or issues that you may be facing in that software and report them to the original developers in the fashion and format they have requested.

Reporting bugs is a great deal for open source software; It makes it more polished, stable and useful on the long run for other users and hence can bring more users in the future to use it and keep using it.

While it may take some time to formerly submit a bug report and continue providing feedback over time to make sure that the bug is fixed, it still helps a lot even if you just submit the initial bug report. Because now, other people who’ll be facing the same issue as you will be able to find that bug report on Google and build over it instead of starting from scratch.

But what sadly happens to most people is that they search if someone had already reported the bug they are facing, and if not, they just switch software or move somewhere else without reporting the bug, because they think they’ll have to keep updating and contributing to that bug report until it gets fixed. The “desire to perfection” prevents them from doing that act of good.

It is important for you to understand that this is not necessarily true; You can just submit the bug reports – in the most helpful and detailed format you can do – and then continue your life without looking back.

Others may try to reproduce the bug or may add more details to it over time, but you have done what you could and that’s good enough.

Reproducing Bugs (Testing)

The previous part leads us here. Since there will be some reported bugs and issues which are not fully documented and reported by others, it would be extremely efficient if you – as a 3rd party – came and tried to reproduce the same bug on your machine.

“Reproducing Bugs” means that according to the same steps and conditions specified in the original bug report of the reporter, you’ll try to do the same steps and see whether the bug happens for you too or not. This is important because some bugs may be specific to some user setups or hardware configurations, and your testing would help a lot in making things clear.

Clearly, these bugs may not be bugs that you are personally facing, they may be even bugs which you are not interested about at all. But since we are talking about “ways to contribute to open source” then we mean ways of improving open source, and this is an absolute method of doing so.

You’ll be saving the original developers a lot of time in debugging and checking whether this is indeed a bug in their software or not.

Spreading the Word

One of the nicest things you can do to contribute to open source is spreading the word; Simply do your best to attract more users to that software and make the world hear about it.

While many open source software are extremely efficient and great in doing what they do, you may find very small communities around them due to the absence of marketing efforts. Marketing is extremely crucial for open source software, because usually with the lack of funding, no one will be able to market that project and make more people learn about it. Which is why your contribution in this area could be helpful.

Linux for example, as a whole, has a marketing problem. Linux is indeed much more better than most operating systems out there, but many people think otherwise due to the misconceptions and old stereotypes they have about Linux and the people who use Linux. This problem happens because no central entity exists that is interested in marketing for Linux as a whole; You’ll probably never find a TV advertisement telling you to use Ubuntu, or switch to Linux Mint, simply because there will be no profit for anyone in doing so.

Notice how although Linux is a large project with huge community behind it, the lack of funding and organizing for the united “marketing cause” rendered the entire ecosystem less known for others. Compare that to your open source project of choice and you’ll definitly see that it has an even less chances of being known than that.

You could spread the word about your open source project via:

  • Participating in user forums on the Internet and mentioning the name of the software wherever suitable.
  • Making online tutorials, YouTube channels (Videos), support channels and other community platforms to engage the community in using that software.
  • Making social media groups and pages to promote that software.
  • Simply recommending it to a friend whenever they try to solve a similar use case as that of the software.

There are many ideas that you can implement after just 10 minutes of thinking.


Another possibility to support open source software is donations. Choose the projects you use the most each day and support them financially with whatever you can.

There are some recurring platforms out there to fund open source software, which you can use to search for the projects you like and keep donating to them with a small amount on monthly basis. If that doesn’t suit you, then you can explore the website of that project for some one-time donations methods and see what can you give.

You’ll be most likely able to donate using PayPal, Credit Card or via cryptocurrency transactions like Bitcoin.

Donations are very motivating for open source developers; Regardless of how small, they mean a lot to developers, because it sends them a deep message that someone was ready to support them with that money rather than spending it on their selves. It reflects the act of developing open source software itself for others, which is why it is really motivating.

Some people may find their selves too poor to donate, and while this might be indeed the case, a lot of us may be spending much more than $40 or $50 on trivial things during the entire month. Rather than going to Starbucks someday during the month, you can use that amount of money to support your projects of choice and enhance the world a little bit for others.

Not Being a D#!k

If you would like to ask the developers of an open source project to implement a feature or fix a bug for you, then it would be very helpful to ask kindly rather than ruthlessly.

Some people think that just reporting bugs or requesting important features should make the developers instantly start working on that bug or feature. But those people are forgetting that open source software developers are not obligated at all to do any type of work; In the same way users can take the open source software and just use it without giving anything back, developers are also not required to give anything back when someone takes the effort to report bugs or request features.

It is a hard truth that many people face when they contribute to some open source projects: “I have reported this 3 months ago why isn’t fixed until now??”. The truth is, it may never be fixed at all, depending on the time and effort needed by the developers to do it and the priorities they have.

While “open source” does not necessarily mean “free”, it does in 99% of the situations. When someone is giving you the product they worked on for months and years for free, then it should be very straightforward to be polite and kind when asking for modifications or enhancements to that thing, if you shall ever request in the first place.

Don’t take software for granted.


So we have seen some good methods in which you can contribute to open source software, even if you had no technical experience at all. Doing the previous things should be quite straightforward and possible for the average Joe who wants to give something back.

If you have any other similar ideas about contributing to open source software for dummies, we would love to hear them in the comments.



  1. David M. Dickerson

    December 23, 2020 at 9:17 pm

    Greetings, Hanny!

    At the outset (and because this comment is my first), thank you for founding FOSSPost your ongoing and impressive writing and editing in FP, and for your many contributions to free software.

    I\’ve been using GNU/Linux for almost twenty years — running Debian as my primary computing platform for most of that time — and, despite being in the unfortunate position of being unable to afford an associate membership to the Free Software Foundation, I follow news and respond to activist alerts from the FSF and have been researching high-priority software projects and trying to find, ideally, a volunteer opportunity that overlaps Debian GNU/Linux and — although such a serendipitous intersection probably is quixotic and unlikely.

    I have actually been making contributions that you suggest in your excellent article, although you make additional suggestions that I will take to heart (and action) — suggestions that I am sure will be pleasant news to pepple who perhaps mistakenly have assumed they have be able to code (and/or perhaps know basic HTML5 or CSS) and have underestimated just how much they can contribute as nonprogrammers.

    Debian actually includes a pre-installed package, Reportbug, that makes it simple to report bugs to the Debian BTS (Bug Tracking System), although users of free software obviously can report bugs regardless of their GNU/Linux distribution — or even if they are using free software on a proprietary platform.

    Unfortunately, Hanny, your section, \’Not Being a D#!k\’, is probably an essential one, because \”netiquette\” is rarely (if ever) mentioned nor basic courtesy followed, Plus, people probably don\’t pause to think that perhaps their online review of a free software mobile app, for example, is not the appropriate place to describe (report) a bug — especially for a popular app with a single developer (or small team) who are very busy working hard to \”squash\” bugs (issues) submitted via GitLab or GitHub, for example — as well as add features (some requested by users via the project\’s BTS) — and online platforms for reviews (such as Google Play, although I recommend checking F-Droid first for free software for Android) typically have contact information for the developer — who deserves the courtesy of a bug report instead of a one-star review based on a bug (or a perceived bug caused by a user\’s specific hardware or system configuration).

    One volunteer opportunity that just about every free software project and GNU/Linux distibution offers — and there is a wealth of choices to match a contributor\’s interests or favorite project — is, of course, helping with documentation, including user manuals, wikis, and short documents such as README files.

    I\’ve been writing documentation (among other vocations) for software and hardware for decades, with a bachelor\’s degree in Engiish Literature (and a minor in Classical Studies, including three years of Latin 😉 — and eventually took a college course in ANSI/ISO C programming, while hand-coding Web sites and doing UNIX administative work (and my emphasis is that I did so without a formal computer science background, and pointers in C still scare me ;).

    Given the real need for documentation for free software projects, \”if I can do, you can do it\” applies — and free software needs documentation and translations in multiple languages.

    I got \”hooked\” on computers (an Altair 8800, Hazeltine 1500 terminal without arrow keys, CP/M and WordStar, and a Daisy-wheel printer) as writing tools when working on my senior honors English thesis in college, but — despite the terrifying feeling of having admin/root privileges as soon as I started volunteering for a nonprofit in 1989 that ran SunOS UNIX (proprietary, pre-Linux kernel) — installing my first GNU/Linux distro was easier than installing Windows NT 4, and Linux detected my hardware, which WinNT couldn\’t do!

    Again, you may be running free software on Windows or macOS (or a mobile device), and you do not have to run GNU/Linux to contribute to free software.

    Make certain to choose a project you know and *love*, because, if you care about the free software project, you will definitely enjoy contributing — and I speak from experience.

    Hanny\’s article is articulate, clear, and an ideal first step in contributing to free software!

    Thank you, again, Hanny, for the article, and all you do via FP, and in so many other ways!



    P.S. — I have no formal affiliation with the Debian Project, but am following Hanny\’s advice on advocacy and including Debian\’s URL with this comment. On the newly designed home page is a prominent link, \’Get Involved, Contribute\’ ;).


    • M.Hanny Sabbagh

      December 23, 2020 at 9:42 pm

      Hello David and thank you for the kind words.

      Your comment contained excellent additions to the article. I think I totally missed the translation and documentation parts, as they are some of the most important ways as well to contribute to open source for those who are not developers/designers. If more people contribute to translation and documentation, then the entire open source ecosystem may grown larger in the local communities around the world.

      I think I might update the article in the near future with these two sections if I have time.

      Thank you again for your kind words and comment.


  2. David M. Dickerson

    December 24, 2020 at 12:18 am

    Hello, Hanny.

    Thank you — and you are welcome.

    Free software and GNU/Linux have enriched my life so much — professionally and personally — that I want to try to give something back and (unfortunately) financial donations have not often been possible.

    Your article on contributing — by volunteering time and making an effort to join the community (or communities) of your choice actively and with courtesy and kindness — is a well-written and valuable resource.




Leave a Reply