Google Summer of Code 2010: Wrap up report
In the past four years, the Haiku Project has had both the honor and privilege of being a Mentoring Organization in Google Summer of Code™. This is a wonderful opportunity for the Project, as it exposes Haiku to many potential youthful and energetic minds that are interested in developing Open Source Software. Even more exciting, it provides a unique opportunity of generating income for the Project while growing a handful of carefully selected students into knowledgeable and potential long-term contributors.
In the larger scope of Google Summer of Code, here is a passage by Carol Smith from Google's Open Source Blog:Over 2000 mentors and over 1000 students from 69 countries began working together on over 150 open source software projects, and we're happy to announce that 89% of our student participants have received passing final evaluations, which is about 4% better than 2009. This is our best success rate to date.
Specifically for the Haiku Project in 2010, seven students were allotted. Of those, five students successfully passed the program! During the program, one student (Alex Wilson) was granted commit access to the Haiku Project. Additionally, numerous students have expressed plans to continue contributing in the future.
Student Summaries
Atis Elsts
At the moment, IPv6 is not included in default images. However, basic IP address assignment, ICMP, and ping6 is working. Some code, which includes NetServer and ifconfig has yet to be merged and is accessible at his github account: haikuipv6.
Atis plans to continue working on the existing problems in the network stack (e.g., #6502) and to eventually bring IPv6 to a fully working status.
Janito Vaqueiro Ferreira Filho
Ext3 Indexed Directory Lookup was committed in r37295 and was needed for implementing read support. For write support, the basics of journaling is implemented, but needs more thorough testing. The majority of his code was committed earlier in the week as r38573. In addition to working on ext support, Janito fixed some issues relating to BFS and the block cache. (r37899, r38103 )
Lucian Adrian Grijincu
Lucian was one of the most promising students during the initial selection phase and a clear majority of our mentors voiced votes of confidence in him. However, he did not receive a passing evaluation at midterms. This was due to a combination of both failing to reply to his mentor's inquiries for a period several weeks and the code produced not being reflective of the time leading upto midterms. The code is hosted on his github account: lkl-linux-2.6, lkl-haiku-fs.
Christopher Humphries
Shortly after the start of the coding period, Christopher received news that his university had retracted their word on accepting Google Summer of Code as a valid internship. This necessitated changes to his project proposal -- specifically reducing the scope of the project to DVD support.
Originally, he started out making a media plug-in, but finally opted for an add-on. The latter provided better interfacing and control for application -- mostly because the library needs path information. Other problems cropped up, such as the absence of a demuxing node and faulty mpeg decoding. This led to the realization that the kit needs more before it can do the job. Christopher has even presented some thoughts Pitching Media Kit ideas Alternatives to plug-in sniffing A true streaming equivalent of BDataIO His code is hosted on his github account: Haiku-DVD-addon
Christophe Huriaux
As mentioned in his recent blog post, the Services Kit is capable of handling HTTP requests (file uploading, POST requests, authentication, cookie support, ...). It supports asynchronous as well as synchronous requests. Lastly, Christophe has started updating WebPositive to utilize Services Kit. This provides a real world test-bed scenario & will improve WebPositive by replacing the cURL backend with native API.
Nathan Mentley
Nathan did not receive a passing evaluation at finals. Maintaining regular communication and providing in-progress patches were the two big factors leading to that decision. As for the project status, overall the kernel is not completed. The majority of the code is stubbed out, but important bits, such as vm86 & SMP are not implemented. Additionally, paging and jumping into long mode have issues that need to be resolved. Nathan has mentioned that, the project "proved to be a more difficult challenge that [he] expected." An older set of patches are available on Trac: #6306, #6307, #6308, #6309, #6310.
Alex Wilson
This involved archiving of BLayout, BLayoutItem and subclasses (#5525), deriving BLayout from BLayoutItem (#6407), and updating numerous applications to use the new Layout API. In addition to his original proposal, numerous archiving features were implemented as part of #6256 (BArchiver, BUnarchiver, BArchivable)
Alex was also granted commit access halfway through the coding period! In the future, he plans to working towards making the Layout API suitable for public consumption.
In closing ...
As always, many thanks to: Google for sponsoring this program and allowing the Haiku Project to participate, Carol Smith (Google Summer of Code Program Administrator), and our mentors who helped make this endeavor successful.
More important than the short-term code contributions is that the students are now more experienced open source developers -- specifically for Haiku. One student is now a full fledged contributor to the Project, and several others show promise of growing into contributors. This empowers them with the confidence and ability to continue making valued contributions to Haiku (or any open source project for that matter). As an open source project that develops an operating system, our pool of active committers is relatively small and being able to embrace new contributors is literally a wonderful thing.
As with every year of participating in Google Summer of Code as a Mentoring Organization, we try to identify areas that can be improved for next year.
- what we as a Mentoring Organization want to achieve (from both Google Summer of Code overall and from each student)
- the concept of our Mentor Pool, as opposed to a strict "This is my mentor" mentality
- expectations and guidelines for students (how their progress is evaluated for pass/fail, the expected interactions, ...)
- introducing more milestones (to make the time more manageable for the students)
- re-organizing the student application template (requiring a timeline, what the student expects from the mentor, ...)
All in all, this was another successful year for Haiku. Congratulations to all who have participated!

Comments
Re: Google Summer of Code 2010: Wrap up report
Thanks for the nice wrap-up report Matt. Watching the commit list over the summer I came to the conclusion that this was the best set of students that Haiku have had through GSoC to date.
Another thing I noticed that you didn't mention is that during Axel's network stack reworking a number of his commits mentioned fixing bugs spotted by Atis, so it seems as well as working on the IPv6 code he was also a valuable pair of eyes checking over the rest of the stack.
Congratulations to all the successful students and I hope you're able to continue to find the time to work on Haiku.
Simon
Re: Google Summer of Code 2010: Wrap up report
Thanks for that nice summary, Matt, and for taking care of all the other unseen behind the scenes tasks!
And congrats and thanks to all students and their mentors of course. I hope all projects will be brought to "production quality" and we'll soon see their impact in the OS and 3rd party software.
Regards,
Humdinger
Re: Google Summer of Code 2010: Wrap up report
Good summary Matt, great code coming Haiku's way from these projects, and hopefully atleast one new continuing contributor (Alex Wilson).
A bit saddened that 64bit port did not see the light of day since I was very much looking forward to it, that said it's not exactly a small task and likely better suited for some of the core devs.
What I'd personally like to see in future summer of code (hopefully Haiku will continue to be accepted) would be a focus on creating/improving Haiku kits. I feel they are perhaps more in scope of a 'Summer of Code' project and I also think they will be key to having more native applications developed.
Huge thanks to all participants for your time and interest in Haiku!