TUTORIAL PROPOSAL NAME: Sam Auciello TUTORIAL TITLE: Open Source Software DESIRED CREDIS: 3 DESCRIPTION: An exploration of open source software developement through contribution to the Mozilla Foundation. OBJECTIVES: * To gain an understanding of the organizational systems that allow open source projects to work well. I would specifically like to look at Firefox as its success suggests that something was done right. * To gain experience working on software projects that are developed by large groups. The majority of the programming I have done, I have done for myself. I hope that through this tutorial I can learn to make my code more transparent and improve my documentation habits. COURSE WORK: The bulk of the course work will take the form of contributing Mozilla projects. I intend to begin by familiarizing myself with the Mozilla system by using bugzilla to find a '"Good" first bug' (Mozilla contributors flag certain bugs as '"Good" first bugs' to create a stepping stone for new contributors). Given the nature of debugging, it's difficult to set a firm schedule for resolving one. My intension is to spend the first two weeks resolving one or more bugs. Following bugs on bugzilla may lead to finding a particular bug/feature that would make a good project/projects for the rest of the semester. I have also made contact with a two established Mozilla contributors, Josh Matthews and Chris Jones, via a contact form on the Mozilla site designed for people interested in contributing. They suggested I might contribute to Boot2Gecko, a project similiar to chromeOS. By the end of the first two weeks I'll have gotten a taste and I'll be in a better position to find a project of the appropriate scope for the rest of the semester. THE BIG PICTURE: This tutorial seems like a perfect fit with my Plan of Concentration. My Plan focusses on software development and this tutorial will give me real world practice developing software in an environment I haven't explored much yet. RESOURCES: https://developer.mozilla.org/En/Introduction This page is designed as a guide to help new developers get accquanted with Mozilla. It describes a step by step process which I intend to begin by following. https://bugzilla.mozilla.org/buglist.cgi?quicksearch=sw:[good%20first%20bug] This page is a search into the bugzilla bug database with a filter that picks out bugs that have been flagged as '"Good" first bugs'. I've started looking at the discussion threads on a few to get a sense of the system. DELIVERABLES: At the end of the semester I will have created some code. Some subset of it will probably be modifications to existing code. The products of this tutorial will be this code, clear documentation of my work on it, and a short write-up describing my experience.