[haiku] Google Summer of Code 2010 : Wrap up report

  • From: Matt Madia <mattmadia@xxxxxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Sun, 12 Sep 2010 17:28:36 +0000

Reproduced from

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™[1]. 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[2]:
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[3].

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

    * Implementing IPv6
    * Google Code Submission

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 http://github.com/kfx/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

Janito Vaqueiro Ferreira Filho

    * Implementing ext3 support
    * Google Code Submission

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 )[5]

Lucian Adrian Grijincu

    * lkl-haiku-fsd

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.[6]

Christopher Humphries

    * Improve and Extend Media Player
    * Google Code Submission

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[7]

Christophe Huriaux

    * Creating Services Kit core elements
    * Google Code Submission

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

Nathan Mentley

    * x86_64 Port

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. [9]

Alex Wilson

    * Taking the Haiku Layout API public
    * Google Code Submission

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.[10]

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

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, ...)

1: http://socghop.appspot.com/
3: http://code.google.com/p/google-summer-of-code/wiki/ProgramStatistics

4: http://www.haiku-os.org/blog/kfx/2010-04-28_gsoc_ipv6_implementation_haiku





9: http://www.haiku-os.org/blog/nmentley/2010-04-28_gsoc_x86_64_port


Other related posts:

  • » [haiku] Google Summer of Code 2010 : Wrap up report - Matt Madia