Difference between revisions of "DPS909 and OSD600 Fall 2010 Weekly Schedule"
(→Week 3 (Sept 20) – Bugs, Bugzilla, and Testing) |
|||
Line 112: | Line 112: | ||
** Register for [http://fsoss.ca FSOSS] or join as a [[Volunteer|volunteer]]. | ** Register for [http://fsoss.ca FSOSS] or join as a [[Volunteer|volunteer]]. | ||
** Look at [[Fall 2010 Mozilla Open Source Project List|project list]] and get your [[Fall 2010 DPS909 and OSD600 Initial Project Plan 0.0|initial project]] plan done. | ** Look at [[Fall 2010 Mozilla Open Source Project List|project list]] and get your [[Fall 2010 DPS909 and OSD600 Initial Project Plan 0.0|initial project]] plan done. | ||
+ | |||
+ | |||
+ | == Weeks 4, 5 (Sept 27) - Building Mozilla == | ||
+ | |||
+ | * Introduction to RCS | ||
+ | ** SVN, Mercurial, Git (more on git later) | ||
+ | * Build Environments | ||
+ | ** Finding and Installing build dependencies | ||
+ | *** Example: [https://wiki.mozilla.org/MozillaBuild Mozilla Build] for Windows | ||
+ | *** Using yum, MacPorts, etc. | ||
+ | ** Operating systems, cross-platform builds | ||
+ | ** Machine requirements | ||
+ | *** Fast I/O, lots of RAM (for linking) | ||
+ | ** Tools | ||
+ | ** Libraries | ||
+ | ** Settings | ||
+ | *** Environment variables, PATHs | ||
+ | |||
+ | * Build Tools | ||
+ | ** [http://www.gnu.org/software/autoconf/ autoconf] | ||
+ | ** [http://www.gnu.org/software/make/ make] | ||
+ | ** Common open source approaches to automation (Python, Bash) | ||
+ | |||
+ | * '''Readings/Resources''' | ||
+ | ** [[How the Build Works|How the Mozilla Build Works]] (on-line lecture) by Mozilla's J. Paul Reed | ||
+ | ** [http://sparc.senecacollege.ca/pub/mozilla.lecture/mozilla-20073/1-Mozilla-build-system.avi Mozilla's Build System] (on-line lecture) by the owner of the Mozilla Build System, Ted Mielczarek | ||
+ | ** [http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html Introduction to Mercurial]. The [http://hgbook.red-bean.com/ full book] is excellent to read or use as a reference, but this section is a must. | ||
+ | ** [http://vocamus.net/dave/?p=607 Great Introduction to GCC/G++] (Brian Gough's [http://www.network-theory.co.uk/docs/gccintro/ An Introduction to GCC for the GNU Compilers gcc and g++]) | ||
+ | ** [http://www.eng.hawaii.edu/Tutor/Make/ Introduction to Make and Makefiles] | ||
+ | |||
+ | * '''TODO''' | ||
+ | ** '''Watch''' online lectures about the Mozilla build system. | ||
+ | ** [http://developer.mozilla.org/en/docs/Build_Documentation Build Firefox] (or [https://developer.mozilla.org/En/Developer_Guide/Source_Code/Getting_comm-central Thunderbird]) on at least one of Windows/Linux/OSX, and preferrabely two platforms. Blog about the experience: | ||
+ | *** What problems did you have? | ||
+ | *** What did you learn in the process? | ||
+ | *** What surprised you? | ||
+ | *** '''Note:''' Do not put build output in your blog. You can use your wiki pages for that. The blog should be commentary on the experience of building a large piece of open source software. |
Revision as of 15:34, 18 October 2010
Contents
Week 1 (Sept 7) 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
- 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)
- Article about Mozilla and Firefox in the New York Times
- TODO
- Complete readings and watching/listening to this weeks resources.
- 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 as well as the Winter 2010 students page
- 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
- Add your blog feed and info to the Open Source@Seneca Planet List so that it appears in the OpenSource@Seneca Planet
- Blog on your reactions to the readings for this week, and also introduce yourself.
- Begin learning how to use IRC for communication. We'll cover this in detail next week, but it's better to get started early.
Week 2 (Sept 13) - Collaborative and Community Development Practices
- Open, collaborative, geographically dispersed development and the web
- Synchronous vs. Asynchronous Communication
- Timezones
- The function and value of community
- Mozilla Foundation (MoFo)
- Mozilla Corporation (MoCo), map of offices/individuals
- Mozilla Community
- Other companies or institutions working on Mozilla technology
- Individual Contributors
- Where can the Mozilla community be found? Overview of Mozilla Communication
- IRC - Intro to Internet Relay Chat (IRC)
- Blogs and Planets
- How to blog?
- How do people use blogs?
- Planet Mozilla
- OpenSource@Seneca Planet
- Twitter
- Use of Twitter in conjunction with blogging
- Wikis
- Seneca Course Wiki
- Mozilla Developer Center (MDC)
- Mozilla Wiki (wikimo)
- Intro to course wiki
- "Yes, you can edit it!"
- Common Editing tasks, History, Reverting changes
- Watches, Recent Changes
- Comparing selected versions (cf. diff)
- Editing help
- Public, project-wide status calls
- Mailing Lists
- Bugzilla - http://bugzilla.mozilla.org
- The "Tree"
- Mercurial (hg)
- Tinderbox, Tinderbox Push Log
- Readings/Resources
- Mozilla Community (on-line lecture) by Mozilla's Mike Beltzner
- Ars Technica article on the value of academic blogging and open source
- TODO
- Ensure all TODO items from week 1 are completed
- Complete Lab as a group by end of week
- Begin (or continue) reading the CDOT Blog Planet, as this is where we will share class announcements and discussions.
- Consider creating an account on Twitter to use in conjunction with your blog
- Dial-in to one of the Mozilla Status calls happening this week, and blog about the experience. I'd recommend the Firefox call.
- Join at least one Mozilla Mailing list
- Comment in at least one other student's blog with your feedback to what they wrote. Reminder: Comments have to be approved for them to be be shown on your blog. Check your blog settings.
- Watch online lectures for this week about open source community, blog your reactions.
Week 3 (Sept 20) – Bugs, Bugzilla, and Testing
- What is a bug?
- Open vs. Closed Bug Tracking
- Microsoft - http://connect.microsoft.com/
- Mozilla - https://bugzilla.mozilla.org
- Chrome - http://code.google.com/p/chromium/issues/list
- Searching for Bugs
- How to File a Bug
- Dupes, Depends, Blocks
- Following bugs through bugzilla
- Open vs. Closed Bug Tracking
- Readings/Resources
- Bugzilla for Humans (video by Mozilla's Johnathan Nightingale)
- The Life-cycle of a Bug (on-line lecture) by Mozilla's Mike Connor
- Account of fixing a first bug, by Mozilla's Atul Varma
- Example of a bug off the rails
- Lab
- Continuing... Firefox Performance Testing
- TODO
- Create a bugzilla account
- CC yourself on some of the Chrome Experiments bugs in Mozilla's bugzilla
- Blog about your work learning and using bugzilla, about the things you learned about using it, what was good, what was bad, and any new tools/techniques you learned this week.
- Work with #seneca on irc to figure out which bugs you need to file on your Chrome tests
- Be working on your first project release. Ask for help if you're stuck
- Register for FSOSS or join as a volunteer.
- Look at project list and get your initial project plan done.
Weeks 4, 5 (Sept 27) - Building Mozilla
- Introduction to RCS
- SVN, Mercurial, Git (more on git later)
- Build Environments
- Finding and Installing build dependencies
- Example: Mozilla Build for Windows
- Using yum, MacPorts, etc.
- Operating systems, cross-platform builds
- Machine requirements
- Fast I/O, lots of RAM (for linking)
- Tools
- Libraries
- Settings
- Environment variables, PATHs
- Finding and Installing build dependencies
- Readings/Resources
- How the Mozilla Build Works (on-line lecture) by Mozilla's J. Paul Reed
- Mozilla's Build System (on-line lecture) by the owner of the Mozilla Build System, Ted Mielczarek
- Introduction to Mercurial. The full book is excellent to read or use as a reference, but this section is a must.
- Great Introduction to GCC/G++ (Brian Gough's An Introduction to GCC for the GNU Compilers gcc and g++)
- Introduction to Make and Makefiles
- TODO
- Watch online lectures about the Mozilla build system.
- Build Firefox (or Thunderbird) on at least one of Windows/Linux/OSX, and preferrabely two platforms. Blog about the experience:
- What problems did you have?
- What did you learn in the process?
- What surprised you?
- Note: Do not put build output in your blog. You can use your wiki pages for that. The blog should be commentary on the experience of building a large piece of open source software.