  Open source software is becoming crucial in the design and testing of quantum
algorithms. Many of the tools are backed by major commercial vendors with the
goal to make it easier to develop quantum software: this mirrors how
well-funded open machine learning frameworks enabled the development of complex
models and their execution on equally complex hardware. We review a wide range
of open source software for quantum computing, covering all stages of the
quantum toolchain from quantum hardware interfaces through quantum compilers to
implementations of quantum algorithms, as well as all quantum computing
paradigms, including quantum annealing, and discrete and continuous-variable
gate-model quantum computing. The evaluation of each project covers
characteristics such as documentation, licence, the choice of programming
language, compliance with norms of software engineering, and the culture of the
project. We find that while the diversity of projects is mesmerizing, only a
few attract external developers and even many commercially backed frameworks
have shortcomings in software engineering. Based on these observations, we
highlight the best practices that could foster a more active community around
quantum computing software that welcomes newcomers to the field, but also
ensures high-quality, well-documented code.
