Another Successful Summer for Haiku

Wednesday, October 13, 2010

For 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 has been a wonderful opportunity for the project, as it exposes us to many young and energetic minds that are interested in developing open source software. Even more exciting, it provides a unique opportunity for the project to generate income while growing a handful of carefully selected students into knowledgeable and potentially long-term contributors.

Seven students were allotted for the Haiku Project in 2010 and of those, five students successfully passed the program! More important than the short-term contributions of code is the fact that the students are now more experienced open source developers -- specifically for Haiku. During the program, one student (Alex Wilson) was granted commit access to the Haiku Project, and several other students have expressed plans to continue contributing in the future. 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 a wonderful thing.

Student Summaries
Atis Elsts, Implementing IPv6 (Code)
At the moment, IPv6 is not included in default images. However, basic IP address assignment, ICMP, and ping6 are working. Some code, which includes NetServer and ifconfig has yet to be merged and is accessible at Atis’s 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 full working status.

Janito Vaqueiro Ferreira Filho, Implementing ext3 support (Code)
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 as r38573. In addition to working on ext support, Janito fixed some issues relating to BFS and the block cache (r37899, r38103).

Christopher Humphries, Improving and Extending Media Player (Code)
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 applications -- 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 work before it can do the job. Christopher has even presented some thoughts to the community: Pitching Media Kit ideas, Alternatives to plug-in sniffing, and A true streaming equivalent of BDataIO. His code is hosted on his github account, Haiku-DVD-addon.

Christophe Huriaux, Creating Services Kit core elements (Code)
As mentioned in his recent blog post, the Services Kit is now capable of handling HTTP requests (file uploading, POST requests, authentication, cookie support, etc). It supports asynchronous as well as synchronous requests. Christophe has also started updating WebPositive to utilize Services Kit. This provides a real world test-bed scenario and will improve WebPositive by replacing the cURL backend with native API.

Alex Wilson, Taking the Haiku Layout API public, (Code)
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, many thanks to Google for sponsoring this program and allowing the Haiku Project to participate, to Carol Smith, Google Summer of Code Program Administrator, and to our mentors who helped make this endeavor successful. All in all, this was another successful year for Haiku. Congratulations to all who have participated!

By Matt Madia, Haiku Administrator for Google Summer of Code

This post is cross posted from the Haiku blog, where there are more details about our participation in this year’s Google Summer of Code.