61 lines
3.8 KiB
Markdown
61 lines
3.8 KiB
Markdown
# Contributing to Mozilla projects
|
|
|
|
This page is here to help you get from "I want to build Firefox"
|
|
to "I'm building my own Firefox" to "I can contribute to Firefox".
|
|
So if you'd like to help Mozilla build the best web browsers in the
|
|
world, you're in the right place.
|
|
|
|
```{rubric} Need help?
|
|
:name: Need_help
|
|
```
|
|
|
|
The Mozilla community prides itself on being an open, accessible, and
|
|
friendly community for new participants. If you have any difficulties
|
|
getting involved or finding answers to your questions, please [come and
|
|
ask your questions in our
|
|
chatroom](https://chat.mozilla.org/#/room/#introduction:mozilla.org),
|
|
where we can help you get started.
|
|
|
|
We know even before you start contributing that getting set up to work
|
|
on Firefox and finding a bug that's a good fit for your skills can be a
|
|
challenge, and we're always looking for ways to improve this process: making
|
|
Mozilla more open, accessible, and easier to participate with. If you're
|
|
having any trouble following this documentation, or hit a barrier you
|
|
can't get around, please join us in the Introduction room on Matrix.
|
|
|
|
## What skills do I need?
|
|
|
|
Mozilla maintains small and large projects and we are thrilled to have contributors with
|
|
very diverse skills:
|
|
|
|
- If you know **C++,** **Rust,** **JavaScript,** **HTML** or **CSS**,
|
|
you can {ref}`contribute to the core layers <Firefox Contributors' Quick Reference>` of
|
|
Firefox and many other Mozilla projects.
|
|
- If you know **Rust**, you can also contribute to the [Rust programming
|
|
language](https://github.com/rust-lang/rust) itself, numerous crates like [grcov](https://github.com/mozilla/grcov/)
|
|
or [Stylo](/layout/StyleSystemOverview.html), Firefox's parallel CSS engine, {searchfox}`WebRender <gfx/wr/>`, Firefox's GPU-based 2D rendering engine, and [Neqo](https://github.com/mozilla/neqo), our QUIC/HTTP3 networking stack.
|
|
- If you know **Kotlin**, you can contribute to {ref}`Firefox for Android <Firefox Contributors' Quick Reference>` (code name: "Fenix"). {searchfox}`Fenix's code <mobile/android/>` is integrated into the same repository as Firefox Desktop.
|
|
- If you know **Swift**, you can contribute to [Firefox and Firefox Focus for
|
|
iOS](https://github.com/mozilla-mobile/firefox-ios).
|
|
- If you know **C++**, you can contribute to our [VPN client](https://github.com/mozilla-mobile/mozilla-vpn-client).
|
|
- If you know **C++** and programming language implementations, you can contribute to [SpiderMonkey](https://spidermonkey.dev/), our JavaScript engine.
|
|
- If you know **JavaScript**, you can contribute to [PDF.js](https://github.com/mozilla/pdf.js), the PDF viewer shipped with Firefox.
|
|
- If you know **C++**, **JavaScript** or **machine learning**, you can contribute to [Firefox Translations](https://github.com/mozilla/translations), our local, privacy-preserving translation engine.
|
|
- If you know **Make**, **shell**, **Perl**, or **Python**, you can
|
|
contribute to our build systems, release engineering, and automation.
|
|
If you know **Rust**, you can also contribute to [sccache](https://github.com/mozilla/sccache/),
|
|
our compiler caching tool used to speed up Firefox builds.
|
|
- If you know **Go** or **JavaScript**, you can contribute to [Taskcluster](https://github.com/taskcluster/taskcluster), our CI infrastructure.
|
|
- If you know **C**, you can contribute to [NSS](/security/nss/index.html), our cryptography library.
|
|
- There are even many ways to contribute to the Mozilla mission without
|
|
programming. If getting involved in design, support, translation,
|
|
testing, or other types of contributions sparks your interest please
|
|
see the [Volunteer Opportunities
|
|
wiki](https://contribute.mozilla.org) or the [Mozilla
|
|
community](https://community.mozilla.org/) site.
|
|
|
|
Perhaps you do not know programming yet, but you want to start learning?
|
|
There are [plenty of
|
|
resources](https://developer.mozilla.org/learn) available on
|
|
the MDN Web Docs!
|