Once you decide on the one or two projects you are interested in, you're required to make a contribution to those project(s). It's less important that you make a big, last minute contribution, and more important that you're in contact with the mentors, asking questions, and sending small contributions at a steady pace. Only applicants that make at least one contribution to a project will be accepted as interns. We find that the strongest applicants make multiple contributions throughout the application process, including after the application deadline.
A contribution can be something small, like a bug fix or a documentation improvement. Contributions to Free and Open Source Software communities are submitted in the public, which can feel intimidating at first, but remember that mentors are here to help you!
The contribution should be relevant to the project you are proposing to work on, meaning it should be for the same software module or show the skills you'll be drawing on in working on the project. Some projects will have good first contributions tagged in their issue tracking system with names like "first patch" or "newcomer friendly" or something similar. Some projects, like the Linux Kernel, may have a tutorial for setting up your environment and creating your first contribution. You can also ask the project's mentor for a suggestion for what a suitable contribution can be. If you have an idea about what you'd like to do for your first contribution, feel free to propose it.
While working on your contribution, you should feel free to ask for help from the mentor or from other people in the project's IRC channel. It is expected and perfectly normal for applicants to have questions. If you get stuck for more than a couple hours, ask the project mentors or community for help. If you ask for help privately and don't get an answer, try asking on the public help channels as well.
It is typical that once you submit your contribution, your mentor or another person who reviews it will have some feedback. This is not a criticism of your work or skills, but rather a chance to learn something new and improve your skills. Please be sure to follow up on the reviewer's feedback until your contribution is ready to be included in the project. It's best to allocate time over several weeks for this process and to start as early as possible.
For software development projects, an appropriate contribution is to fix an existing bug. You will need to download and run the code for the project and create a patch that fixes some bug. Your patch may end up being just a few lines of code, but this demonstrates a willingness to learn and get involved. You will need to upload your patch to the corresponding bug in the project's bug tracker and likely go through several iterations of the patch review, where you will get some comments about how you can improve the patch and will need to follow up with an updated patch. This kind of review process is standard for many of the changes that go in, so please don't be deterred by it.
For user experience design, graphic design, documentation, web development, marketing and translation projects, you should discuss your contribution with the project's mentor, e-mail it to them, and be sure to follow up on all the feedback.
While only one contribution is required to be considered for the program, we find that the strongest applicants make multiple contributions throughout the application process, including after the application deadline. After making your initial contribution, you are encouraged to continue working with your mentor on additional contributions as your time allows.
Don't forget this next step! You need to make sure to add links to your contribution to the application you started in step 3.