Winter 2008 OSD600 Weekly Schedule
Revision as of 13:05, 29 January 2008 by Chris Tyler (talk | contribs) (→Week 4 - Collaborative and Community Development Practices)
Contents
- 1 Week 1 (Jan 8) Course introduction
- 2 Week 2 - Managing and Building large source trees
- 3 Week 3 - Build (Continued)
- 4 Week 4 - Collaborative and Community Development Practices
- 5 Week 5 – Bugs, Bugzilla, and Debugging
- 6 Week 6 – Developing the Browser
- 7 Week 7 – Extending the Browser
- 8 Break Week
- 9 Week 8 – Extending the Browser II
- 10 Week 9 – Bug Fixing
- 11 Week 10 – XPCOM - Modular Development in Mozilla
- 12 Week 11 – XPCOM II - Using XPCOM from JS/Chrome
- 13 Week 12 – Major Project Presentations
- 14 Week 13 – Presentations / Major Project Due
- 15 Previous Versions of OSD600
Week 1 (Jan 8) Course introduction
- Course introduction
- Intro to open source
- Intro to Mozilla project
- Mozilla Project Overview
- Community, Foundation, Corporation
- The Mozilla Manifesto
- Mozilla platform and technologies
- Mozilla Communication Tools
- Web sites/Wikis
- Planet Mozilla
- IRC
- Readings/Resources
- "Cathedral and Bazaar" by Eric Raymond
- "Revolution OS" [film] (see also http://www.revolution-os.com/ or QA 76.9.A25 R68 2003)
- Mike Shaver discusses the Mozilla Manifesto [MP3]
- TODO
- Create a blog (wordpress or blogspot or whatever) and create a feed category or tag called "open source"
- Read the Blog Guidelines for instructions on how to use your blog in the course
- Create an account on this wiki for yourself
- Create a personal wiki page on this wiki, and add a link for yourself to the People page. Your personal page should initially include your contact information and a link to your blog; as you progress through the course, update this page with information about your work.
- Add your blog feed and info to the Open Source@Seneca Planet List so that it appears in the OpenSource@Seneca Planet
- Write a blog posting containing your reaction to and reflections on "The Catederal and the Bazaar" and "Revolution OS".
- Start lurking on irc.mozilla.org - especially the #seneca and #developers channels (Note: to access the #seneca channel, you must be registered - type "/nickserv help" in your IRC client or refer to http://freenode.net/faq.shtml#registering for more information)
- IRC tutorial - http://www.irchelp.org/irchelp/irctutorial.html#intro
Week 2 - Managing and Building large source trees
- Revision Control Systems (RCS)
- Introduction to RCS
- cvs, svn, hg
- Common concepts and tasks
- Repository
- Local Working Copy
- RCS Changes (changesets) vs. Backups
- Typical read-only activities: Checkout, Update, Log, Status
- Using Make to build software
- Intro to Make
- Mozilla has over 50,000 Makefiles
- Building Mozilla from Source
- Readings/Resources
- Getting started in Open Source projects, or "Learning to be at the festival" (on-line lecture) by David Humphrey (given at Mozilla24 in Stanford): Formats - mpg, ogg, mp4
- Two simple makefile examples
- How the Mozilla Build Works (on-line lecture) by Mozilla's J. Paul Reed
- Release Builds: from source tree to exe (on-line lecture) by Mozilla's Robert Helmer
- TODO
- Complete all TODO items from Week 1
- Watch online lectures about the Mozilla build system.
- Practice creating a simple makefile
- Try performing a Debug Mozilla build on your home machine and blog about the experience
- Look at the Project List and Potential Projects pages and pick 3 projects on which you'd like to work--next week, you'll narrow this to just one. List them here along with your name so other students can see and groups can form.
Week 3 - Build (Continued)
- TODO
- Do a Debug Mozilla build on your home machine and blog about the experience
- Finalize your project choice, form a group (if you are working in a group), and create a proper project page for your project in the Project List. See the full project instructions.
- Blog about your project selection and your plans for the next step.
Week 4 - Collaborative and Community Development Practices
- Learning to be Lost Productively
- Adding to Mozilla is not like writing a program from scratch
- Leverage the existing code by reading, studying, and copying existing code
- Mozilla Source Code structure and style
- Searching for Code
- How to Make Changes
- building with client.mk in mozilla/ vs. incremental builds
- Working with Patches
- Readings/Resources
- Reading: Chapter 11 (pages 379-397) of Diomidis Spinellis, Code Reading: The Open Source Perspective, ISDN 0-201-79940-5 - information about the book - eBook version via Seneca Library and Safari
- TODO
- Lab - Learning to use LXR/MXR effectively: Source Code Reading Lab - Blog about your experience.
- Lab - cvs diff and patch: Incremental Build Lab
- Practice doing incremental builds and applying patches
- Identify the main file(s) that your project will be changing and blog about your experience finding them and your observations about those files.
- State your 0.1 release target on your project's wiki page (explain what you will have completed by the time you reach 0.1 release). Discuss this with your professor.
- Review, and where appropriate, comment on blog postings by other students.