Tags: programming, software.
By lucb1e on 2014-04-09 23:52:15 +0100
I'm running GNU/Linux right now. For free. I can do pretty much everything Windows users can, and it's all free of charge and open source. According to Wikipedia, the kernel alone is worth billions of euros in development costs, let alone the three thousand other packages I have installed. Or the hosting costs of providing me with all these packages plus updates.
Every time I pause to look at what I'm running and realize it's all done by others for free, I feel like I'm in their debt. They wrote millions upon millions of lines of code and everyone can use it for free. If we hadn't had GNU/Linux or similar projects, lots of products would not have worked as well as they do, or would have been much more expensive. Android would have needed to find another kernel, Tesla cars could not run Ubuntu, and our television and set-top-boxes would have needed to find another operating system.
It's amazing how much GNU/Linux is worth, not just in terms of development costs but also in terms of how much wealth it creates. I feel extremely insignificant when looking at it like this. How can I possibly contribute back to the community as much as they have given me?
I can't. And I needn't try. But I need to do something.
For example, in the past I have contributed to the FileZilla project, writing code to create a new, empty file on the server. Have you ever noticed that option in the rightclick menu on the server side? If you're a developer, odds are that you used it at some point. My few lines of code had a relatively amazing impact if you think about it. If it saved 100 000 developers ten seconds, and a developer's time is worth 25 euros an hour, then that code saved people close to €7000.
Do I need to get €7000 for that work? No, not at all. It was two evening's work and the first time I did something useful in C++.
So you needn't repay as much as you're given. But as a developer, you should contribute to open source projects. You can make a huge impact by donating, say, 1% of your waking hours to open source projects. On a monthly basis, that would be 5 hours or roughly one Saturday afternoon.
If you feel anything is missing in a project, like a feature that you could really use, try to improve it! Not only will you help yourself, odds are that many others will feel the same. There are so many improvements to be done that others just haven't gotten around to yet... help yourself and change the world.
Or if you notice someone else has trouble with open source software, perhaps you can improve it for them. Not everyone is a software developer after all, and I wouldn't want to have to fix my own car. It's a good thing people specialize in something, but that also means we need to help each other.
And finally, if you notice something is missing in closed source software, you can use the open source variant instead. For example if you want to change something in Microsoft Office, you can always change it in Open- or LibreOffice and use that instead. (And if you think LibreOffice is not as good as MS Office, it's because we had to spend way too many hours trying to interpret the unreadable .doc format. Hint: MS Office supports Open Document Formats since version 2007.)
Spend time contributing to open source projects. It doesn't have to be much, but create features that you yourself want to use. Odds are that it will be a great help to many people.
By the way, contributing also includes side tasks like testing (for normal or security bugs), hosting, fixing bugs that others reported, maintaining wikis, spreading the word, etc. Many things to do, but again, even one percent of your time can change a lot!