Google Summer of Code 2012: Wrap up report

Blog post by mmadia on Fri, 2012-08-31 00:41

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!