Search | Sailfish OS | Running | PineTime | All Posts

Contributing to Open Source without being a developer

July 06, 2021 — Nico Cartron

In this post, I'll discuss some of the ways anyone can help with his favorite Open Source project, even when not a developer.


Rationale

People often think that contributing code is the only way to help with an Open Source project.
While that's certainly super helpful, there's a lot of other meaningful ways to help, which are as important as developing.

So what are the options?

I'm not pretending I'll list all the possibilities, however each item below is definitely critical:

  • documentation,
  • translation,
  • testing,
  • support,
  • design/graphics,
  • donation.

Let's dive a bit in each of those options.

Documentation

Documentation is a super important part of a FOSS (Free and Open Source Software) project.
You can have the best project out there, if there's no documentation explaining how to install it, configure it or troubleshoot it, users will have a hard time.

The thing is, documentation is not the funniest thing to do, so developers quite often tend to do it at the last moment, or expedite it, or not do it at all.
So having volunteers who take over that part is super welcome, and really useful.

Of course this means that you must have installed and used the project, and understand what its goal are.
Level of contribution could be "start from scratch" or simply check that the documentation is still up-to-date, especially after a new version has been released:

  • some parameters could have been obsoleted, but still referenced in the documentation,
  • new features often need detailed explanation about what they're bringing / how to configure them; changelog are meant to give a short explanation, not a super detailed one.

As for the tools used, it will vary from one project to another: it could be a simple GitHub wiki page, or a more complex site with a WYSIWYG editor.

Translation

Not everyone speaks/reads English fluently, therefore having a community translating to other languages is critical.

This is yet another ungrateful task, as it really takes time to do a proper translation: you just don't want to copy/paste something from a translation web site, as those translations are very often rough, lacking context.
So each translation you're doing has to be checked for context, and also that you're not falling into the "English to " translation: for instance, being French I do some English to French translations, and sometimes it's tempting to translate something "as it" - we call it "Frenglish", which means the sentence is grammatically correct, but that's not something you would use on a daily basis.

Tools used are also different:

  • some projects will just have a file per language (e.g. .ts files for Qt project),
  • other uses tools such as Transiflex or Pootle.

Testing

New releases means news features, which have to be tested.
Of course, developers do test what they're releasing, but it's impossible to test any single corner case, with all the corresponding configurations, so having a community of users who are keen to test the new features is key.

Those tests are ideally done with alpha/beta/release candidates versions, which allows squashing bugs before the final version is released.

Again, this does not require development skills: you just need to know the project you're testing, what's it's supposed to do, what are the new features to test, and just test it "as a regular user" and see whether there's any crash, unexpected behavior, etc.
Then open an issue (usually on sites such as Gitlab or Github) to report the problem - by being as precise as possible.

This really goes a long way in helping developing nice newer releases.

Support

This is the continuation of User testing: the vast majority of FOSS projects don't have a business backing them (there are some exceptions), therefore users having issues and need support... well, need a community supporting them.

Support can be done in many ways, and will depend on the medium used by the project:

  • mailing lists,
  • IRC,
  • Discord,
  • Telegram channel,
  • even answering on tweets asking for support is helpful!

Design/Graphics

Edit July 6, 2021: item added thanks to David

Having good design/graphics skills is not given to everybody, so you might have developers very good at developing, but not so good with design/graphics.

Again, helping here can take many different forms:

  • design a logo, an app icon or buttons,
  • adding some nice graphics to an application,
  • helping with graphics for a web site.

Donation

This is an obvious one, which is why I put it as last possibility.
If you're happy with a FOSS project and it helps you, or you're using it on a daily basis, then consider donating to the project!

You don't have to give €1,000 (or whatever is your home currency), even small donations count - most of FOSS projects are led by a single, passionate developer, or a small team, so having some regular donations can help in e.g. acquiring new devices to test the software on, or paying hosting bills, or even "pay me a beer" kind of donation, which are also appreciated by the devs :-)

Are you using Wikipedia once a month, or even more? Then give €10 or 20 once a year (I do it every January usually) as a thank you!
And of course it applies to a lot of the projects you rely on every day.
I'm not saying you should spend a fortune every month on that - hey, we all have bills to pay! - but think about 2 or 3 projects that really matter to you, and act accordingly.

One last option: spread the word!

This one is probably the easiest one: like a project? Why not spreading the word on social medias, or when discussing with friends, or when someone asks "can you recommend an app/project which does blah blah blah?".

Wrap Up

That's it really - I am involved in a bunch of FOSS projects, and am not contributing to all of them in the same manner, but I am using each of the above options at some point, and hope you'll consider doing the same after having read that article!

Cheers!


Tags: Opensource


I don't have any commenting system, but email me (nicolas at ncartron dot org) your comments!
If you like my work, you can buy me a coffee!