# 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, and development takes place on GitHub, with Git as the
source code revision system. 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.
