Open Source
FOSS projects I contribute to
Haizea
Haizea is the project I am developing as part of my dissertation research. It is a VM-based lease management architecture (if that sounds like a mouthful, take a look at the What is Haizea? page). In a nutshell, Haizea is a piece of software that, in combination with the OpenNebula virtual infrastructure manager, can be used to manage a Xen or KVM cluster, allowing you to deploy different types of leases that are instantiated as virtual machines (VMs). Haizea can also be run in simulation, providing a platform for experimenting with scheduling algorithms that depend on VM deployment or on the leasing abstraction.
OpenNebula
OpenNebula is a virtual infrastructure manager. Although I do not contribute code directly to OpenNebula, I collaborate closely with the OpenNebula team, since Haizea can be used as a drop-in replacement for their scheduler.
The Globus Toolkit
I coordinated The Globus Alliance's participation in Google Summer of Code 2008 and 2009. I was an organization administrator both times, and a mentor in 2008. Before that, I contributed mostly to Globus's documentation, particularly through The Globus Toolkit 4 Programmer's Tutorial and the Globus Toolkit 4: Programming Java Services book.
FOSS & Research
I am somewhat opinionated when it comes to the relationship between academic research and FOSS (or the lack thereof). You can read my rant about this topic on this page.
Teaching FOSS
I use FOSS in my teaching and, recently, I have also been interested in how to teach FOSS development in a classroom setting, particularly in combination with collaborative learning techniques. My most recent foray into this was CMSC 23500 - Introduction to Database Systems, where the class project involved developing a relational database management system from scratch (from the file-based B-Trees all the way up to the SQL parser). Students worked in teams of four, collaborating through a Redmine site and an SVN repository. Additionally, a core part of the project was developed collaboratively by the entire class. I intend to write a detailed document describing our experiences teaching this class, and will also publish all the documentation we used during the course. If you are interested in this information (before it appears here), please don't hesitate to contact me.
I am also interested in FOSS mentoring, and have had a chance to do it through the Google Summer of Code program, as a mentor and an organization administrator for The Globus Alliance. You can find out more about my involvement in Google Summer of Code in the following posts I wrote for the Google Open Source blog:
- The Globus Alliance's First Google Summer of Code
- Spreading the Summer Love in Chicago
- The University of Chicago Meets Google
I'm also involved in the mentors project of Teaching Open Source, a collaborative community working to more broadly integrate Free and Open Source software into academia.