# Contributing to SageMath #

SageMath is an open-source project and has a very welcoming developer
community. We invite newcomers to help improve the code or contribute
in other ways.

Our mission is:

    Creating a viable free open source alternative to
    Magma, Maple, Mathematica and Matlab.

SageMath can give students and other contributors a wonderful
experience in developing in a large-scale, supportive, and rigorous
environment.

All code is peer-reviewed, all functions must be documented and
unit-tested on a variety of platforms and systems. Python is used as a
base language, Git is used as the source code revision system, and
Trac is used to track all support/development issues. All of these
tools are very capable and used in many other small and large-scale
projects.  From a software engineering standpoint, SageMath is a
wonderful project to be engaged in.

The mailing lists are extremely supportive and responsive. There are
several hundred people that have contributed code directly to SageMath
over the years, including many leaders in mathematics, as well as
software professionals, graduate students, and undergraduate students.

Contributions of all sorts are heartily welcomed, but attention is
paid to making sure that the system does not become bloated and
disorganized. The mission statement allows for a very wide variety of
contributions.

See [FAQ: Contributing to Sage](https://doc.sagemath.org/html/en/faq/faq-contribute.html)
for more information.
