Hi jwjs,
Thanks for your comments, it's definitely valuable to get your opinion. As you have noted, the k-Wave project so far has really been an in-house software development project, rather than a community software project. The new features are often closely tied to our scientific research (for example, nonlinearity was added in B.0.5), so often a manuscript gets submitted at the same time as a new release comes out. The codes are released under an open-source license to allow other users flexibility in what they do with the code. We currently have a number of academic staff, post-docs, and students working on and with the toolbox, so hopefully new releases should be a couple of times a year. We also receive a number of suggestions, code snippets, examples, and bug reports from external users, which is extremely useful.
With this in mind, I completely agree that this release model makes it more difficult for external people to contribute directly to the code-base. So far, there hasn't been many people wanting to do this, so it hasn't really been a problem. I guess as the scientific functionality of the code stabilises (which it will), then an open repository is likely to be a better approach, particularly for the C++ codes. In the meantime, if there is something in particular you are interested in contributing, then please do let us know.
We are planning to release our first version of the C++ code for shared memory NUMA architectures in the coming months (described here). Other versions are under active development, and releases will follow as they are completed and tested.
Kind regards,
Brad.