“Freedom is the right to be wrong, but not the right to do wrong”
Everybody wants to work on things which pay more money rather than the things which we wanted to work on. Freedom, Innovation, Distribution - One can get these desired things in Open Source. Open Source offers a chance to quench our programming thirst.
You are free to pick and choose between thousands of Open Source projects out there in the Open Source community. Moreover, you are free to decide on how much you want to contribute. You won’t have a boss and you won’t have the pressure of deadlines and schedules.
Let us focus on FOSS - Free and Open Source Software, though the two terms reveal identical meaning, a major conflict between the two has been perceived since ages. The literal meaning of FOSS is intentionally obtained by means of providing freedom to users to study, modify, and improve the features of a software with the availability of Source Code.
Free Software may be termed to be Open Source Software but Open Source Software does not necessarily have to be Free Software. Puzzled?
Free Software - the unintended meaning is “Software you can get for zero price”. Indeed, the intended point is “Software which gives the user certain freedoms”. Open Source Software - the obvious meaning is “You can look at the source code”. However, it does not have to be non-commercial.
The Free Software Foundation grants users with four basic freedoms.
- The freedom to run the program, for any purpose
- The freedom to study how the program works, and adapt it to your needs.
- The freedom to redistribute copies so you can help your neighbour.
- The freedom to improve the program, and release your improvements to the public, so that the whole community is benefited.
Learn from the best
How many great Open Source developers do you know about? How many of them work or have worked on an Open Source project? I bet there are many names common to both the lists.
Open Source development will help you observe how experienced developers work and their various ways of designing, coding and discussing solutions. You will learn new ideas and new ways of solving problems. The second and probably more important part is that many smart programmers will be looking over your code and will provide review comments which will help you improve yourself. You will learn more efficient or shorter (or both) ways to solve the same problem.
Build a worthy resume
What you tell in your resume are things like contact information, performance in academia, programming languages you know, projects you’ve worked on and other such stuffs. There is very little in this document which can be verified easily. This is a problem for you as well as for the prospective employer because:
- It may not represent you, your skills and your hard work sufficiently enough.
- It makes hiring a game of chance for the prospective employers and prevents them from making more informed decisions.
The best thing about contributing to an Open Source project is that everything you do is public. So you can say things like the following:
- I have worked on this project for the last two years.
- I wrote features X, Y and Z on Project P.
- I have over two hundred posts on the user forum or mailing list.
- I have commit access to the project.
- I am the expert because “I wrote it”.
And your prospective employer can search and verify such things easily. Congratulations, you have just landed on top of the stack of resumes!