I am a free software user and student. The more that I read and learn about free software communities, the more that I discover really well done software applications, the more that I get surprised about how so many people is involved in free software communities.
When I first thought about how to contribute to free software, the first thing that came to my mind was to contribute with code, implement new features to a certain program, and so on. But many fears appeared around the idea of developing software. I was stucked in my internal deliberation: “Although I studied computer science, (or maybe because of this!) it cannot be said that I am a developer. I never worked as developer. I don’t like to write code!. I prefer system administration tasks (ok, I have to write configuration files and shell scripts, but you will agree with me that IT IS NOT THE SAME). Because I can read and understand code, I am totally aware of how difficult is to write good code. Because of my job as a humble system administrator, I am totally aware of security requierements, cross-platform requirements, and all that things that I “suggest” to take into account to my colleagues developers. And after writing the code, you have to maintain it. You are chained to your code for the rest of your life.”
On the other side, I feel very thankful to free software community because I could reuse and modify existing code when I needed something, without starting from scratch. So should I overcome my fears and jump into the free software developers world?
To be honest, I am very happy knowing that there are lots of ways to contribute to free software different than being a developer. Probably the most important thing for me was not the fears but the dislike of programming. My plans about contributing to free software are leaving apart the “writing code question” (by now) and I am centering of other type of contributions that I will explain below. However, I will write down a few reflections on this topic that I will take into account for not closing “forever” the door of writing free code:
- If you like programming, you should find the way to overcome your fears. Many people enjoy participating in free software communities as developers, so why not you?
- If you are a volunteer, you are not obligated to anything. It would be desirable that you are a responsible person and take care about the code that you write, but nobody can really force you to do that. Free software communities are bold about this, if you are communicative and explain your circumstances they will help you to find the suitable area for you to contribute (maybe small parts or easy things).
- As for anything, first step is look and learn. You can have a look at the developer guidelines for the project you want to contribute, join the developers mailing list and begin to learn how that community writes and acts. A useful starting point is trying to post patches for fixing bugs, and inspect other people’s patches, before than beginning to develop a new feature from scratch.
- Don’t assume any stereotype about the community you join; it is common to find all kinds of people: programmers paid by companies interested in the software, volunteers, students, people with large experience in computer science or newcomers.
- Don’t ask yourself what you can do for free software; ask yourself what free software can do for you, and contribute to make free software do it! Find something that really passionates you and try to make it possible. If you don’t like very much the project, try to find a better one, because that motivation will be one of the most important thing to keep you involved.