History of Sage

A screenshot of Sagemath working.
Image via Wikipedia

The Sage Project Webpage http://www.sagemath.org/

Sage is mathematical software, very much in the same vein as MATLAB, MAGMA, Maple, and Mathematica. Unlike these systems, every component of Sage is GPL-compatible. The interpretative language of Sage is Python, a mainstream programming language. Use Sage for studying a huge range of mathematics, including algebra, calculus, elementary to very advanced number theory, cryptography, numerical computation, commutative algebra, group theory, combinatorics, graph theory, and exact linear algebra.

Explanation of what Sage does by the original author William Stein 

(Long – roughly 50 minutes)

Original Developer http://wstein.org/ and his history of Sage mathematical software development. Wiki listing http://wiki.sagemath.org/ with a list of participating commiters. Discussion lists for developers: Mostly done through Google Groups with associated RSS feeds. Mercurial Repository (start date Sat Feb 11 01:13:08 2006) Gonzalo Tornaria seems to have loaded the project in at this point. Current List of source code in TRAC with listing of commiters for the most recent release of Sage (4.7).

  • William Stein (wstein) Still very involved based on freqenecy of commits
  • Michael Abshoff (mabs) Ohloh has him ranked second only to William Stein with commits and time on project. He’s now left the project according to the Trac log.
  • Jeroen Demeyer (jdemeyer) commits a lot
  • J.H.Palmieri (palmieri) has done  number of tutorials and documentation he’s on the IRC channel
  • Minh Van Nguyen (nguyenminh2) has done some tutorials,documentation and work Categories module. He also appears to be the sysadmin on the Wiki
  • Mike Hansen (mhansen) Is on the IRC channel irc.freenode.net#sagemath and is a big contributor
  • Robert Bradshaw (robertwb) has done some very recent commits

Changelog for the most recent release (4.7) of Sage. Moderators of irc.freenode.net#sagemath Keshav Kini (who maintains the Ohloh info) & schilly@boxen.math.washington.edu. Big milestone release of version 4.7 with tickets listed here based on modules: Click Here. And the Ohloh listing of top contributors to the project. There’s an active developer and end user community. Workshops are tracked here. Sage Days workshops tend to be hackfests for interested parties. But more importantly Developers can read up on this page, how to get started and what the process is as a Sage developer.

Further questions that need to be considered. Look at the git repository and the developer blogs ask the following questions:

  1. Who approves patches? How many people? (There’s a large number of people responsible for reviewing patches, if I had to guess it could be 12 in total based on the most recent changelog)
  2. Who has commit access? & how many?
  3. Who is involved in the history of the project? (That’s pretty easy to figure out from the Ohloh and Trac websites for Sage)
  4. Who are the principal contributors, and have they changed over time?
  5. Who are the maintainers?
  6. Who is on the front end (user interface) and back end (processing or server side)?
  7. What have been some of the major bugs/problems/issues that have arisen during development? Who is responsible for quality control and bug repair?
  8. How is the project’s participation trending and why? (Seems to have stabilized with a big peak of 41 contribs about 2 years ago, look at Ohloh graph of commits, peak activity was 2009 and 2010 based on Ohloh graph).

Note the period over which the Gource visualization occurs is since 2009, earliest entry in the Mercurial repository I could find was 2005. Sage was already a going concern prior to the Mercurial repository being put on the web. So the simulation doesn’t show the full history of development.

%d bloggers like this: