Outreachy: Difference between revisions

m (add away note for FxA)
 
(112 intermediate revisions by 24 users not shown)
Line 1: Line 1:
Mozilla has participated in the Outreachy program for several years.  The goals of the program are to increase participation from under-represented groups in free and open source software. Participation is open:
<div style="float: right">__TOC__</div>
* internationally to all women (cis and trans), trans men, and genderqueer people
Mozilla has participated in [https://outreachy.org the Outreachy program] since January 2013.  The goal of the program is to increase participation from under-represented groups in free and open source software. It is a project of the Software Freedom Conservancy.
* also open in the U.S. to all Black/African American, Hispanic/Latin@, American Indian, Alaska Native, Native Hawaiian, and Pacific Islander people


We provide a supportive community for beginning to contribute any time throughout the year and offer three month paid contribution opportunities twice a year.
Mozilla hosts approximately 20 participants across two cohorts (summer and winter) each year.  Mozilla employees work 1:1 with participants for three months.  The program expressly invites women (both cis and trans), trans men, and genderqueer people to apply. It also expressly invites applications from residents and nationals of the United States of any gender who are Black/African American, Hispanic/Latin@, Native American/American Indian, Alaska Native, Native Hawaiian, or Pacific Islander. Anyone who faces under-representation, systemic bias, or discrimination in the technology industry of their country is invited to apply.                                                                                                                                                                                                                                                                                                          


==Useful links for More Information==
== Current Round ==
* https://wiki.gnome.org/OutreachProgramForWomen
* https://gnome.org/opw/
* [[GNOME OPW Handbook]]
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]
==Applications for Round 13 (Dec 2016-March 2017) are open September 12-October 17==
===Project List===


====Make WebExtension Development More Awesome====
[[Outreachy/Round/22|Round 22]] (May-August 2021) is the current round.
* Mentor: [https://mozillians.org/en-US/u/kumar/ Kumar McMillan] (kumar on IRC)


[https://developer.mozilla.org/en-US/Add-ons/WebExtensions WebExtensions] let anyone extend and customize their web browser, such as blocking ads on every website they visit. This is an exciting time for the API because it’s now possible to write a single extension that works in both Firefox, [https://developer.chrome.com/extensions Chrome], [https://dev.opera.com/extensions/ Opera], and soon IE. At Mozilla we provide several tools and resources to make developing extensions fun and easy but we’d like to make this development experience even better.
== Participant Application Process ==
First, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about eligibility for Outreachy.


The participant would improve the productivity of WebExtension developers in the following ways. Most of these tasks involve changing the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext web-ext] command line tool but others may involve writing documentation or example code.
Steps for applicants to Mozilla:
# Confirm your eligibility on the [https://www.outreachy.org/apply/ outreachy site]
# Look at the Mozilla projects available on the Outreachy site, consider your options, and if you have questions communicate with the project mentors. Of course, you are welcome to apply for non-Mozilla projects you find on the site as well!  You can communicate with other applicants, mentors, and coordinators in [https://chat.mozilla.org/#/room/#outreachy:mozilla.org #outreachy on chat.mozilla.org].
# Begin by contributing to the project. Most projects will describe how to make your first contribution.  As you make contributions, record them in the Outreachy site.  [https://codetribute.mozilla.org/ Codetribute] may help you find good tasks to work on.  ''For many applicants, this is the most valuable part of the experience!''
# Once you have made a few contributions, begin to write your application.  Ask the mentors to review the application before you submit it.


* Utilize common web developer tools when building extensions.
== Participant Expectations ==
** Craft examples that show how to use [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import ES6 imports] and other features that typically require code transpilation with [http://babeljs.io/ babel] or [http://rollupjs.org/ rollup]. [https://github.com/mdn/webextensions-examples/issues/97 More info].
* Automatically keep the web-ext tool up to date to avoid bugs.
** Alert the developer if their version of web-ext is out of date. [https://github.com/mozilla/web-ext/issues/142 More info].
* Offer extension “linting” in code editors
** Integrate web-ext's existing [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext#Checking_for_code_lint lint checking feature] into popular editors such as [https://atom.io/ Atom], [http://www.vim.org/ Vim], and [https://www.gnu.org/software/emacs/ Emacs]. [https://github.com/mozilla/web-ext/issues/539 More info].
* Add a new web-ext command that lays out a directory structure for an extension
** This command would automatically generate a manifest.json file and other common files to help the developer get started on a new extension. [https://github.com/mozilla/web-ext/issues/540 More info].
* Build a mock WebExtension API for use in automated tests
** Invent a JavaScript library that developers can use to execute tests for their extension without having to launch a web browser. [https://github.com/mozilla/web-ext/issues/497 More info].


Contributing to WebExtensions is a great opportunity to empower those who are extending the web!
You will be working full-time on your project for three months.  You will meet with your mentor(s) frequently and participate in the open-source development process -- writing code, reviewing code, testing, and so on.  You will be expected to write a blog entry each week.


Desired technical skills:
== Mentor / Project Applications ==
* Intermediate experience with JavaScript, preferably with some ES6 experience
* Familiarity with the command line environment for [https://nodejs.org/en/ NodeJS] development
* Ability to communicate in English, primarily in written form


How to familiarize yourself with the project:
Mentors submit projects that they are willing to mentor. Here's what you need to know:
* Try out the [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext web-ext] tool and file a bug if you find one
* Look through [https://github.com/mdn/webextensions-examples WebExtension examples] and try them out with [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext#Testing_out_an_extension web-ext run]
* Search for [https://github.com/mozilla/web-ext/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+bug%22 good first bugs] in the web-ext repository and submit a patch
* Search for [https://github.com/mozilla/sign-addon/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+bug%22 good first bugs] in the sign-addon repository and submit a patch


====Build a Library of Inclusion Best Practices and Case Studies====
* The participant will be working full-time, spending 40 hours a week on their project for three months.  Participants will work remotely from home. Your project must be something the participant can do remotely and complete within those months.  You will need to meet at least weekly with your participant, and be available for questions, code review, and so on throughout the internship.
* Mentor: [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro]
* You will be heavily involved in the selection process for your mentee which will involve interviewing, reviewing code check-ins / bug reports / trial work.
* During the application process, applicants will be expected to make contributions, so make sure you have established a system for new contributors to get involved and have enough good starter tasks for them.
* Speak with your manager to check it’s OK for you to submit a project proposal.  Each participating organization will need to provide budget for the participant costs of $6500.  The Mozilla coordinators can help connect you with that budget.
* To maximize the number of applicants to your project, submit it as early in the process as possible.
* [https://www.outreachy.org/mentor/mentor-faq/ More FAQ's on the Outreachy Site]


This project is a community research project to identify and document examples of successful inclusive teams and communities within Mozilla, in order to amplify successes and highlight bright spots. The Outreachy participant will assess programs for suitability, and then interview participants, and then document case studies, referencing appropriate research and industry/community best practices. This is a great opportunity for a person interested in Diversity and Inclusion, Community Building, or User/Community research.
== Help! ==


Skills learned in this project will include effective interviewing, case study development, awareness of research in best practices in inclusion across cultures and other diversity dimensions, and wiki markup/editing.
Questions? Ask:
* Mozilla Outreachy Coordinators: [mailto:outreachy-coordinators@mozilla.com outreachy-coordinators@mozilla.com]
* Mozilla Slack: #outreachy (staff only)
* [https://chat.mozilla.org/#/room/#outreachy:mozilla.org #outreachy on chat.mozilla.org]


Your work sample should be a short written case study of a program or project you have done as a volunteer or as a new employee, technical or non, and should describe exactly how this program or project included you and failed to include you. Specific examples, connections to research, and detail are appreciated. It should be a several paragraph document.
== Links ==
 
* [https://chat.mozilla.org/#/room/#outreachy:mozilla.org Outreachy on chat.mozilla.org]
====Improving user experience of Firefox Accounts [No longer taking new applicants] ====  
* [https://docs.google.com/document/d/1hR_JDDTihKXGK46NnueNpbpfat4PAZ7wiIvgYX47ZpY/edit# Project Proposal Guide] (staff only)
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC)
* https://www.outreachy.org/ -- main Outreachy site
* '''(mentor is away until October 20th, please ask question in the #fxa channel or in GitHub issues)'''
* [http://kernelnewbies.org/OPWMentor Information for mentors, from Linux Kernel project]
 
* [https://lists.outreachy.org/cgi-bin/mailman/listinfo/announce Outreachy announcement mailing list] (find out about upcoming rounds)
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and Firefox Accounts. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your software engineering skills will assist in the following:
 
Developing new application improvements to reduce the number of user errors on password reset, password change, and sign up flows.
 
Improving the verification rate and speed of new users signing up for Firefox Accounts.
 
Skill requirements for this project: Git, JavaScript.
Software requirements: Mac OS or Linux.
As part of your application please try to fix a ‘good first bug’ at:
[https://waffle.io/mozilla/fxa?label=good-first-bug waffle.io/mozilla/fxa?label=good-first-bug]
 
To get started with Firefox Accounts please visit: [https://github.com/mozilla/fxa-content-server#quick-start github.com/mozilla/fxa-content-server#quick-start]
 
To learn more about Firefox Accounts project check out: [https://fxa.readthedocs.io/en/latest/ fxa.readthedocs.io/en/latest/]
 
====Improving server-side components of Firefox Accounts====
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC)
* '''(mentor is away until October 20th, please ask question in the #fxa channel or in GitHub issues)'''
 
This project is part of improving the server components of Firefox Accounts. You will be involved in improving the security, APIs, and measuring success of certain features. Detailed projects:
 
Improving Firefox Sync and Firefox Accounts integration.
Improving device management and OAuth APIs.
 
Skill requirements for this project: Git, Node.js.
Software requirements: Mac OS or Linux.
As part of your application please try to fix a ‘good first bug’ at:  
[https://waffle.io/mozilla/fxa?label=good-first-bug waffle.io/mozilla/fxa?label=good-first-bug]
 
To get started with Firefox Accounts servers please visit: [https://github.com/mozilla/fxa-local-dev github.com/mozilla/fxa-local-dev]
 
To learn more about Firefox Accounts project check out: [https://fxa.readthedocs.io/en/latest/ fxa.readthedocs.io/en/latest/]
 
==== User Impact of XSS Filters within Web Browsers ====
* Mentors: [https://mozillians.org/en-US/u/freddyb/ Frederik Braun] & [https://mozillians.org/en-US/u/ckerschbaumer/ Christoph Kerschbaumer]
 
Cross Site Scripting (XSS) consistently ranks highest in the list of the most prevalent software vulnerabilities.
Using XSS, hackers can gain access to confidential user data and conduct transactions on behalf of the user.
Many browsers provide a built-in XSS filter to protect the majority of users from XSS issues. Such heuristic based filters also trigger false positives. This may downgrade a user's experience on a benign site. Even worse, such filters might even introduce new vulnerabilities.
 
 
To the end of the project we expect you to
 
* implement an XSS filter within Firefox
* measure user impact based on false positive rate
* measure performance
* co-produce a white paper with the mentors that summarizes the outcome of this project.
* (Pro Tip: This might qualify as a term paper or even grow into a thesis for your studies).
 
 
How you can prepare for the program:
 
* Familiarize yourself with the problem by reading literature on XSS-Filters:
** Introduction of the Chrome/Webkit filter called XSS Auditor in "Regular expressions considered harmful in client-side XSS filters"
** Security vulnerabilities introduced though XSS filters in IE8: https://blog.c22.cc/2010/04/15/blackhat-europe-universal-xss-via-ie8s-xss-filters-2/
** Bypassing XSS filters: (http://www.thespanner.co.uk/2015/02/10/xss-auditor-bypass/, http://brutelogic.com.br/blog/chrome-xss-bypass/)
* Familiarize yourself with the state of the art of implementing an XSS filter
** Browse the source code of NoScript, XSSAuditor in WebKit, or also the source of Internet Explorer (which can be inspected by looking into mshtml.dll)
** Compare approaches of these filters to answer questions like: where do their approaches overlap, which differences exist in their threat models, etc.
* Prepare yourself for implementing a filter within Firefox
** Outline the advantages and disadvantages of existing approaches Sketch out details for the actual implementation
 
 
We would be thrilled if you have a
 
* a deep understanding of Web Security and XSS
* a fundamental understanding of browser architecture
* solid experience in developing C/C++ applications
* the ability to work with a geographically distributed development team
* experience in learning, building and being effective with a large code base
 
 
We at Mozilla Security Engineering give you the opportunity to improve Firefox.  We are an equal opportunity employer and value diversity. We do not discriminate  on the basis of race, religion, color, national origin, gender, sexual  orientation, age, marital status, veteran status, or disability status.
 
==== taskcluster-cli go implementation [No longer taking applicants] ====
 
* Mentors: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa] & [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen]
 
===== Background =====
 
Mozilla is a company that is strongly committed to inclusion and diversity.
The Taskcluster team at Mozilla builds an automation platform, similar in scope
to Buildbot and Jenkins. The project is built to support the continuous
integration testing of Mozilla projects like Firefox and Rust as well as
projects that Mozilla participates in, like NSS. Taskcluster is built
using distributed 'cloud' computing services where possible. Taskcluster
developers and users often need to do some tasks manually, like craft, inspect
and kill tasks; roles and users management; download artifacts, etc.
taskcluster-cli is a generic command line tool to interact with Taskcluster,
built by and for shell command lovers. We have a long live
[https://github.com/taskcluster/taskcluster-cli Javascript implementation],
and are starting a
[https://github.com/taskcluster/taskcluster-cli/tree/go-tc-cli new version] completely
rewritten in [https://golang.org/ Golang].
 
===== Project =====
 
The goal of this project is to implement the main features to the new
Golang based taskcluster-cli, including task creation, task groups scheduling,
users management, and so on. We want someone that is keen to learn and
engaged on making taskcluster-cli a great tool. You should know basics of
Go (Go is a simple language and the basics can be learned during application
process). The advanced skills on the language can be acquired during internship
with help from project mentors. Some knowledge of Javascript (ES6 is a plus) is
desired but not required (although you may expect reading some modern Javascript
code from time to time), as well as some general concepts of Web APIs.
 
Required skills:
 
* Go programming language (you can learn during application process)
* Basic git and github workflow
* Desire to learn
* Engagement
 
Desired skills:
 
* Javascript
* ES6
* Web APIs
 
Getting started: https://public.etherpad-mozilla.org/p/taskcluster-cli-applicants-getting-started
 
==== Add support for OpenAPI to Kinto ====
 
* Mentors: [https://mozillians.org/en-US/u/ethan.glasser.camp/ Ethan Glasser-Camp] (glasserc on IRC) and Rémy Hubscher (natim on IRC)
 
Kinto has a fairly comprehensive set of documentation that describes its API. However, the cool new thing is OpenAPIs (formerly known as Swagger). Documenting our API using this specification would facilitate the implementation of client libraries in other languages as well as open the door to lots of other projects, including "interactive" documentation which has buttons that launch requests against a live server.
 
The Kinto team is seeking an intern to work on developing OpenAPI support in Kinto. This project is ideal for an Outreachy intern because it is self-contained and doesn't require understanding a complicated ecosystem of services (unlike our previous "Push Notifications" project).
 
We have structured the project to have multiple tasks. We do not expect any intern to finish every task; instead, we can draw tasks from this reservoir according to your momentum. These tasks are:
 
* Document the existing API by writing an OpenAPI specification. This will involve reading the existing documentation and experimenting with the Kinto server.
* Add runnable examples to the documentation. This will involve comparative analyses of available tools as well as working with our Sphinx-based documentation.
* Add an automated test that detects when the spec is out-of-date. This would involve working with our py.test-based unit testing suite.
* Write a mechanism to generate an OpenAPI specification from the Kinto source code. This would require writing Python code that hooks into the server code to identify APIs.
* Investigate the use of the OpenAPI specification to do fuzz-testing against the Kinto server. This would require an investigation of fuzzing tools and learning how to use them in a customized way.
 
Interns should understand back-end REST services and be skilled in reading and writing Python. You should be able to use Git and run Python code.
 
You can learn more about Kinto at [http://kinto.readthedocs.io/en/stable/ the Kinto Readthedocs page] and [https://github.com/Kinto/kinto its Github page].
If you need a "small contribution" for your application, some suggestions are at [https://github.com/Kinto/kinto/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy-pick Kinto easy-pick bugs] and [https://github.com/Kinto/kinto-http.py/issues?q=is%3Aissue+is%3Aopen+label%3Aeasy-pick kinto-http.py easy-pick bugs].
You can find us in #kinto on Freenode or on Slack at https://slack.kinto-storage.org/ .
 
==== Azure Blob Storage client library ====
 
* Mentors: [https://mozillians.org/en-US/u/jhford/ John Ford] (jhford on IRC)
 
Background:
 
The Taskcluster team at Mozilla builds an automation platform, similar in scope
to Buildbot and Jenkins.  The project is built to support the continuous
integration testing of Mozilla projects like Firefox and Rust as well as
projects that Mozilla participates in like NSS.  Taskcluster is a built
using distributed 'cloud' computing services where possible.  We use the Azure
Storage framework for storing a lot of things.  This library has Queue storage,
Table Storage.  We have a wrapper that we like a lot called [https://www.npmjs.com/package/azure-entities 'azure-entities'] in NPM.
 
Project:
 
The goal of this project is to write a library to wrap the Azure Blob Storage
service.  A preliminary effort has [https://github.com/taskcluster/aws-provisioner/blob/master/src/container.js already been done].  What we're looking
for is someone to take this work and extend it to cover the majority of the
[https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/ Blob Storage API].  We specifically would like to have the following:
 
1. All Rest API endpoints [https://msdn.microsoft.com/library/dd135733.aspx implemented] using input validation to ensure that only valid data makes it to the API.  [http://json-schema.org/ JSON Schema] is a great tool for this
2. Ability to specify a JSON Schema to validate objects that we'll store or append to blobs, and also that we read out from them
3. Ability to use [https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-shared-access-signature-part-1/ Shared Access Secrets (SAS)] as authentication
4. Stretch goal of adding SAS for Blob storage to our [https://github.com/taskcluster/taskcluster-auth authorization service]
 
What you'll learn and use:
 
* Javascript language
* Node.js environment
* JSON
* Yaml
* JSON-Schema
* Azure Cloud APIs, specifically Blob Storage
* Babel -- Javascript compiler
* ESLint -- Javascript linter
* Javascript Promises and the Async/Await pattern
 
​You should have some experience with Javascript or a similar dynamic language
(Ruby, Python, etc).  It's not important that you know all of the tools,
but you should be willing to learn.  You should be available to have meetings
at some point in the time window of 9.00h CEST/CET through 17.00h CEST/CET
 
==== Improve Template Logic for Taskcluster-Github ====
 
Mentor: Brian Stack (bstack on IRC), [https://mozillians.org/en-US/u/dustin/ Dustin Mitchell] (dustin on IRC)
Note: Have received enough applicants; applications to this project are now closed.
 
Background:
 
The Taskcluster team at Mozilla builds an automation platform, similar in scope
to Buildbot and Jenkins.  The project is built to support the continuous
integration testing of Mozilla projects like Firefox and Rust as well as
projects that Mozilla participates in like NSS.  Many of these projects
are developed on Github, and the Taskcluster-Github service acts as
the interface
between the two systems, creating tasks in response to Github events and
posting status updates back to Github.  As other Mozillians have started using
Taskcluster-Github, they have identified some issues and missing features
in the service.  With those fixed, more Mozillians can use TaskCluster
to improve
the web.
 
Project:
 
This project involves addressing some of the more pressing
user-identified issues
with TaskCluster.  It is a collection of smaller projects:
 
1. Add support for creating tasks in response to new Git tags.  This
would allow users to run "release" tasks when they push a new version
tag, for example.
 
2. Make the repository enrollment process "self-serve".  Currently, if
a team wants to use Taskcluster-Github, they must ask a person on the
Taskcluster team to set that up for them.  That can be slow and
discourages experimentation.  With this project completed, users can
set up a new repository with a few clicks.
 
3. Add "build shields", similar to http://shields.io/ that will show
the latest status of a Taskcluster-Github build or test run.
 
As a collection of smaller projects, there is plenty of flexibility to
add or remove projects during the internship.  You are encouraged to
talk to other teams in Mozilla and, if you find a feature that will
help them use Taskcluster more effectively, implement that feature
instead.
 
What you'll learn and use:
 
* Javascript (mostly server-side, using node)
* Github Webhooks and APIs
* Taskcluster APIs
 
Previous Experience:
 
You should be familiar with Javascript, although it is OK if that is
limited to scripts that run in the browser.  You should be familiar
with Github, including making pull requests and using continuous
integration tools like Travis-CI or CircleCI.  Ideally, you would have
some experience working with other people on an open-source project,
modifying existing code and getting feedback in reviews.
 
==== Collaboration Tools for Open Source Participation and Productivity ====
 
Mentor: [https://mozillians.org/en-US/u/dmarti/ Don Marti]
 
We are interested in pushing the limits of what automation can do to help de-stress open source projects, especially low-profile ones that put a lot of work onto an individual maintainer or small team. Interested in writing bots to help maintainers with the routine tasks of software development, bots that can help coach new contributors to get productive, or both? If you have an idea for a collaborative tool that would help you, and you're interested in coding it and seeing if it can help others, please consider joining us. Helpful skills to have
 
* HTTP client development
* Use of web APIs (GitHub, Twitter...)
* git
* Empathy for new and time-crunched developers
 
None of these are hard requirements -- We're prepared to collaborate with you and your bot(s) to learn and gather data.
 
==== Help drive the Nightly Reboot on Firefox Desktop/Mobile ====
Mentor: [https://mozillians.org/en-US/u/marcia/ Marcia Knous] (marcia on IRC)
 
This project involves helping the Release Management team and the Mozilla community drive the "Nightly Reboot" on Firefox Desktop and Mobile. You can read more about it here: https://blog.nightly.mozilla.org/2016/07/01/a-firefox-nightly-blog/. Here are some of the things you will work on as part of this internship:
 
Bug and Crash triage
 
*Help the team identify and triage Nightly bugs
*Identify and investigate crashes in the Nightly project
*Organize Test Days specific to Firefox Nightly
 
Applicants should have:
 
*Experience using the Firefox browser and an understanding of what the Firefox Nightly Channel is
*Strong organizational abilities
*Inquisitive nature
*Comfortable working in Bugzilla
*Bonus if you have experience doing QA
 
Applicants will gain skills in:
* Investigative analysis
* Problem solving
 
This should be a fun experience, especially for those who love working on solving problems and making the Firefox experience better for everyone!
 
 
====Webcompat.com Content & Participation Experience Researcher====
 
Mentor: [https://mozillians.org/en-US/u/astevenson/ Adam Stevenson]
 
Mozilla's Web Compatibility team builds and maintains a website called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.
 
In this Outreachy project, the participant will commit to one or more of the following projects to help us improve our on-boarding process for new contributors.
 
*Review & update web compatibility documentation
*Identify and promote good features and bugs that need a contributor on social networks
*Make creative assets to be used on webcompat.com
*Review the user experience for contributors to webcompat.com
*Help redesign the contributors page on webcompat.com
*Create screencasts or scripts for screencasts that explain how to contribute to webcompat.com
*Assess the current workflow and suggest areas for improvement
 
Our current contributors page: https://webcompat.com/contributors
 
Some examples of great contributor pages:
*http://emberjs.com/community/
*https://nodejs.org/en/get-involved/
*https://www.mozilla.org/en-US/contribute/
 
The ideal Outreachy participant would have skills in documentation, process and some web development experience. Any additional skills like design, UX and project management will be beneficial as well.
 
To get started visit: https://wiki.mozilla.org/Compatibility/Outreachy
 
====Make Treeherder faster with ReactJS [No longer taking applicants]====
 
Mentor: [https://mozillians.org/en-US/u/camd/ Cameron Dawson] (camd on IRC)
 
Background:
 
Treeherder is growing.  More people are using it every day.  And the amount of data it displays is also growing.  So we need to expand its ability to scale to more and more data.  Treeherder is primarily written in AngularJS on the front-end.  However, we display thousands of small objects on the main landing page.  Using Angular’s ng-repeat for this proved unacceptably slow.  It was converted to using JQuery and raw JavaScript DOM manipulation which has been acceptably fast for a while, but is harder to maintain.  ReactJS has been used in other parts of the product to significantly improve performance and is easier to read and edit.  This Outreachy participant will convert the existing job matrix rendering to use ReactJS.
 
What you will learn:
 
* ReactJS
* AngularJS
 
Applicants should have:
 
* Some intermediate JavaScript knowledge
* Curiosity for new technologies
* Willingness to research and explore multiple approaches
 
==Outreachy Program Cohort: Round 12 (May-August 2016)==
===Enhancements to Python testing tool plugin for generation of HTML reports===
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt]
* Participant: [https://mozillians.org/en-US/u/anaribeiro/ Ana Ribero]
* [http://outreachy.anaplusplus.com/ Participant Blog]
 
Inclusive culture is essential to building all kinds of diversity and making diverse people feel welcome in open source projects. We have many groups working on this topic all around Mozilla and other open source communities. This Outreachy participant will engage in community research, documenting best practices and case studies in the development of open inclusive culture.
 
The participant 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.
 
===Make Firefox look great on desktop!===
*Mentor: [https://mozillians.org/en-US/u/Gijs/ Gijs Kruitbosch]
*Participant: [https://mozillians.org/en-US/u/Rakhi/ Rakhi Sharma]
* [http://rakhish.wordpress.com/ Participant Blog]
 
Firefox for desktop is used by hundreds of millions of people every day. We control what it looks like using CSS, XUL (a markup language that's a bit like HTML), and JavaScript. There's also a small amount of C++ here and there.
 
For this project, the participant will help to address a number of styling problems where Firefox does not currently look its best.
 
===Project SmartHome prototyping===
* Mentors: [https://mozillians.org/en-US/u/kglazko/ Kate Glazko] and [https://mozillians.org/en-US/u/marcia/ Marcia Knous]
* Participant: [https://mozillians.org/en-US/u/Mermi/ Manel Rahem]
* Participant Blog: https://mermi.github.io
 
The participant will be involved with Project SmartHome, working on assisting active and ongoing prototyping, integrating logging and metrics into SmartHome work with the collaboration of the metrics team, and helping with user research testing analysis and results.
 
===Webcompat.com Web Application Engineer===
*Mentor: [https://mozillians.org/en-US/u/miketaylr/ Mike Taylor]
*Participant: [https://mozillians.org/en-US/u/venkid/ Deepthi Venkitaramanan]
*[http://venkid.com/portfolio.html#Outreachy Participant Blog]
 
Mozilla's Web Compatibility team builds and maintains a web application called webcompat.com that allows individuals to easily report site compatibility issues - and to allow us to better understand the larger picture of compatibility issues affecting Firefox users on the web.
 
In this Outreachy project, the participant will contribute to one or more of the following projects to help us succeed from a few different angles.
* Design and implement a system that allows site owners and developers to register for notifications (i.e., RSS, E-mail) for issues related to a given domain
* Design and build a user interface that allows bug reporters to identify possible duplicate problems
* Use cutting edge features like Service Workers to enable offline and sync capabilities between the client and server
* Migrate webcompat.com front-end to use ES6 modules (likely powered by something like Babel)
 
===Convert Mozmill tests to Marionette===
*Mentor: John Dorlus <jdorlus@mozilla.com>, Silne30 on IRC
*Participant: [https://mozillians.org/en-US/u/bennyjr35/ Benjamin "Benny" Forehand, Jr.]  
*Participant Blog: https://www.bennyjr.xyz/blog and https://benjaminfjr.blogspot.com/
 
This project involves reading and writing code in both Python and Javascript.  Mozmill is one of Mozilla’s older automated testing frameworks; tests written in Mozmill are being ported to Marionette, which is an implementation of the Webdriver standard, capable of interacting with both web content and browser UI. 
Applicants should have a strong knowledge of Python and at least some exposure to Javascript.  The starting point (and main focus) for this project will be the work outlined in Bug 1132680; there is other work in the same area that can be done if that bug gets finished early.
 
 
===Realtime Push Notifications for Kinto===
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher]
*Participant: [https://mozillians.org/en-US/u/ipsha21/ Ipsha Bhidonia]
*[https://ipsha218.wordpress.com/feed/ Participant Blog]
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.
 
===Test-driven Refactoring of Marionette's Python Test Runner===
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz]
* Participant: [https://mozillians.org/en-US/u/vakila/ Anjana Vakil]
[https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette Marionette's] Python Test Runner 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 you 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 your role will be to write more of these tests. While writing tests, you 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 [https://treeherder.mozilla.org Treeherder's] log viewer.
* Making the tests more convenient to run locally with mach.
 
===Add robust AMI management to the TaskCluster AWS Provisioner===
* Mentor: [https://mozillians.org/en-US/u/dustin/ 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.
 
===Improving user experience of Firefox Accounts===
* Mentor: [https://mozillians.org/en-US/u/vladikoff/ Vlad Filippov] (vladikoff on IRC)
 
There are several pending initiatives that are focused on improving the user experience of Firefox Sync and [https://accounts.firefox.com Firefox Accounts]. As part of this Outreachy internship project you will be involved in improving user interaction, running experiments, and measuring success of certain features. Your engineering skills will assist in the following:
 
* Developing new application improvements to reduce the number of user errors on password reset, [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md password change], and [https://github.com/mozilla/fxa/blob/feature-mailcheck-part-two/features/proposed/FxA-79-mailcheck-part-2/README.md sign up flows]. This will give you developer experience working with the Firefox Accounts UX team.
* Experimenting with [https://github.com/mozilla/fxa/blob/rfeeley/eye-password-experiment/features/FxA-80-eye-password-experiment/README.md “Show Password” UX]. Determining which design is more effective in terms of speed and popularity.
*Improving the verification rate and speed of new users signing up for Firefox Accounts.
 
===Content Process Management Tool===
* Mentor: [https://mozillians.org/en-US/u/mconley/ Mike Conley]
* Participant: [https://mozillians.org/en-US/u/Rutuja/ Rutuja Surve]
* [https://rutujasurveblog.wordpress.com/2016/05/17/outreachy-2016-my-first-post/ Participant Blog]
"With multi-process Firefox going out the door in the very near future, we're looking at scaling up and tuning the number of content processes that Firefox starts and uses.
 
Memory usage is something we want to keep an eye on while we do this, so this project is about building a Content Process Management tool that can track real-time memory usage across each process. We might increase the number of uses of the management tool over time, but we'll start with memory management.
 
===Taskcluster tools UI/UX improvements===
 
* Mentor: [https://mozillians.org/en-US/u/wcosta/ Wander Lairson Costa]
* Co-Mentor: [https://mozillians.org/en-US/u/dustin/ Dustin J. Mitchell]
* Participant: [https://mozillians.org/en-US/u/andreadelrio/ Andrea Del Rio Lazo]
 
[https://docs.taskcluster.net Taskcluster] is the new Mozilla CI that will in future be responsible to run every build and test for Firefox, Firefox TV, rust and other Mozilla projects. We are a small and passionate team engaged to make Taskcluster the best CI ever.
 
===Automation of Taskcluster Documentation===
* Mentor: [https://mozillians.org/en-US/u/jonasfj/ Jonas Finnemann Jensen] and [mailto:bstack@mozilla.com Brian Stack]
* Participant: [https://mozillians.org/en-US/u/kt/ Kristel Teng]
 
Our task execution platform TaskCluster consists of many small services.
We would like a system to which each component can upload its documentation in a reference format markdown for text, JSON for API references, etc. From the uploaded references we would then generate the entire documentation site.
 
By uploading documentation and reference files from the services, we can have it automatically update when we deploy new features.
Services already uploads some formal JSON references, but this needs more structure.
 
Technically speaking:
- A node.js module for uploading a directory of JSON files + a manifest
- A service generating a static documentation site from uploaded documentation.
Useful skills:
- node.js
- HTML/CSS/JS (react.js would be nice to have)
- Some graphical design skills
 
This is not a project about writing documentation, most of it already exists. It needs automatic deployment and structure.
 
===Fixing some papercuts in the Firefox desktop user interface===
* Mentor: [https://mozillians.org/en-US/u/jaws/ Jared Wein]
* Participant: [https://mozillians.org/en-US/u/kbroida/ Katie Broida]
* [http://blog.katiebroida.com/ Participant Blog]
Firefox for desktop is used by hundreds of millions of people every day. We control how it works and what it looks like using CSS, XUL (a markup language that's a bit like HTML), and JavaScript. There's also a small amount of C++ here and there.
 
Some of the work will cover:
* Improving entering and exiting of Reader Mode
* Cleaning up the styling of our getting-started tour
* Improving shadows of the dropdowns for the URL and search box
* Increasing legibility of the menubar on Windows 8
* Researching and improving the Windows 10 Start Menu tile for Firefox
* Showing the Windows 10 accent color in the Firefox title bar
 
===Web Platform Test Crime Scene Investigation===
*Mentor: [https://mozillians.org/en-US/u/ehsan/ Ehsan Akhgari]
*Participant: [https://mozillians.org/en-US/u/deckycoss/ Decky Coss]
*Participant Blogs: http://cosstropolis.com/blog and http://cosstropolis.com/blog/feed.xml
 
"We run a lot of automated tests against each revision to Firefox’s code,  and we verify that code changes do not cause tests  to stop passing. One group of tests, called Web Platform Tests, is  shared among all major web browsers, and we have only begun running them  recently. As a result, we imported thousands of tests and marked  some of them as currently failing, and they have languished in that  state. Some of these failures are caused by Firefox not correctly  implementing an edge case, while others may be very important problems  -  as things stand, it's hard to figure out which ones are which. We  need your help cleaning up this mess!
 
===Prototype new Firefox features with the Test Pilot team===
* Mentors: [https://mozillians.org/en-US/u/6a68/ Jared Hirsch] (_6a68 on IRC) and [https://mozillians.org/en-US/u/djustice/ Dave Justice] (JSON_voorhees on IRC)
* Participant: [https://mozillians.org/en-US/u/kaganjd/ Jen Kagan]
* Participant blog
 
The Mozilla Test Pilot team is seeking someone to join a small, enthusiastic team focused around rapidly testing new features in Firefox. The team's process is built around getting feedback frequently and directly from an active user base which allows rapid iteration of the feature design.
 
In this program, you will participate in a well-documented four step process:
* Lo-Fi Validation: Sketches, ideation, paper prototypes, and user research.
* Prelaunch: Define and build a minimum viable product, establish your testing protocols, and validate the research.
* Active Testing: Launch and test your prototype, collect metrics and feedback, evolve and re-test.
* Sunsetting: Analyze the tests and determine release platforms.
 
As this program is about rapidly evaluating potential new features, the specifics of what the participant will be developing this summer haven't been settled yet--but ideas are floating around security, privacy, tracking protection, and file transfer. Below are some examples of what the team is currently prototyping as of February 2016:
 
* Universal Search: adding recommendations from sources around the internet directly into the Awesome Bar.
* Tab Center: rethinking tab management by moving tabs to the side of the browser and making them easier to search.
* Better 404s: Using the Internet Archive's Wayback Machine to replace 404 pages with an older version of the page.
* Page Shot: Enabling smarter sharing of screenshots by copying DOM content as well.
 
= For Future Applicants =
* Next Outreachy round is Winter 2016-17. Keep in touch by reading here or on gnome.org/outreachy to learn application deadlines.
 
== Application Process ==
Applicants and mentors, please review the [https://wiki.gnome.org/Outreachy#Program_Details Outreachy Eligibility and Application Information page] to learn more about applying for Outreachy.
 
First steps for applicants to Mozilla:
# Set up [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC IRC].
# Set up a [https://bugzilla.mozilla.org Bugzilla] account and a [https://mozillians.org Mozillians] profile. Please include your IRC nickname in both of these accounts so mentors can work with you more easily. For example, Eve Smith would set their Bugzilla name to "Eve Smith (:esmith)", where esmith is their IRC nick.
# Please look at the projects below, consider your options, and chat with Mozilla mentors on IRC. You need to make a small contribution to the area you wish to apply for.
#* To chat with Mozilla mentors, join the #outreachy channel on '''irc.mozilla.org'''.
#* To ask general questions about Outreachy or the application process, you can also try #outreachy IRC channel on irc.gnome.org.
 
==Projects to Apply for==
There will be several Mozilla Outreachy projects for Round 13.
Got Questions? Ask:
 
Outreachy Coordinator:
* [https://mozillians.org/en-US/u/lshapiro/ Larissa Shapiro], Sr Program Manager, Diversity and Inclusion
IRC: #outreachy
 
 
=Past Outreachy/OPW internships=
 
{{#subpages:}}
 
== Complete List of Participants ==
 
=== ROUND 11===
 
==== Lauren Conrad ====
 
Participant: [https://mozillians.org/en-US/u/laurenconrad1993/ 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:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#SUMO_-_Build_a_tutorial_or_training_tool_for_new_technical_writers SUMO - Build a tutorial or training tool for new technical writers]
 
Project blog: [http://www.laureneconrad.com www.laureneconrad.com]
 
==== Roxana Ilie ====
Participant: [https://mozillians.org/en-US/u/roxana.ilie23/ Roxana Ilie]
 
Based in: Bucharest, Romania
 
Mentor: [https://mozillians.org/en-US/u/pmcmanus/ 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: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Battery_Friendly_Platform_Networking_Deadline_Scheduler Battery Friendly Platform Networking Deadline Scheduler]
 
==== Richa Rupela ====
 
Participant: Richa Rupela
 
Based in: Bikaner, Rajasthan, India
 
Mentor: [https://mozillians.org/en-US/u/annevk/ 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!"
 
Richa's project blog: https://richarupela.wordpress.com/
 
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Contribute_to_the_HTML_Standard.21 Contribute to the HTML Standard!]
 
==== Shweta Oak ====
Based in: Mumbai, India
 
Mentor: [https://mozillians.org/en-US/u/alexis/ 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."
 
[https://wiki.mozilla.org/Outreachy/2016/December_to_March#Kinto_.E2.80.94_Make_instances_discoverable Project: Kinto — Make instances discoverable]
 
==== Jullie Utsch ====
Participant: [https://mozillians.org/en-US/u/jullieutsch/ Jullie Utsch]
 
Based in: Belo Horizonte - MG Brazil
 
Mentor: [https://mozillians.org/en-US/u/ilana/ 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: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Visual_Design_with_Research_Data_.5Bno_longer_taking_applications.5D Visual Design with Research Data]
 
==== Cynthia Anyango ====
Participant: [https://mozillians.org/en-US/u/acynthiaanyango/ Cynthia Anyango]
Based in: Nairobi , Kenya
 
Mentor: [https://mozillians.org/en-US/u/kthiessen/ 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: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Enumerate_.28and_Dockerize.29_the_tests.21_.28Quality_Assurance Enumerate (and Dockerize) the tests! (Quality Assurance)]
 
==== Nikki Bee ====
Participant: [https://mozillians.org/en-US/u/nikkicubed/ Nikki Bee]
 
Based in: Alberta, Canada
 
Mentor: [https://mozillians.org/en-US/u/jdm/ 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:  [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Servo:_Complete_implementation_of_Fetch_standard Servo: Complete implementation of Fetch standard]
 
==== My Lê ====
Based in: Paris - France
 
Mentor: [https://mozillians.org/en-US/u/ricardo/ Ricardo Vazquez]
 
"Proud to be part of Mozilla Outreachy Program, sharing knowledge and contributing to the Open Web."
 
Project: [https://wiki.mozilla.org/Outreachy/2016/December_to_March#Open_Source_Designer.2C_Mozilla_Foundation 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===
== Past Outreachy/OPW Rounds ==


https://wiki.gnome.org/OutreachProgramForWomen/2013/JanuaryApril#Participating_Organizations


Lianne Lee (llmelon), Sydney, Australia - Release metrics dashboard - Lukas Blakk
{{#subpages:Outreachy/Round}}

Latest revision as of 20:22, 27 May 2021

Mozilla has participated in the Outreachy program since January 2013. The goal of the program is to increase participation from under-represented groups in free and open source software. It is a project of the Software Freedom Conservancy.

Mozilla hosts approximately 20 participants across two cohorts (summer and winter) each year. Mozilla employees work 1:1 with participants for three months. The program expressly invites women (both cis and trans), trans men, and genderqueer people to apply. It also expressly invites applications from residents and nationals of the United States of any gender who are Black/African American, Hispanic/Latin@, Native American/American Indian, Alaska Native, Native Hawaiian, or Pacific Islander. Anyone who faces under-representation, systemic bias, or discrimination in the technology industry of their country is invited to apply.

Current Round

Round 22 (May-August 2021) is the current round.

Participant Application Process

First, please review the Outreachy Eligibility and Application Information page to learn more about eligibility for Outreachy.

Steps for applicants to Mozilla:

  1. Confirm your eligibility on the outreachy site
  2. Look at the Mozilla projects available on the Outreachy site, consider your options, and if you have questions communicate with the project mentors. Of course, you are welcome to apply for non-Mozilla projects you find on the site as well! You can communicate with other applicants, mentors, and coordinators in #outreachy on chat.mozilla.org.
  3. Begin by contributing to the project. Most projects will describe how to make your first contribution. As you make contributions, record them in the Outreachy site. Codetribute may help you find good tasks to work on. For many applicants, this is the most valuable part of the experience!
  4. Once you have made a few contributions, begin to write your application. Ask the mentors to review the application before you submit it.

Participant Expectations

You will be working full-time on your project for three months. You will meet with your mentor(s) frequently and participate in the open-source development process -- writing code, reviewing code, testing, and so on. You will be expected to write a blog entry each week.

Mentor / Project Applications

Mentors submit projects that they are willing to mentor. Here's what you need to know:

  • The participant will be working full-time, spending 40 hours a week on their project for three months. Participants will work remotely from home. Your project must be something the participant can do remotely and complete within those months. You will need to meet at least weekly with your participant, and be available for questions, code review, and so on throughout the internship.
  • You will be heavily involved in the selection process for your mentee which will involve interviewing, reviewing code check-ins / bug reports / trial work.
  • During the application process, applicants will be expected to make contributions, so make sure you have established a system for new contributors to get involved and have enough good starter tasks for them.
  • Speak with your manager to check it’s OK for you to submit a project proposal. Each participating organization will need to provide budget for the participant costs of $6500. The Mozilla coordinators can help connect you with that budget.
  • To maximize the number of applicants to your project, submit it as early in the process as possible.
  • More FAQ's on the Outreachy Site

Help!

Questions? Ask:

Links

Past Outreachy/OPW Rounds