Qualifying students can apply for one of our Google Summer of Code 2012 project ideas between March 26th and April 6th, 2012.
Student Application Mini-FAQ
- When do I apply?
March 26th - April 6th
- How much time is left to apply?
Countdown: Student Application Deadline
- Where do I apply?
Start from the Google Summer of Code 2012 site
- What ideas can I apply for?
You can suggest your own idea(s) or check out our List of Google Summer of Code Ideas
- What info do you need in the application?
See the Application Template below for reference
- What if I still have questions?
Send a message to the Haiku Mailing List or contact Haiku's Google Summer of Code administrator (Matt Madia).
- Are there any other requirements?
Applying students are required to submit a code contribution to our bugtracker. This could either be a task marked easy, TODO commented in code, Code style cleanup, or any other unlisted task. Submitting code that relates to your project will indicate a higher level of understanding and ability. The number and difficulty of resolved issues will be taken into consideration when evaluating your application. It is suggested to include the keyword "gsoc2012" on tickets that contain submissions, as this facilitates finding them in the future.
- Why do you want a code contribution before I'm accepted?
This serves several purposes. It displays that you have the most basic skills that are required: building Haiku from source, running Haiku either natively or inside a VM, and using tools for online collaboration (bug tracker, mailing lists, IRC, etc.). More importantly, it provides our mentors with some insight into each individual student's motivation and abilities. It is an opportunity for you, the student to showcase yourself and to convince us that you are indeed the right person for the job.
- Should I use Haiku R1/A3 or a newer nightly image?
As R1/A3 was released some time ago, it is preferable to use a newer nightly image.
Making a Positive Impression
- Submit a patch:
- that relates to your project
- is quality code that conforms to our Coding Guidelines
- feel free to submit more than one patch!
- Have a positive impact on mailing lists, bug tracker, and other public spaces
- Do your homework ; Show that you have:
- researched your project
- an understanding of what needs to be done
- a proper plan for accomplishing it, which includes quantifiable goals and timelines
- Submit an alternate proposal, as this provides our mentors with flexibility for choosing the best students, rather than the best project ideas
Words of Advice
Reading and following this advice will do wonders for ensuring that your Google Summer of Code experience will be something to be proud of.
- Dedicate at least 30 hours per week
As Google Summer of Code is essentially a work-from-home internship, you are expected to put in the necessary time. To note, the majority of Haiku's students who spent less than 30 hours per week, failed.
- Communicate every other day
The haiku-gsoc mailing list is to be used at all times by you. Provide regular reports. Nothing formal, just one or two lines. It is important for your mentors to have a clear picture of what you are doing, have done, and plan to do. While being self-sufficient is a worthwhile trait, it is not an ideal trait for a Google Summer of Code participant -- Haiku expects you to utilize our mentors, that is why they are there.
- Provide code frequently
There is a saying in open source -- commit often, commit frequently. Take that advice to heart. Smaller patches and code snippets are easier for the mentors to review. It also gives them more chances to suggest better approaches and keep you on target. In turn, this will make you more productive and more likely to succeed!
When you do not have code, it is even more critical to converse frequently.
If you aren't coding, what are you doing? How are you moving closer to your goal? What problems are you analyzing? What questions and ideas do you have?
Pass or Fail Criteria
As you know, Google Summer of Code has two evaluation points -- mid-term (July 13) and final (August 24). If you happen to receive a failing mark at either point, you are not paid that portion and your internship comes to an abrupt end. Haiku also introduces a 1/4-term and 3/4-term milestones, to further help you the student with time management. While the 1/4-term and 3/4-term are not recognized by Google, your mentor will use those milestones in determining you mid-term and final evaluation. There are two areas that are considered during the evaluation: the code output and communication/interactions.
A word of caution -- do not expect to make miracles during the week of mid-term or final evaluations. Instead, expect your mentor to evaluate your progress on the first day of the window.
This includes everything from 'commit worthy' patches to all the code (and non-code, such as design documents or pseudo code) leading up to that polished patch. In other words, if for some reason you and your mentor pursue an approach that turns out to be a dead end you will not be punished.
This includes discussions on the haiku-gsoc list, talking with haiku mentors on IRC, posting the Milestone Blog/Email Reports.
In other words, you will be writing code and talking with one or more mentors on a daily basis. Anything less will hurt your mid-term and final evaluation! Do not expect to be able to cram days, weeks, or months of work into a shorter period and receive a passing evaluation.
This application template has two sections.
- A fill-in-the-blank section with basic information
- An open-ended section with suggestions for content to include. Feel free to add more.
- Full name:
- Email address:
- IRC username (freenode.net):
- Trac username (dev.haiku-os.org):
- Trac ticket(s) containing patches for Haiku:
- GitHub repository:
- Will you treat Google Summer of Code as full time employment?
- How many hours per week will you work?
- List all obligations (and their dates) that may take time away from GSoC (a second job, vacations, classes, ...):
- Are you using Google Summer of Code to fullfill a university requirem