Foundation:Planning:Education:Seneca
Since 2005 Seneca College has worked closely with the Mozilla community in order to create a set of Mozilla specific courses (see 1, 2, 3), engage hundreds of students directly in Mozilla development projects, host and record dozens of Mozilla events and talks, etc. Seneca's faculty and students are key contributors to the Mozilla project, and have gained significant experience bootstrapping new contributors into the Mozilla technology and culture. The resources, knowledge, and experience that has come from this work can be used around the world by other institutions and individuals who wish to also become part of Mozilla or otherwise contribute.
Overview
Vision
Students anywhere can take advantage of the Seneca / Mozilla learning model, accessing projects, community support and mentoring while participating in Mozilla.
Context
Mozilla's work with Seneca began with a research project that required knowledge of Firefox's source code. After the project was completed, it was clear that the knowledge gained about how to get started in the Mozilla community was something that should be taught on its own: Mozilla provides one of the best real world examples of a large open source code base that is actively maintained by a global community. At the same time it was clear that Mozilla itself, while good at the highly technical work of creating its software products, was not as good at helping new people to get started (i.e., many contributors find Mozilla on their own, and then teach themselves how to cope).
Seneca's goal was to work directly with Mozilla's core community vs. trying to impose an institutional agenda on the community. This meant adopting and teaching Mozilla's own tools (wikis, irc, blogs, planets, bugzilla, mxr, etc.) instead of trying to get Mozilla to use Blackboard or Moodle. Since it was easy for Mozilla to engage with the students, they did, and a healthy sub-community evolved. The model has been described in detail in a paper called, A Model for Sustainable Involvement in Community Open Source (pdf).
As time has passed, many generations of Seneca-Mozilla contributors have gone through the courses. The students have produced valuable contributions, for example: APNG, plugin-watcher, buildbot infrastructure, web tool improvements, core improvements, Firefox and Thunderbird front-end fixes, countless tests/docs and other QA related activities, etc. In addition, students have been hired as full-time Mozilla Corporation employees or interns, helping to validate the level and focus of the work they did while in the Mozilla courses.
The Seneca-Mozilla work has been praised online and in the media, and seen as positive by people who have participated. The work has also attracted attention from other institutions wanting to do similar work (e.g., universities in France, Japan, Canada, the US). Seneca has worked with many external institutions in order to try and duplicate the work, but to date no other schools have engaged on the same scale.
It seems that one of the main problems is that it is hard to find the 'perfect storm' of prof, contributor and institution: Mozilla is a complicated technology and community for newcomers. Seneca has evolved into this over time, but didn't begin as an obvious candidate for a Mozilla partnership. As such, it is believed that similar schools can grow into this work, especially if we can leverage Seneca's work and experience. It is hoped that by lowering the barriers to entry for students and professors, more will get involved.
Thesis
The best (or at least first) way to scale the teaching method, community infrastructure and materials developed at Seneca is simply to open everything up to students at other colleges and universities. In the short term, this will mean more students from more places participating in Mozilla. Over the long term, it may lead to more professors and institutions contributing to Mozilla Education in a bigger way.
Desired outcomes
- gradually build up a 'self priming pump' for student involvement in Mozilla, with the pathway to participation becoming clear and systematized
- more students participating from more places
- professors dip their toes in the water with a few students, eventually becoming more involved
- provide support (e.g., David and the Seneca-Mozilla community) to new students and professors in order to help them get started faster.
- package and make available learning resources and tools specifically geared to new professors and students, and make sure that these are useful around the world (e.g., low bandwidth regions), for example, the Mozilla Developer Resource Kit and DXR.
How it will work
Scope
- current focus is on computer studies, using XUL development as content
- could expand to include other topics using the same method
- open web technologies (for web design and tech students)
- design
- business
- marketing
Approach
- some kind of intake method of barrier to entry to make sure students are serious?
- how do we find *good* students?
- is there any difference for masters and undergrad students?
- some sort of web page that provides an entry point for interested students, explaining the process?
- self study (moodle?) or regularly scheduled online version of Real World Mozilla course based on the material Dave uses at the beginning of each course
- regularly maintained list of features and bugs that students could work on, ideally with info on people willing to mentor
- needs a bit more description and context than just a search in bugzilla, especially with respect to knowing who people will need to talk to in order to get started, what does and doesn't have value, etc.
- Dave sitting on triage calls, at least for thunderbird and firefox
- Seneca community infrastructure where students can sandbox -> #seneca, wiki, planet, etc
- Seneca has already experimented with this in the past: students and faculty from around the world use #seneca; the Seneca wiki is open, and many community members use it; non-Seneca people have their blogs on the Seneca planet.
- access to mentors -> how would this work?
- The most effective way to do this is to support students and faculty to become contributors as quickly as possible. This means getting their work into bugs so that the usual Mozilla review system can take over (i.e., they cease to be students, and become regular contributors, helping the Mozilla community absorb them without the need for new categories of people). In addition, using communication tools like #seneca provides a way for "beginner" questions that don't belong in bugs to get asked with safety (i.e., Mozilla's main developer channels can't tolerate this sort of questioning in a sustained way).
Products / stuff we'll create
- well maintained web presence that provides students (and professors) a pathway into Mozilla Education
- Mozilla-Education sub-community, including core Mozilla people, Seneca people, and new students/profs from elsewhere. This sub-community will help to create a critical mass of people and help to sustain this effort.
- a self study course based on the existing Seneca Mozilla courses.
- a Mozilla Developer Resource Kit, suitable for use online and/or locally on an individual's computer (i.e., for people without sufficient bandwidth), providing access to source code, documentation, reference material, etc.
- an actively maintained list of potential projects (bugs) for students and others looking to get involved.
- a retrospective look at bugzilla in order to data mine knowledge in the community about Mozilla development best practices. Every day patches are reviewed, and knowledge recorded about what to do, and what not to do. This information should be gathered so that new students/faculty can be more effective with their work right away. Also, this would help to make Mozilla seem less intimidating for outsiders: it's a real strength of Mozilla that so much of the knowledge is embedded in the community; but it also sets up an "inside" and "outside." Many faculty and students want to get engaged quickly to do a project, and may or may not want to commit to staying around long term.
- a living example of what it means to teach Mozilla at the post-secondary level, but continuing to offer the Mozilla courses at Seneca. This will insure a steady supply of students, updates to materials, constant improvement of process, etc. and give interested faculty elsewhere a model to follow. In addition, look for realistic ways for non-Seneca people to participate in these courses remotely.
Use cases
Student
- student has one or more independent study or practical credits to complete
- goes to Mozilla Education site run by Seneca, learns about how it works
- applies for support / admission? how does this work?
- takes the online Real World Mozilla course
- picks a project, gets help finding a mentor
- participates in #seneca etc. while doing project … also blogs
- what else? how does it end? what if they are doing multiple credits?
- Having some sort of "final presentation" to the community would be useful. This would likely need to happen in an online way. A template could be created so that students properly discuss their outcomes, interactions with the community, difficulties, successes, etc. and the community gets to see the process in action. Perhaps some of these could also be given life at an event (fsoss, fosdem, oscon).
- Does successful completion of this put students in a good position to apply for a Mozilla internship?
Professor
- professor has a number of students they'd like to have participate, but isn't ready or able to run a whole Mozilla course
- most professors will have an area of specialization. Ideally we want to see that area map into a Mozilla development module, such that the prof can start doing some real work based on what he/she already knows.
- if a professor is able to gain some level of ownership over some thing in Mozilla, he/she is more likely to stay involved and engaged, and be a better first-level mentor for the students. So some of the work that goes into having profs get involved has to be finding ways to fit them into the fabric of the community by leveraging who they are and what they are good at academically.
- professors, unlike students, will often need more help doing things like setting up blogs, using communication tools, etc. which are typically not part of their generation. Having other professors around (e.g., Dave) who can help with this and not have them feel "stupid" is important to getting them to feel comfortable and involved. The more then engage with these tools and processes, the more successful they will be long term, since the Mozilla community is not likely to do the opposite and learn to use their institutional tools.
- since professors also have extensive experience with pedagogy, we would encourage them to participate in the creation and improvement of our educational materials.
Mentor
- Mozilla contributor who would like to help, either in general or with a specific university (e.g. the Jason case)
- Mentors can get involved at different levels:
- Commenting and reviewing patches in bugs (most already do this)
- Working with people on irc, and specifically in the edu-specific channel(s).
- Contributing new project ideas
- Connecting people to other people in the community (it is important to get established people to bridge the core<->edu divide such that new students can get accepted quickly).
- Contributing to learning materials
- Giving guest lectures
- Writing blog posts that are specifically geared to readers of Mozilla-edu
- Almost all Mozilla community and MoCo people have an affiliation with a university or college (i.e., where they themselves attended). We would encourage these mentors to go back to their schools and try to make contact. The support we can provide is that they would not have to do this alone, but could instead connect directly to the Mozilla-Edu effort and its community.
Resources
Things we have
- Seneca course materials, including video of Mozilla Corporation employees giving guest lectures, self-guided labs and walkthroughs, etc. These materials provide a pathway to becoming competent as a contributor.
- Active community infrastructure, including open bug database, open wikis, countless blogs, public irc channels, developer documentation, open web tools for developers.
- Existing "education" sub-community within Mozilla that includes core contributors, Seneca faculty and students, past Seneca-Mozilla graduates. This group is sympathetic to, and informed about issues that new students and faculty face.
Things we need
- A web property for all the Mozilla-edu work to live. Doing some of this on Seneca's web properties is fine, but some institutions will find it less interesting the "further" they get from Mozilla proper.
Financial
- requires course release for Dave Humphrey to be doing this, especially if focused on outside students
- students participation itself shouldn't cost anything
- over time, other institutions may run Mozilla related courses, or at least part courses, using their own funds
Roadmap
Note that activities below are categorized as
- sustaining activities that continue / complete projects already underway, or that are otherwise needed to maintain the overall Seneca program
- new activities in 2008 intended to meet the goal of expanding the program to address non-Seneca needs
In some cases a particular activity has both sustaining and new aspects, in which cases we've tried to separate the aspects and list them separately.
Q1 2009
Sustaining:
- Continue working on DXR so it can be included in the Mozilla Developer Resource Kit.
- Offer second Mozilla Development course at Seneca, mentoring existing students through completion of their bugs and projects.
- Continue contributing code to Firefox and Thunderbird in order to stay current and be an active member of the community.
New:
- Work with the Mozilla Foundation to set detailed goals and directions for expanding to non-Seneca contexts.
- Create Mozilla Education online and process infrastructure, including newsgroup, planet, bugzilla, wiki, etc.
- Search out and connect with new professors coming on-line with Mozilla, and get information about what materials/resources they need so these can be created.
- Begin attending Firefox/Thunderbird status calls and looking for good student projects for both Seneca and non-Seneca purposes.
- Lead the work to sustain and grow the Mozilla-Edu community with students (Seneca and non-Seneca), professors, and Mozilla mentors.
- Participate in creation of TeachingOpenSource.org (TOS) -- an upstream open source education catch-all project/organization
Q2 2009
Sustaining:
- Continue working on DXR/Mozilla Developer Resource Kit
- Continue contributing code to Firefox and Thunderbird in order to stay current and be an active member of the community.
- Continue supporting TOS efforts, giving Mozilla Education visibility within academic and open source circles.
New:
- Work to improve, generalize, and modularize Seneca course materials, Real World Mozilla
- Help improve and further develop education.mozilla.org.
- Continue finding student-project bugs in partnership with the community
- Work with external profs to plan and implement virtual/open course for fall.
- Provide mentoring for new professors getting ready for fall
- Help support students coming online with Mozilla for Google Summer of Code
Q3 2009
Sustaining:
- Complete beta of Mozilla Developer Resource Kit.
- Continue contributing code to Firefox and Thunderbird in order to stay current and be an active member of the community.
New:
- Finish update and modularization of Seneca learning materials
- Continue bugzilla best practices data mining
- Continue attending triage calls and maintaining the master Mozilla list of good student projects.
- Lead the work to sustain and grow the Mozilla-Edu community with students (Seneca and non-Seneca), professors, and Mozilla mentors.
Q4 2009
Sustaining:
- Offer first Virtual/Open Mozilla Development course at Seneca in partnership with other schools
- Pilot test Mozilla Developer Resource Kit in a course offering.
- Continue contributing code to Firefox and Thunderbird in order to stay current and be an active member of the community.
New:
- Open Mozilla Development course to wider participation using materials created/updated in previous quarters.
- Include non-Seneca students in the Mozilla Developer Resource Kit pilot test.
- Get all Mozilla self-study materials online in a form that can be easily consumed by individual students
- Pilot test Mozilla Developer Resource Kit in a course offering with Seneca and non-Seneca students.
- Continue attending triage calls and maintaining the master Mozilla list of good student projects.
- Continue bugzilla best practices data mining
- Lead the work to sustain and grow the Mozilla-Edu community with students (Seneca and non-Seneca), professors, and Mozilla mentors.
Beyond
Sustaining:
- Continue to teach Mozilla at Seneca.
- Finalize Mozilla Developer Resource Kit based on use in Seneca courses.
- Continue to maintain #seneca, blog planets, wikis, and other key Mozilla-Edu community landing sites
New:
- Leverage Seneca Mozilla teaching experience, knowledge, and resources back into the broader Mozilla Education resources.
- Further testing of the Mozilla Developer Resource Kit in non-Seneca contexts.
- Develop a maintenance and distribution plan for Mozilla Developer Resource Kit and Mozilla Education learning materials.
- Continue to maintain list of projects and mentor students into community so that they can work on these effectively.