Bug 1878092 - Remove <xul:popup> element. r=Gijs
[gecko.git] / docs / contributing / contributing_to_mozilla.rst
blob347a6ecfb998832a420a9498c53214899c9ba46e
1 Contributing to Mozilla projects
2 ================================
4 This page is here to help you get from "I want to build Firefox"
5 to "I'm building my own Firefox" to "I can contribute to Firefox".
6 So if you'd like to help Mozilla build the best web browsers in the
7 world, you're in the right place.
9 .. rubric:: Need help?
10    :name: Need_help
12 The Mozilla community prides itself on being an open, accessible, and
13 friendly community for new participants. If you have any difficulties
14 getting involved or finding answers to your questions, please `come and
15 ask your questions in our
16 chatroom <https://chat.mozilla.org/#/room/#introduction:mozilla.org>`_,
17 where we can help you get started.
19 We know even before you start contributing that getting set up to work
20 on Firefox and finding a bug that's a good fit for your skills can be a
21 challenge, and we're always looking for ways to improve this process: making
22 Mozilla more open, accessible, and easier to participate with. If you're
23 having any trouble following this documentation, or hit a barrier you
24 can't get around, please join us in the the Introduction room on Matrix.
26 What skills do I need?
27 ----------------------
29 Mozilla maintains small and large projects and we are thrilled to have contributors with
30 very diverse skills:
32 -  If you know **C++,** **Rust,** **JavaScript,** **HTML** or **CSS**,
33    you can :ref:`contribute to the core layers <Firefox Contributors' Quick Reference>` of
34    Firefox and many other Mozilla projects.
35 -  If you know **Rust**, you can also contribute to the `Rust programming
36    language <https://github.com/rust-lang/rust>`_ itself, numerous crates like `grcov <https://github.com/mozilla/grcov/>`_
37    or `Servo <https://servo.org/>`_, the web browser engine designed for parallelism and safety.
38 -  If you know **Kotlin**, you can contribute to `Firefox
39    for Android <https://github.com/mozilla-mobile/fenix>`_ (code name:
40    "Fenix").
41 -  If you know **Swift**, you can contribute to `Firefox for
42    iOS <https://github.com/mozilla-mobile/firefox-ios>`_ and `Firefox
43    Focus for iOS <https://github.com/mozilla-mobile/focus-ios>`_.
44 -  If you know **C++**, you can contribute to our `VPN client <https://github.com/mozilla-mobile/mozilla-vpn-client>`_.
45 -  If you know **Python**, you can contribute to our web services,
46    including Firefox Sync and Firefox Accounts.
47 -  If you know **Make**, **shell**, **Perl**, or **Python**, you can
48    contribute to our build systems, release engineering, and automation.
49 -  If you know **Go** or **JavaScript**, you can contribute to `TaskCluster
50    <https://github.com/taskcluster/taskcluster>`_  our CI infrastructure.
51 -  If you know **C**, you can contribute to `NSS <https://developer.mozilla.org/docs/Mozilla/Projects/NSS>`_,
52    `Opus <https://opus-codec.org/>`_, and `Daala <https://wiki.xiph.org/Daala>`_.
53 -  There are even many ways to contribute to the Mozilla mission without
54    programming. If getting involved in design, support, translation,
55    testing, or other types of contributions sparks your interest please
56    see the `Volunteer Opportunities
57    wiki <https://contribute.mozilla.org>`_ or the `Mozilla
58    community <https://community.mozilla.org/>`_ site.
60 Perhaps you do not know programming yet, but you want to start learning?
61 There are `plenty of
62 resources <https://developer.mozilla.org/learn>`_ available on
63 the MDN Web Docs!