Information for Developers

Sage 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. A good start is the Sage Developer's Guide and the Sage FAQ.

Our mission is:
Creating a viable free open source alternative to
Magma, Maple, Mathematica and Matlab.

Contributing to Sage from William Stein on Vimeo.

This is a video that describes how to contribute to the Sage (http://sagemath.org) project, and includes many sources of ideas. [download presentation (pdf), download video (m4v)]

Development and discussion happen in three places:
  1. Mailing Lists – new features, technical issues and bugs are discussed here
  2. Forums:
    • IRC channel – an active place to chat about development in real-time.
      Server: irc.freenode.net — Room: #sagemath
    • AskSage – a merit-based question and answer forum.
  3. Trac — all code ends up here. (Status, Guidelines)

Introduction

Sage 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, Mercurial 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. The mailing lists are extremely supportive and responsive, as is the highly active IRC channel. There are around 150 people that have contributed code directly to Sage, including many leaders in mathematics, as well as professionals (e.g., one main developer is a retired Apple kernel engineer, another works at machine vision company in Seattle, etc.), graduate students, and undergraduate students. There are releases about every 3-4 weeks, under the attitude of "release early, release often", so students could see their code in the real live software several times before the semester is over. 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. From a software engineering standpoint, Sage is a wonderful project to be engaged in.
Links:

Source Code

Translation of this page to serbo-croatian.
Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.