Outreachy
Mozilla has participated in the GNOME-OPW program for several years.
The Outreach Program for Women (OPW) helps women (cis and trans) and genderqueer get involved in free and open source software. We provide a supportive community for beginning to contribute any time throughout the year and offer focused internship opportunities twice a year with a number of free software organizations.
Useful links
- https://wiki.gnome.org/OutreachProgramForWomen
- https://gnome.org/opw/
- GNOME OPW Handbook
- Information for mentors, from Linux Kernel project
- 2016 Summer Cohort mentor application
Upcoming Outreachy Program: Round 12 (June-August 2016)
Key Dates
- February 22 Applications are open!
- February 28 Mentor applications close
- March 22 Participant Applications due
Application Process
Applicants and mentors, please review the Outreachy Eligibility and Application Information page to learn more about applying for Outreachy.
Mentors can still apply to support a project through February 28.
Projects to Apply for
There will be several Mozilla Outreachy projects for Round 12 are being posted as they are approved, through February 28. As projects become available they will be listed here and advertised via social media.
SVG Reference Documentation
- Mentor: Jean-Yves Perrier
- The participant will have to perform the following tasks:
- Write a reference page for each SVG-related interface.
- Create a code sample showing the use of each interface.
- Write a reference page for each property and method, adapting the code sample of the relevant interface for displaying the usage of the specific entity.
- Adapt the SVG tutorial to the newly written reference documentation.
- The following skills are needed:
- fair knowledge of HTML and SVG
- basic knowledge of JavaScript and DOM, ability to create and access nodes of the DOM tree.
- ability to write fluently in English (English as a native language is NOT required)
- ability to write basic code samples (10-20 lines of code each)
- familiarity with a wiki and/or github is a plus.
Realtime Push Notifications for Kinto
- Mentor: Remy Hubscher
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects. https://kinto.readthedocs.org
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates.
The participant would extend the notification system to implement realtime updates between devices.
- On the server side we are using Pyramid and Python with a bit of AsyncIO
- On the client side this will involve JavaScript and Websocket management.
Enhancements to Python testing tool plugin for generation of HTML reports
- Mentor: Dave Hunt
The successful candidate will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results.
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report.
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression.
It would be advantageous for potential candidates to have experience in creating simple HTML pages using JavaScript and CSS, however this is not essential. It would also help if the candidate has experience with Python or pytest, but again this is not essential so long as the candidate is willing and able to learn these skills during the internship.
Test-driven Refactoring of Marionette's Python Test Runner
- Mentor: Maja Frydrychowicz
Marionette's Python Test Runner (a.k.a marionette-client) is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We've already started this work and we're excited to have an intern help us continue.
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we're writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we're testing the thing that runs Firefox tests. Part of the intern's role is to write more of these tests. While writing tests, the intern will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by ""test-driven refactoring"". Other tasks might include:
- Making the test results more informative and easy to read on Treeherder's log viewer.
- Making the tests more convenient to run locally with mach.
In order to participate, the following skills are needed:
- programming in Python or other object-oriented language: intern has written small, stand-alone projects themselves from scratch and is familiar with concepts like inheritance
- some basic experience with using command-line tools
- some basic experience with any version control system
- motivation and patience to read/understand lots of messy code and to ask lots of thoughtful questions about it
Aside from general Mozilla-contribution skills, the intern will learn:
- More Python as well as Python libraries related to testing and logging
- How Mozilla's release cycle and giant automation infrastructure work
- How to write good tests and write modular, testable code
Add robust AMI management to the TaskCluster AWS Provisioner
- Mentor: Dustin J. Mitchell
TaskCluster (https://tools.taskcluster.net) is a distributed task execution system Mozilla uses to build, test, and release Firefox. The AWS provisioner is the component responsible for managing the AWS EC2 instances that execute tasks. The project is to improve its management of AMIs, making them easier to create, deploy, and clean up.
For this project, you should have some programming experience in JavaScript, and be ready to learn more. You should know a thing or two about communicating with web services via HTTP APIs. And you should be familiar with Amazon's EC2 service (work through a tutorial or two if you haven't already).
Everything we do is open-source, and we love to see open-source contributions, so improve your chances with a link to your github account or highlight a pull request you are proud of. We would also love to see code (in any language) to talk to an HTTP API (for example, the Github API). Contributing to one of the projects under https://github.com/taskcluster will send your application to the top of the pile!"
Past Outreachy/OPW internships
Complete List of Participants
ROUND 11
Got Questions? Ask:
Outreachy Coordinators:
- Jane Finette, Executive Program Manager
- Larissa Shapiro, Sr Program Manager, Diversity and Inclusion
Lauren Conrad
Participant: Lauren Conrad
Based in: Rye Brook, New York USA. (For anyone who doesn't know, that's a suburb right outside New York City!)
Mentor: Joni Savage
"I am thrilled to be working for such a well known company and to be translating my writing skills into the tech world."
Project: SUMO - Build a tutorial or training tool for new technical writers
Roxana Ilie
Participant: Roxana Ilie
Based in: Bucharest, Romania
Mentor: Patrick McManus
"I am very excited to be joining the Mozilla Outreach Program because after enjoying so much using the browser, I will have the opportunity to give something back and use my knowledge in order to help the community to improve Mozilla Firefox."
Project: Battery Friendly Platform Networking Deadline Scheduler
Richa Rupela
Participant: Richa Rupela
Based in: Bikaner, Rajasthan, India
Mentor: Anne van Kesteren
"Super excited to work on Whatwg project, mentored by Anne van Kesteren. Mozilla Outreach program has given me a great opportunity of working with a such a elite community. Looking forward to an awesome winter where I will work on the HTML standards!"
Project: Contribute to the HTML Standard!
Shweta Oak
Based in: Mumbai, India
Mentor: Alexis Metaireau
"I am extremely excited to be a part of an organization that is so instrumental in the development of the open web and get a chance to make contributions that enrich the lives of people."
Project: Kinto — Make instances discoverable
Jullie Utsch
Participant: Jullie Utsch
Based in: Belo Horizonte - MG Brazil
Mentor: Ilana Segall
“What makes me excited about Outreachy: Being part of a great community, sharing with incredible people and taking part in making the tech industry a little more diverse. :)”
Project: Visual Design with Research Data
Cynthia Anyango
Participant: Cynthia Anyango Based in: Nairobi , Kenya
Mentor: Karl Thiessen
"I am excited to join Mozilla for the outreach program especially the project I am attached to because I get to contribute to open source Mozilla services that make lives better"
Project: Enumerate (and Dockerize) the tests! (Quality Assurance)
Nikki Bee
Participant: Nikki Bee
Based in: Alberta, Canada
Mentor: Josh Matthews
"I'm excited at the chance to learn Rust and contribute to a major FOSS project, especially for an organization that has been as welcoming as Mozilla."
Project: Servo: Complete implementation of Fetch standard
My Lê
Based in: Paris - France
Mentor: Ricardo Vazquez
"Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web."
Project: Open Source Designer, Mozilla Foundation
ROUND 10
https://wiki.gnome.org/Outreachy/2015/MayAugust#Participating_Organizations
Thalia Chan (Tchanders), London, UK - Socorro crash statistics front-end development - Adrian Gaudebert
Alice Duarte Scarpa (adusca), Rio de Janeiro, Brazil - Integrate the ability to arbitrarily retrigger jobs into functional tools & production quality code - Armen Zambrano Gasparnian
Gloria Dwomoh (blossomica), Piraeus, Greece - Air Mozilla web design and development - Peter Bengtsson
ROUND 9
https://wiki.gnome.org/OutreachProgramForWomen/2014/DecemberMarch#Participating_Organizations
Lisa Hewus Fresh Portland, OR, USA - Air Mozilla Web Design and Development - Peter Bengtsson
Tessy Joseph (tessy), Kerala, India - One and Done - Rebecca Billings
Barbara Miller (galgeek), Portland, OR, USA - QA/Automation - Henrik Skupin
Adam Okoye (aokoye), Portland, OR, USA - SUMO/Input Web Design and Development - Will Kahn-Greene
ROUND 8
https://wiki.gnome.org/OutreachProgramForWomen/2014/MayAugust#Participating_Organizations
Francesca Ciceri (MadameZou), Massa, Italy - Bug wrangling - Liz Henry
Joelle Fleurantin (Queeniebee), New York, NY, USA - Maintaining the Gateway: Improving Mozilla Wiki through updating Information Architecture and Theme - Christie Koehler
Maja Frydrychowicz (maja_zf), Montreal, Quebec, Canada - Django development for One and Done - Liz Henry
Sara Mansouri (sara_mansouri), Saskatoon, Saskatchewan, Canada - Redevelopment of badges.mozilla.org and other contributor gamification infrastructure - Larissa Shapiro
ROUND 7
https://wiki.gnome.org/OutreachProgramForWomen/2013/DecemberMarch#Participating_Organizations
Isabelle Carter (ibnc), Springfield, MO, USA - Servo - Lars Bergstrom
Jennie Rose Halperin (jennierose), Carrboro, NC, USA - Community building - Larissa Shapiro
Jennifer "Nif" Ward (nif), Oberlin, OH, USA - Rust - Tim Chevalier
Sabina Brown (binab), Santa Cruz, CA, USA - SUMO (Support.Mozilla.org) community building - Ibai Garcia
ROUND 6
https://wiki.gnome.org/OutreachProgramForWomen/2013/JuneSeptember#Participating_Organizations
coordinators: Selena Deckelmann and Liz Henry
Gabriela Salvador Thumé (gabithume), São Carlos, São Paulo, Brazil - Socorro - Selena Deckelmann
Tiziana Sellitto (tiziana), Salerno, Italy - Bug wrangling - Liz Henry
ROUND 5
https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations
Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk