jb’s open source blog

A look into my work and play in open source

OSD600: Mozilla@Seneca – first thoughts & potential projects

with 2 comments

I’m currently enrolled in the OSD600 course at Seneca College in Toronto, Canada. This course focuses on getting programming students involved in various open source projects. The focus this semester is on Mozilla software: Firefox in particular.

We are required to pick a project that will benefit the Mozilla community. A large list of potential projects was given to us. My top three choices are below, in no particular order.

1) Plugin watcher
Often, Firefox plugins will freeze the browser (read: Acrobat). This project would require me to alter Firefox somehow to notify users that a plugin is causing problems, and offer them some sort of recourse besides killing the browser (e.g. report bug, unload plugin).Since I’ve only really done some ‘toy projects‘ at school using C/C++, I have a lot of apprehension (“can I really do this?”). Regardless, David Humphrey told us we should aim for “something that is right now out of reach”. With this in mind, the plugin-watcher project will be a top choice for the time being.

First steps

  • start looking in Firefox code to see how plugins are loaded (are they separate processes?)
  • find a test case that will reproducibly crash/freeze the browser
  • find out how to report CPU and RAM usage of plugins (per Chris Tyler’s suggestion)

2) Web-based Virtual Machine Management
The project outline was only recently posted, so it is a little vague. It sounds like there is (at least part of) an infrastructure already in place for “creating” virtual machines with custom configurations (OS, compiler/dev toolchain, Mozilla source branch). From what I can tell, I’d have to create a web based front-end that utilizes this infrastructure. There’s something really appealing about virtual machines, and anything project involving VMs is probably a project I’d love. I’m using VMWare in every day use on my laptop, I’ve experimented with Xen, and I’m vaguely aware of KVM, so this sounds like it’d be right up my alley. I’d like to do some work on web applications, but what would keep me interested is virtual machines.

First steps

  • talk to bhearsum on IRC and find out more about the project
  • find out what these virtual machines are used for (building Mozilla apps? testing (i.e. QA)? a mix?)
  • find out more about Hera, a Seneca cluster which has been used for virtual machines in the past

3) Cross-Platform Mozilla Build Farm
This project would require me to “glue” some existing software together in order to support a computing farm for building Mozilla apps. Cross-compiling (i.e. compiling for Windows on Linux) appears to be a goal. I know a little about distcc and ccache, two pieces of software mentioned on the project wiki page, from playing around in gentoo. I know nothing about buildbot, but it looks interesting. I’d definitely like to take advantage of Seneca’s computing resources (clusters, virtual machines) and learn a thing or two.

First steps

  • read as much as possible about Buildbot
  • try building Firefox in linux
  • get up to speed with what has been done with distcc in previous projects, try actually using it to build Firefox
  • find out more about the Hera cluster

It’s unfortunate that we’re only supposed to pick three projects. It’s even more unfortunate that in the end we will only work on one (contributions aside). Here are some more projects I was interested in but didn’t make my top 3:

Mozilla Source and Symbol Server
Mozilla Developer Virtual Appliance
Add password managers for various platforms (gnome!)


Written by jbopensrc

September 13, 2007 at 2:46 pm

Posted in Open Source

2 Responses

Subscribe to comments with RSS.

  1. Good luck and thanks!!!!


    September 13, 2007 at 11:48 pm

  2. […] machine management Filed under: Open Source — jbopensrc @ 12:16 am As I outlined in my first blog post, as OSD600 students we are expected to choose a project that will somehow benefit the Mozilla […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: