GSoC/GCI Archive
Google Summer of Code 2009

Oregon State University Open Source Lab

Web Page:

Mailing List: Primary public contact is via #osuosl IRC channel

The Open Source Lab at Oregon State University exists to help accelerate the adoption of open source software across the globe and aid the community that develops and uses it. The OSL's team of students and full-time staff do this by focusing on a twofold strategy of software development and hosting some of the world's largest open source projects.


  • Enhancing Task Scheduling and Implementing MapReduce for Pydra Pydra is a distributed computing framework developed at OSU OSL, which enables both rapid parallel program development and convenient cluster management. It is now on its early stage, and I'm glad to have a chance to make a contribution towards its upcoming first release. To be more specific, my proposed summer project involves 2 tasks: 1) to enhance task scheduling; and 2) to implement the MapReduce mechanism based on task 1. In addition, I'd like to optionally implement node auto-discovery.
  • Open source Quassel IRC client for Google Android devices The advent of the mobile phone has made communication simple and portable. However, mobile devices often suffer from unreliable service. This problem can be circumvented and IRC communication made consistent and reliable on Google Android devices by taking advantage of Quassel IRC's client-server model. This project will implement a client to interface with the Quassel IRC core - that is, implement the frontend portion of the client-server model - for Google Android devices.
  • Pydra Map-Reduce support This project aims to add support of Map-Reduce computation model to Pydra clustering system. This is one of milestone goals of the Pydra project for version 1.0. Map-Reduce is a computation model introduced by Google. It is best suited to processing large amount of data which can be presented in form of key/value pairs. Input data are partitioned into multiple slices and then processed in parallel by Map function and merged by Reduce.
  • Unify Unify is a tool for creating packages across different distribution formats (deb , rpm, solaris packages) using standard portage Gentoo ebuilds as the specification for building the packages.