{17} HelenOS and Google Summer of Code 2012 (10 matches)

Google Summer of Code

Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects. We have worked with several open source, free software, and technology-related groups to identify and fund several projects over a three month period. Since its inception in 2005, the program has brought together nearly 5,500 successful student participants and over 3000 mentors from over 100 countries worldwide, all for the love of code…

[ ...from Google Summer of Code 2012 site. ]


HelenOS is a microkernel-based multiserver operating system designed from scratch. It decomposes key operating system functionality into many isolated but intensively communicating server processes that reside entirely in user space. HelenOS thus provides a computing environment that has several virtues, such as flexibility, increased robustness, well defined explicit interfaces and reduced complexity of individual components as compared to other operating systems.

HelenOS does not aim to be another clone of Unix or some other legacy system and is not POSIX-compliant (even though it may seem POSIX-similar at times). Instead, we try to design it according to our taste and sense for what is the most elegant and right thing to do. What makes HelenOS unique among the other multiserver operating systems is its multiplatform and multiprocessor microkernel. HelenOS runs on seven different processor architectures, ranging from a 32-bit uniprocessor little-endian ARMv4 and commodity x86 and x86-64 PC to a 64-bit multicore big-endian UltraSPARC T1.

A Little Bit of History

HelenOS has traditionally been a project with significant student participation. Its first lines were written by a student in 2001, now more than a decade ago. In 2004, the project turned into a collective academic effort and ever since then, new students have been joining every year to work on HelenOS-related theses and assignments. In 2011, HelenOS became a Google Summer of Code mentoring organization and successfully mentored three students during their journey through the program. HelenOS and the Google Summer of Code are therefore a perfect match enabling more students from more universities to experience the thrill of the multiserver operating system development and also an opportunity for the project to get something back.


We are looking for students with real interest in HelenOS. We are looking for people who will play nicely with our community and by our rules. We are looking for those who are willing to give their project the necessary time and care. If a student only wants to pass with the minimum effort, chances are that HelenOS is not for him or her. We are looking for already experienced C coders as all our projects start at the medium difficulty level and the code itself is not trivial. Besides being an experienced C coder, a successful candidate should be a good communicator too.

If a student is accepted, they will be asked to participate in the community mailing list and IRC channel from day one. We will also want them to periodically document their progress via mailing list write-ups and/or blog entries in a dedicated project blog. They will have a buddy (a.k.a mentor) in our team who will monitor their development and also provide them with guidance when necessary. Participating in our community will bring them the advantage of the possibility to discuss issues with more buddies than just their mentor.

We would like to invite prospective students to demonstrate their abilities and determination to work on a HelenOS project during the Google Summer of Code 2012 by completing a simple HelenOS task before the student application deadline on April 6. The student should check out the latest mainline sources from our VCS repository, build the system, then either pick up an existing bug or enhancement or think of their own one, implement it, test it and submit the patch / public bzr branch / merge directive to us.

Interested students will need to fill out the following application form and attach it in their application.

Ideas List

The below Ideas List for the Google Summer of Code 2012 can be characterized as things that will greatly improve the usability of HelenOS while building on the core functionality already delivered by us in the past years and months. The individual projects are not excessively difficult and none of them poses a research topic in the academic sense. Instead, each item on the list is rather implementation-oriented, achievable in one trimester and something that we really need to be done. We especially did not plague the list with things that we do not need. In contrary, each idea on it is accompanied by a short explanation of why we think somebody should work it.

Last year we learned that some students may be under the false impression that the project ideas for HelenOS need to involve kernel programming. In general, this is a false assumption. Even though HelenOS is a microkernel-based system, most of the project ideas involve work on userspace parts of the system, such as libraries or server tasks. Having said that, we don't object kernel projects either.

As you can see, the Ideas List is just a small subset of all open tickets for HelenOS. If you did not find an appealing topic on this list, you might want to consider looking at the broader list or suggest a completely new topic or a variation on an already existing topic. In both cases, talk to us so that we can see whether the new topic would work for HelenOS during the Google Summer of Code. If not, the idea may still seem interesting to us even outside of the Google Summer of Code program.

Besides our regular project ideas, the HelenOS team will also sponsor ideas for selected related projects in the form of mentoring or co-mentoring.

Ticket Summary Component
#402 Port QEMU to HelenOS helenos/app/other
#313 Enhancement of user space debugging and observability features helenos-debugging
#310 Support for DWARF Debugging Information Format helenos-debugging
#414 Graceful system shutdown helenos-infrastructure
#11 Support PAE on ia32 helenos/kernel/ia32
#417 Port HelenOS to an existing 32-bit MIPS board / computer helenos/kernel/mips32
#425 Implement support for Lemote Fuloong/Yeeloong (mips64) helenos/kernel/mips64
#40 Implement support for Sgi Octane (mips64) helenos/kernel/mips64
#358 IRQ pseudocode compiler helenos/lib/other
#419 HelenOS as a Genode platform helenos/unspecified
Note: See TracReports for help on using and creating reports.