GSoC Beginner's Handbook to Free Software
Essential things about free software projects and communities that GSoC first timers should know
Hey there! You should read this post if you are any of:
- A student who is looking forward to participating in GSoC for the first time and never contributed to free software projects before.
- A programmer who has never contributed to free software projects.
- A learner who is curious about the idea of free software.
Free Software is a culture
You cannot “contribute to” free software just like you cannot “contribute to” your own health. You are not an entity external to free software. Free software runs in your blood. You own free software as much as anyone else. You cannot “contribute to” something that is yours. You can only improve free software.
The strength of free software lies as much in its spirits as in its code. And so, a programmer who codes free software without the spirit of free software can be compared to a doctor who treats patients without the intention of making their patients healthy.
The first step towards “contributing to” a free software project is to imbibe the spirit of free software and dip your toes, legs, thighs and your entire body into the free culture.
Various essays on gnu.org can give you enough motivation to be a free software advocate for life. Start here.
A free software project is nothing without its community
There is no true owner for a free software project. Code can be copyrighted. But ideas cannot be.
Jonas Salk discovered a vaccine for polio when polio was paralyzing millions around the world. In an interview he was asked “Who owns the patent on this vaccine?” and he replied.
Well, the people, I would say. There is no patent. Could you patent the sun?
Free software projects are owned by the community that maintains it as their own. You cannot kill a free software project if you cannot kill the community behind it. Similarly, you cannot sustain a free software project if there is no community behind it.
To realize the true meaning of the previous statement, you can look back at the history of any free software project. You will hear stories of dissent and forks, of unanimity and merges, of re-implementations and re-writes, of projects being shut down being given re-birth by new people. These stories signify the strength and resilience of communities.
The biggest motivation is self-motivation
Most members of free software communities have a separate job that earns them bread. They work on free software projects in their free time. For them, self-motivation is a major incentive to work on any project. It would probably be them scratching their own itch. But it could also be them working on something that the community needs very much. Anyway, without self-motivation, it is difficult to continue working on a free software project.
When you choose an organization for GSoC, keep these idiosyncrasies of free software in your mind and choose a project which you are personally motivated to work on, even if Google wasn’t involved. Wish you all the best!