Good article Vincent on a topic that is very obvious once you point it out- but few “users” of the software often realise. Just to add in one more option …
I too wrote some algorithms and was very keen for adoption in the research community — its a complement when people enjoy/use/cite your work! Unfortunately I quickly ran into a lot of the issues you mentioned — my code was lost in the sea of GitHub. Being an advocate for “good science” I wanted to publish the validation results and performance (including limitations), however, I also realised with growing a user base you run into support issues. You can add tests, continuous integration, error-reporting etc but it all adds complexity and is not really what the end user is interested in; they use your work so they don’t have to start from scratch. I decided to try a startup!
It was high risk I agree, but my motivation was that I was passionate about the code and making a business around it would give financial support to grow users (and support them) but also give me the freedom to publish — which I do still. Overall we now have a mix of open and closed source. The fundamentals are still very much open (and published) but the closed bits which include methods to scale/deploy/support are closed — these are company IP and allow us to generate revenue to develop and grow adopters for the interesting scientific bits.
Anyway, so far I can say the experience has been hard work but very rewarding. This model has worked well for VetSens and thought I would share it!