This document states how CanvasXpress is maintained, how decisions are made, how releases happen, and — most importantly for anyone making a multi-year bet on the library — what happens if the current maintainer stops. It exists so that adopters can evaluate the project's continuity risk honestly rather than guess at it.
Current model
CanvasXpress is, today, a maintainer-led project. Isaac Neuhaus is the lead maintainer and author of the large majority of commits. The project has shipped steadily — on a bi-weekly or less frequent release cadence — for over a decade, across three distributions (npm, CRAN, PyPI) kept in lockstep with one engine.
We state the trade-off plainly: a lead maintainer delivers fast and coherently, but concentrates knowledge. To reduce that concentration risk, additional committers hold commit rights (see Maintainers below), and the succession guarantees below hold regardless of any one person.
Maintainers
- Lead maintainer: Isaac Neuhaus.
- Committers (additional maintainers with commit rights): Maya (maya@canvasxpress.org) and Jonathan (jonathan@canvasxpress.org).
More than one person can build, review, merge, and release, so continuity does not rest on a single individual.
Decision-making
- Routine changes (bug fixes, new chart parameters, examples, documentation) are decided and merged by the lead maintainer, gated by the regression suite (see below).
- Behavior-visible or breaking changes are made deliberately, recorded in
CHANGELOG.mdunder Changed/Breaking, and — where they affect the public API or themeta.cxplotspecification — carry a migration note. - Direction-setting changes (new subsystems, integrations, distribution channels) are
decided by the maintainers and announced through the release notes in
CHANGELOG.md.
Proposals from the community are welcome as GitHub issues and pull requests at https://github.com/neuhausi/canvasXpress. Open an issue first for anything larger than a bug fix so the approach can be agreed before work starts.
Release process
Every change must keep the pixel-regression suite green with zero new diffs before it is
considered done. Releases follow the versioning and channel policy stated in
CHANGELOG.md. The distribution artifacts (*.min.js) are generated by the
build, never hand-edited; source lives in build/js/*.js (ES5) and build/css/.
Succession — what happens if the maintainer stops
This is the question that matters to an enterprise adopter, and we answer it directly:
-
The source is open and self-contained. The JavaScript library is distributed under the CanvasXpress Community License (full text in
LICENSE), which grants everyone a royalty-free right to use, copy, modify, and distribute the library and works built with it — including commercially — provided the attribution mark stays visible. The R and Python packages areLGPL-3.0-or-later. Under these terms anyone may fork, continue, and redistribute the library if maintenance lapses — no permission from the maintainer is required. Your ability to keep using and patching the library does not depend on any single person. -
The build and test toolchain is in-repo. The Playwright regression harness (
tests/regression/, 600+ pixel baselines) and the Python build (python/build.py) are committed, so a successor can build, test, and release without private tooling. -
More than one person holds commit rights. Alongside the lead maintainer, the committers listed under Maintainers above can build, review, merge, and release, so the project can continue if any single person steps away.
-
Institutional continuity is a stated goal, not yet a fact. An institutional home for the project (a foundation affiliation or a stated corporate open-source commitment) is planned but not yet in place; the Bioconductor submission of
CanvasXpressBiois the first step. When it is in place this document will say so explicitly. -
Commercial-support continuity is covered separately in
SUPPORT.md, including the response commitment on paid support.
Contact
- Issues and proposals: https://github.com/neuhausi/canvasXpress/issues
- Support (community and commercial):
SUPPORT.mdor support@canvasxpress.org - Security reports: email support@canvasxpress.org rather than filing a public issue.