Sustainable Open Source

Project Maintenance

At the time of writing, PyMedPhys has five contributors, two of which are also maintainers. Project maintenance encompasses tasks such as

  • reviewing code,
  • building and maintaining project infrastructure,
  • iterating and improving continuous integration and deployment pipelines,
  • creating releases on PyPI and Conda-Forge,
  • providing support, as well as
  • addressing bug reports and issues.

Presently, the lion’s share of PyMedPhys maintenance is undertaken by the maintainers in their own time, outside of work hours, simply because they love it and believe in what PyMedPhys aims to become.

We dream that PyMedPhys will one day have hundreds of contributors from timezones all over the world, as well as thousands of feedback requests. We envisage timely releases addressing bugs and introducing new features with tight testing and deployment. Such a large project will not be sustainable in its current, volunteer-only maintenance model.

For PyMedPhys to become sustainable and to grow into what it should become for Medical Physicists all around world, PyMedPhys needs to reach a position to be able to employ project maintainers. We are very far from this happy situation; at the time of writing we don’t yet have any paying supporters. We would like that to change.

The Plan

There are a number of ways for PyMedPhys to reach a sustainable model while keeping to PyMedPhys’ vision of providing a freely available, open-source code library. One way is to seek advertising revenue. This is something we have now started to actively pursue, though we are very mindful of detracting from user experience. Another way is to provide guaranteed support via contracts. We expect to pursue this once we have put together a decent suite of high quality applications.

At no extra cost, we will say “thank you” to our supporters via the supporters page. We want to make it clear that we appreciate their partnership with us!

We will also make all revenue public, open and transparent.


We would like to implement minimally-intrusive advertising. We will provide a user-friendly and integrated way for companies who want to become supporters to bid for ad placement.

All advertising will be based upon viewable impressions using a transparent open source viewability library. We would specifically exclude charging for advertising when the advert is viewed by a maintainer of the project.

Support contracts

Once a suite of quality applications have been built provide ways for users to pay for support contracts which come in two tiers, phone support and on-site support.