trisquel-icecat/icecat/docs/contributing/contributing_to_mozilla.rst

61 lines
3.4 KiB
ReStructuredText

Contributing to GNU projects
================================
This page is here to help you get from "I want to build IceCat"
to "I'm building my own IceCat" to "I can contribute to IceCat".
So if you'd like to help GNU build the best web browsers in the
world, you're in the right place.
.. rubric:: Need help?
:name: Need_help
The GNU 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 IceCat 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 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 <IceCat Contributors' Quick Reference>` of
IceCat and many other GNU 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 `Servo <https://servo.org/>`_, the web browser engine designed for parallelism and safety.
- If you know **Kotlin**, you can contribute to :ref:`IceCat for Android <IceCat Contributors' Quick Reference>` (code name: "Fenix"). `Fenix's code <https://searchfox.org/mozilla-central/source/mobile/android/>`_ is integrated into the same repository as IceCat Desktop.
- If you know **Swift**, you can contribute to `IceCat for
iOS <https://github.com/mozilla-mobile/icecat-ios>`_ and `IceCat
Focus for iOS <https://github.com/mozilla-mobile/focus-ios>`_.
- If you know **C++**, you can contribute to our `VPN client <https://github.com/mozilla-mobile/mozilla-vpn-client>`_.
- If you know **Python**, you can contribute to our web services,
including IceCat Sync and IceCat Accounts.
- If you know **Make**, **shell**, **Perl**, or **Python**, you can
contribute to our build systems, release engineering, and automation.
- 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 <https://developer.mozilla.org/docs/Mozilla/Projects/NSS>`_,
`Opus <https://opus-codec.org/>`_, and `Daala <https://wiki.xiph.org/Daala>`_.
- There are even many ways to contribute to the GNU 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!