For a package to become part of Sage's standard distribution, it must meet the
following requirements:
- License. The license must be a GPL version 2+
compatible license. (This will be publicly revisited around Jan 15,
2009.)
- Build Support.
The code must build on our supported architectures and compilers
(and intended port targets):
- Linux: x86, x86_64, Itanium, ppc, ppc64, Sparc (gcc 3.4-4.3)
- Apple Mac OS X: ppc, ppc64, x86, x86-64 (Xcode 2.5+)
- Microsoft Windows: x86, x86_64 MSVC 2005/Intel Fortran (MinGW or
Cygwin support is insufficient!)
- Solaris 10: Sparc, x86, x86_64 (Sun Forte 12)
Remarks:
- Some Sage developers are willing to help you port to OSX,
Solaris and Windows. But this is no guarantee and you or your project
are expected to do the heavy lifting and also support those ports
upstream if there is no Sage developer who is willing to share the
burden.
Potential future ports include FreeBSD (x86, x86-64), OpenBSD (x86,
x86-64), HPUX (Itanium), AIX (PPC64), and ARM (OSX).
- Quality. The code should be ``better'' than any other
available code (that passes the two above criteria), and the authors
need to justify this. The comparison should be made to both Python and
other software. Criteria in passing the quality test include:
- Speed
- Documentation
- Usability
- Memory leaks
- Maintainable
- Reasonable build time, size, dependencies
- Refereeing. The code must be refereed, as discussed in
Chapter 9.
Release 2008.09.17, documentation updated on September 17, 2008.
See About this document... for information on suggesting changes.