Skip to content
Matthias Köppe edited this page Mar 1, 2024 · 31 revisions

Application for NumFOCUS affiliation of SageMath

sage-devel post Jan 13, 2024 with draft application, links to previous discussions.

Expanded below. Next target date: Apr 15, 2024

Q1: Does your project have a contributor Code of Conduct?

Yes

Q2: What is the name of your project?

SageMath

Q3: Please provide the url of your project's (primary) repo:

https://github.com/sagemath/sage

Q4: Your project's website:

https://www.sagemath.org/

Q5: Please provide a summary description of your project in a few sentences:

Comprehensive mathematical software system

Q6: Does your project have a logo?

Yes

Q7: Please upload a .svg file of your project's logo. A "square" format is best.

982721.png

Q8: Your project's Twitter handle or other social media handles/urls:

https://twitter.com/sagemath, https://mathstodon.xyz/@sagemath, https://www.facebook.com/pages/Sage-Math/26593144945,

Q9: Why do you want your project to join NumFOCUS?

Our project will benefit from engaging closely with projects and organizations that have modern open-source governance structures.

Q10: Are you applying for Fiscal Sponsorship or Affiliation? For more information, see https://numfocus.org/projects-overview

B. affiliation

Q11: Integration with the existing ecosystem of NumFOCUS tools

Cython, CVXpy, igraph, IPython, Jupyter, Matplotlib, NetworkX, NumPy, SciPy, SymPy are dependencies of SageMath. Additionally, volunteers maintain conda-forge packaging of SageMath.

Details: Integration with NumFOCUS Sponsored Projects

The sponsored projects IPython, Jupyter, Matplotlib, NetworkX, NumPy, SciPy, SymPy are dependencies of SageMath. Additionally, volunteers maintain conda-forge packaging of SageMath.

IPython and Project Jupyter are essential dependencies of SageMath:

Possible future integration with scikit-image

  • #37494 add scikit-image as a Sage package
  • Examples using scikit-image could refresh some SageMath tutorials, for example on linear algebra

Details: Integration with NumFOCUS Affiliated Projects

The affiliated projects CVXPY, Cython, igraph are dependencies of SageMath.

Cython is an essential dependency of SageMath:

Possible integration with Spack, package manager for HPC systems:

  • This could improve the reach of SageMath to use on HPC systems, although viable alternatives such as conda-forge exist.
  • Using Spack Packages as an upstream for SageMath's dependencies:
    • Add system package information files SAGE_ROOT/build/pkgs/*/distros/spack.txt
    • Add portability tests for building in Spack environments, e.g. based on spack containerize
  • Downstream packaging of SageMath in Spack Packages: Various dependencies of SageMath already exist but are not up to date (e.g. gmp, suite-sparse) and are marked as "looking for a maintainer".

Q12: Describe how your project furthers the NumFOCUS mission: https://numfocus.org/community/mission

SageMath is mathematical software with an integration mission.

Q13: How many active contributors does your project currently have?

70

Q14: Any comments you’d like to make on the number of your active contributors:

as per https://github.com/sagemath/sage/graphs/contributors?from=2023-02-09&to=2024-01-13&type=c

Q15: What is your project doing to attract and/or mentor new contributors and maintainers?

Organize virtual and in-person workshops, participate in Google Summer of Code

Q16: Where do you host conversations about project development and governance (e.g. mailing lists, forums, etc.), and how many participants do you have?

https://groups.google.com/g/sage-devel, TBD participants

Q17: What license(s) does your project currently use?

GPL v2+, GPL v3+

Q18: Projects must adopt the NumFOCUS Code of Conduct or one similar in spirit. Please tell us how you plan to meet this requirement: https://numfocus.org/code-of-conduct

https://github.com/sagemath/sage/blob/develop/CODE_OF_CONDUCT.md was adopted in 2014

Q19: Your Name (First & Last):

Q20: Your Email:

Q21: Questions or Comments:

Draft application, not submitted yet

Additional requirements for Sponsored Project status

Target: 2025?

Project governance

TODO: Describe the Maintainers role: Duties, privileges, appointment procedure

TODO: Document governance of other projects hosted on https://github.com/sagemath/