all really good questions... and some for which I dont think we have perfect answers for
of course we already have rich involvement here with the community library, and also user interaction... which is fantastic.
but if we are talking about the 'released' project , and how people can get involved...
first, Id like to stress, anyone can get involved, programmers are just one part of the equation, there are many equally as important tasks:
your posts have already highlighted a few examples (and there are many more)...
- documentation / user guide / video tutorials
- testing of demo/example patches (and fixing if broken?!)
- creation of better tutorials/demos (so patching)
- improving help patches for objects (more patching)
- user support (on here)
these are in no way 'lesser' tasks, than writing code... as you have pointed out they contribute immensely to user experience AND have an added advantage that the more they are covered by others, then those with programmings skills can do coding.
also, as I said earlier, often coders (very much including me) , are quite often are not the best people to do these tasks, as there are better writers/educators out there.
(Id also argue, if you read feedback from new users, these areas are often the 'most criticised' and given as reason for a steep learning curve)
if we turn to 'coding'.... there are 2 parts
Axoloti UI - this needs java programming experience, not really much else.
there is quite a lot of code, but I wouldn't (in my experience) say its particular complex, but of course like many projects, there is little documentation, so you do have to 'jump in at the deep end' (this could be daunting I guess if your new to programming on big projects), but Johannes is great for giving explanations when you ask 'why?'
Axoloti Firmware - this is C code, needs a bit more experience... useful if you have some STM32 experience.
Coordination/Planning
small bug fixes/contributions are not generally an issue, but larger changes are more complicated, and it is something we have struggled with. In the past, I talked/mailed to @johannes to coordinate my changes... but this doesn't really scale with more developers, so we will need to formalise this a bit more. so 'expectations' are clear. The last release highlighted a few areas we need to work on in this area, and Ive suggested a few ways we can overcome some of the issues we encountered.
Honestly, though, I don't really have the answers for some of this.
Ive managed many big commercial projects, so I'm experienced in project planning/release (both 'traditional' and agile) but open source projects are very different, you cannot plan 'the teams effort' in the same way, and also communication is more difficult.
If anyone has experience of doing this on an open source project, its definitely 'worthy of discussion', in particular 'release management'.
I will point out one overriding 'rule', which shapes things - this is @johannes project, so at the end of the day, he makes the final call... (he is very open to ideas/discussion, but he makes the final decision).
anyway, the community is already making a major contribution... and if anyone wants to get involved more, regardless of skill set, I think there are many valuable contributions to be made.
I will say as a 'contributor' , Ive learnt a huge amount about axoloti and dsp, when you start explaining/documenting/patching for some else, you do gain alot of new insights, finding out things you would have never thought to explore
anyway... enough words... I really should spend more time patching/coding/music making and less time posting