Over the years I have asked for people willing to take over maintaining older models like the abandoned models, or the AC87/AC3200 models currently parked on a separate code branch. No one stepped forward.
That is common, yes.
It is very hard to grow a developer base and, given I had similar problems when Linux autofs was under heavy development, I understand how hard it is. In fact I'm still alone in that development so I'm not too good at growing a developer base either.
But also, I understand how difficult it can be coming from the other direction, for example I was thinking I would like to get familiar with wireless device drivers so tried to work on adding support for the Netgear R8000 to OpenWRT (quite a long time ago now). Not only did that not lead to improved familiarity with wireless drivers but I quickly became unsatisfied with the way things worked, or in fact didn't work IMO, in terms of review and merging. Without going into detail, I abandoned that with thoughts along the lines of "I have to put up with this sort of thing for work, I can do without it for things I do with the little spare time I have".
There's also a time issue, if you step up your committed and that can lead to a commitment of time that you may only have some of the time.
I guess this touches on difficulties you have and not only difficulties that others have, familiar with what it really means to step up.
Not only that but even building from the Merlin repo. is difficult when you start out.
I recently set out to try and build Merlin from the repo. and quickly found that it wasn't obvious how to do that given the existing documentation is a bit out of date (and that's not a criticism, more a fact of life) and it wasn't obvious from the repo. source I looked at either.
Personally I would like to help out, but as I say above, unavoidably the time thing is difficult for me and that needs to be understood and respected.
So, count me in if you have things that I could do given my constraints.
I'm no stranger to development, or git, or merging but there's a steep leaning curve with any reasonably sized project.
They don't. They do have multiple branches, however they simply release models off these branches as they are ready. For instance, the RT-AC88U/AC3100/AC5300 are all from the same branch, but they don't release updates them at the same time, hence the different versions as seen in my published spreadsheet.
Yes, I think that model is quite common, I see a similar model in the upstream kernel, Fedora, and RHEL, all work from a single repo. with branches for releases.
Things get forward or backward ported as the need arises.
And I suspect my current separate branches are very similar to their own: 382 (which is currently my 384.13_x branch in terms of models), 384 "main", and 384 "ax". They also appear to have a 385 branch for some models, but from what I've seen the code is identical to 384, just with a different version numbering. And they have the 386 branch, which is their most up-to-date, but so far only used for very few models, like the Zenfi. The DSL-AC68U was the first existing model that I have seen getting moved to it.
Which will eventually be a new headache of its own. I had to go through that in the 380 -> 382 switch, and it was painful. To the point that, at the time, I decided to scrap my code, get a fresh GPL code, and re-implement all of my changes on top of that new GPL.
I don't think there's any way to avoid the pain that this brings but still some division of labor is going to be needed possibly along the lines of how ASUS releases from branches (as do the other large projects I mentioned) rather than the all at once we have with Merlin now.
LOL, I don't see any other way for you to retain you sanity!
As I say, I'm willing to help if you see a place for me to fit in, and I accept that, at least initially, it won't be smooth running, certainly not for me and probably not for you either.
Ian