More than half the worlds leading IT organisations are using open source software for its competitive advantage and lower costs. So not only do open source software developers have a body of work to show when theyre looking for a job, but they also get the opportunity to nurture their passion for programming and to make a difference.
By getting involved in a FOSS community, you get to work on real-world problems, learn from experts, build a network and, of course, get discovered (that, in many cases, is the biggest hurdle). Your code is out there. If youre up for a job, it shows recruiters that you are concerned about the community and not just about yourself. It shows that you can work, minus any training.
The various open source programmes open to students
Many companies encourage FOSS by managing programmes that enable students to contribute to them.
Google Summer of Code (GSoC) for university students: Google Summer of Code is a global programme that offers post-higher secondary student developers, of ages 18 and older, stipends to write code for various open source software projects. Google Summer of Code has brought together over 8,500 students with 485 open source projects to create millions of lines of code in the past decade.
The Google Summer of Code programme is designed to encourage student participation in open source development. Kicked off in 2005, the programme has several goals:
- To inspire young developers to begin participating in open source development
- Provide students in computer science and related fields the opportunity to do work related to their academic pursuits, during the summer
- Give students more exposure to real-world software development scenarios (e.g., distributed development, software licensing questions, mailing-list etiquette, etc)
- Get more open source code created and released for the benefit of all
- Help open source projects identify and bring in new developers and committers
The programme offers a stipend of US$ 5500 and is conducted entirely online. Students and mentors from more than 100 countries have participated over the past years.
GNOMEs Outreach Program for Women (OPW): OPW is a programme that encourages women to contribute to FOSS. It offers a stipend of US$ 5500. It provides a supportive community for beginners to contribute any time throughout the year, and offers focused internship opportunities twice a year with a number of free software organisations. This work is continued by Outreach, with the goal of expanding the programme to more participants from under-represented demographic sectors.
By having a programme targeted specifically towards women, GNOME plans to reach talented and passionate women, who are uncertain about how to start out on the FOSS path, otherwise. GNOME is now expanding the programme to people from groups under-represented in FOSS. They hope this effort will help many people to discover how exciting, varied and valuable working on FOSS projects can be, and how inclusive the community really is. This programme is a welcome link that will connect participants with people working on individual projects in various FOSS organisations and guide them through their first contributions.
Google Code-In (GCI) for high school students: The Google Code-In contest gives high school students around the world an opportunity to explore the world of open source development. Participants complete tasks of their choice for a variety of open source software projects. Students can earn t-shirts, certificates and hoodies for their work and 24 dedicated students from around the world (two chosen from each software project) win a trip to Googles headquarters in Mountain View, CA, USA.
Since open source development is much more than just computer programming, there are lots of different kinds of tasks to choose from, in five broad categories:
- Code: Writing or re-factoring code
- Documentation/Training: Creating and editing documentation and helping others learn
- Outreach/Research: Community management and outreach/marketing, or studying problems and recommending solutions
- Quality assurance: Testing to ensure code is of high quality
- User interface: User experience research or user interface design
Getting involved with the community
First and foremost, be an open source user! There are open source solutions for nearly every need you can imagine, and chances are, youve already used a few. From browsers like Firefox to email clients like Thunderbird, and from content management systems like WordPress to media players like VLC, much of the software that powers the Internet is open source. So, start involving yourself with the FOSS communities.
Communication with the organisation is very important in FOSS. Every organisation has its own way of communicating. Some prefer mailing lists, others the IRC and a few use Asana, Bootcamp, etc. Whatever it is, be an active member. Again, an important thing to remember is to make your presence felt amongst the developer community. But always remember to ask intelligent questions.
Selecting the organisation you want to work with is the most important factor. Being clear about the kind of organisation you want to contribute to is a very hard thing to do, and is one of the few stages at which people go wrong. For this, you should shortlist your interests, research the organisation and know what you are interested in working on.
Regarding getting accepted in any of the programmes, some organisations expect you to do minor bug fixing/ development tasks. Others are more interested in your profile and interests. It also depends on the size, scale and platform of the project. There might be competency tests, one-on-one interviews, etc. Often, organisations are explicit about what they expect of you. Otherwise, its more about bringing in new ideas and perspectives.
Next comes understanding the code base. This is a daunting process if youre new. But a little perseverance can get you through this. You can always ask for help in the community discussion forums and then go on to help others whenever you can. Always start fixing minor bugs and get them reviewed. Some organisations have junior-jobs dedicated for new contributors.
Other than programmers, many projects need designers and people in support roles such as social media managers. These are roles people might not know about unless they ask those already working on the project to describe the needs of a specific project.
Finally, most communication takes place asynchronously, at different times and in different parts of the world. You shouldnt expect immediate responses. Be patient with other contributors and dont be afraid to follow up if no one responds to your query. And in these communities, open conversation and a diverse range of viewpoints are encouraged, which improves both the open source software or tools, and the community thats contributing to it.
So, get started!