Most people make use of free and open source software—or services based on it—that is made available to the public for free. And I mean free, not services that you pay with your data, but those that are truly free of cost. Projects that rely on donations, grants, and the resources of the maintainers (and most of the time it's only the latter). If you are a heavy user of FOSS, you are probably already aware of this, but even if you are not a big user, you probably still use Wikipedia (or other sites based on the same engine), the VLC media player, or others.
These programs are great, not only because they are universally affordable (have no cost!), but because they are focused on the user. Their goal is to serve the user, not the developer, which often involves software that is more private, useful and easy to adapt to your needs. Software that doesn't break after a couple of years, and that keeps working even on older devices.
But this post is not about how great FOSS is, but about helping out these projects. All projects have a cost, if there is no monetary cost, then there must be people behind it contributing their time and energy. If you regularly enjoy some of this software, consider giving back to the developers. This kind of project normally requires a lot fewer resources than commercial ones, and even then, the maintainers normally carry most of the burden. By helping out, we can enlarge the community and have more people working on it, as well as help current projects grow. How can we help? Glad you asked!
- Donate: It's easy, doesn't require a lot of your resources, and it helps. My biggest issue is normally convenience. If every time that I have the thought "this is very useful, I should donate", I could press a button to give 2 euros, I would probably do it. The problem is that there is no such convenient button. My most successful strategy has been thinking about a handful of projects I wanted to donate to, and then sit down on my computer and donate a bigger amount to each one of them. This way I only have to do it once every so many months, instead of a little donation every two weeks.
- Report bugs: Instead of complaining that something doesn't work, take some time to make sure it's something about the program (not just you messing up) and, if it is, go to the project's bug tracker and either provide more details to an already open issue or file a new one if you can't find it there. This is can be more time-consuming depending on the bug, but it's free (except for the time you pay, of course :)).
- Translate: This one takes even more time! Is that program not in your native language? Translate it yourself!
- Send patches: If you want a new feature, there is an annoying bug, etc., consider jumping into the code and implement it/solve it on your own (or asking for some help doing it).
There are other ways to help (feel free to contact me if you think of more and I'll add them), but these are the ones that come to mind. I partially wanted the post to be a reminder that donating money and coding are not the only ways to help. In particular, reporting bugs is something most users will be able to do and it helps—you can't fix it if you don't know about it. On the other hand, depending on the project, such bugs will get fixed in a matter of days, so you'll be able to reap the benefit.
Enjoy a project? Help out!