I used to be a (sad) freelance PHP developer with some front-end skill working for tiny to small local companies. The best gig I had at the time was for a video games distributor here in Italy. The client was great but the job was admittedly boring and sometimes even frustrating. I knew I had more to give and was feeling trapped in quicksand.
The single most important decision in my career was to start developing open source software (OSS) and blogging about it. I started with silly things such as a PHP clean URL generator or the onClick delay removal, and I ended up with iScroll and the Add to Homescreen widgets.
I chose the most liberal license I could find (MIT) and companies from all over the world contacted me asking for customization and new features. My hourly rate was around $60, and I had to raise it on a daily basis because I couldn’t keep up with the increasing quote requests. Now I’m still a freelancer but I work for Microsoft and Google—my rate is at $150/hour.
Open source increased my visibility but it’s not just a matter of pageviews. Open source makes you generally a better developer. It forces you to compare yourself with other developers and that’s the best workout for a coder’s brain.
But that’s just part of the story.
You do not release OSS for fame (or money). Maybe at the beginning that is your intention, but once you get involved you understand that you are doing much more. Countless people are using your code, you are helping start-ups get on their own feet, and you are potentially creating new job opportunities. Within 48 hours of your life you could help dozens of companies and their employees.
For example: a guy made a WordPress plugin that was basically a PHP wrapper for my Add To Homescreen. He raised $50k+ from it (maybe more by now). You may think that I would be upset with him, but I’m actually pretty happy for him (and all his users)!
Also, the more I develop open source the more I appreciate other open source software and get addicted to it. I understand what it means to code for security and, most notably, the importance of user (and my) privacy.
I used to be an avid Apple user because it’s nice and tidy, and it just works, but there are more important things than a fancy interface and a pixel perfect gradient. I’m now using Apple products just for testing—my main rig is Linux. I can safely say that open source made me a better man, and I encourage you to release your code under an open source license.
Originally posted on Matteo Spinelli's Cubiq.org. Reposted using Creative Commons.