Google Summer of Code 2012: Wrap up report

Blog post by mmadia on Fri, 2012-08-31 00:41
Google Summer of Code 2012 Logo png

Friday, August 24th marked the end of Google Summer of Code 2012. This was the sixth year that the Haiku project participated and was one of 180 fellow mentoring organizations. This year, five of 1,212 students were mentored by Haiku. To give a frame of reference to the competitiveness in Google Summer of Code, over 400 mentoring organizations and over 4,000 students applied to participate. For both mentoring organizations (and students), it is an honor and pleasure to be selected in Google Summer of Code.

For those not in the know, Google Summer of Code is "a global program that offers student developers stipends to write code for various open source software projects". In other words, simply by being one of the mentoring organizations, many youthful computer-savvy students may learn about HAIKU for the first time. For a carefully selected few, they have the opportunity to receive priority from our mentors in teaching them how to develop software for Haiku. This is a unique opportunity, as there is no other outreach effort of this magnitude available to the Haiku project.

By participating in Google Summer of Code, we at the Haiku project have a goal of growing young minds into open source contributors, ideally for Haiku. The idea is that a single person's contributions over several years will definitely be more valuable than the code produced during a single summer. This year, Haiku was blessed with a pool of exceptionally bright and hard working students. In fact, all five students passed their final evaluations! (For those curious, Carol Smith posted that 88% of all students in Google Summer of Code passed.) Two students received commit access for their respective projects. (Alex Smith received it for Haiku's repository. Hamish Morrison received access to OpenJDK.) Though, all of the students could still get commit access later in the year. Update:Shortly after the completion of the program, Yongcong Du and Andreas Henriksson received commit access to Haiku! Update #2: Pawel continued working on his NFSv4 project well beyond the end of Google Summer of Code 2012. He received commit access in early March 2013. This marks the first time that all of our students passed their final evaluations and received commit access! Well done!

With each year, the Haiku project strives to improve how it presents itself and manages its students. This year, the student application received tweaks and included a spot to mention their public repository (to note, all of this years students committed to their public repositories) and which Trac tickets contain their patches. For the first time, all Haiku specific projects had their commits forwarded to the haiku-commits mailing list. This provided the students with a much closer experience of being an actual Haiku committer, by being subject to project wide peer review. This improved our ability to interact with the students in a more natural setting and will become a staple for the future.

Student Summaries

Yongcong Du

Yongcong: "[A] generic cpuidle module is implemented which can be used on all cpu architectures. On [the] x86 platform, we support intel native cpuidle driver and acpi cpuidle driver. The previous one make fully use of intel mwait extension support on intel newer cpus such snb, ivb or latter, since it won't touch the complex acpi part, it's preferred if the HW supports. The acpi driver is our last choice."

Pawel Dziepak

Paweł: "Currently, NFSv4 client supports both read and write operations, file locks and various caches (some of which can be disabled). In addition to that there is named attribute support code and extended attribute emulation implemented. However, in order to have extended attributes fully working regardless whether the server supports them or not some work still needs to be done. ... The most important now is to fix as much bugs as possible, then I would like to change code organization a bit and prepare it for new features that newer versions of NFS may bring."

Andreas Henriksson

Andreas: "To summarize the things I have accomplished during the summer: Resize support in BFS driver, save for vnode mapping and growing a full file system. Getting the resizing "pipeline" from userspace to driver to a working state (still needs some checking to verify that it's robust). ... What needs to be done is to decouple the block number and vnode ID in the BFS module, so a file can be moved without changing the ID. I have started to work a little on this, and it's looking very promising. ... My plan for the future is to continue working on this, at the very least until it can be merged. "

Hamish Morrison

Hamish: "[With] the AWT/Java2d and jsound ports are now completed, my goals for the summer have been accomplished! The OpenJDK port is now in a fairly usable state, and community members have been using it to run some large scale Swing apps such as NetBeans and ThinkFree office. ... Recent-ish binaries available here - hrev44492 or newer required."

Alex Smith

Alex: "The app server is fully functional, as are Deskbar and Tracker and a few other apps. I also cross-compiled all of the basic development optional packages (GCC/Binutils, autotools, make, etc.) for x86_64. ... Stability improved a great deal, and in fact it is now possible to build Haiku x86_64 from within itself without running into any problems!"

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.

Congratulations everyone and keep up the great work!