I do like the idea of this configurator. But I dislike the idea of focusing it as a GCS. I think such a configurator will be popular for community, for setup, and maybe as a quick tool to develop stuff for debugging, etc.
But I think the effort of putting it on pair with mission planner and QGC is huge, I think way way way beyond those 20k USD asked. Both mission planner and QGC backends are really complex and beautifully engineered, they manage multivehicle and missions extremely well, and they are both stable on that regard, which I think is the main point of a GCS.
I think trying to replicate that on ArduConfigurator, thinking it would attract developers by itself would be a mistake. I donât think the problem with few contributions in Mission Planner and QGC is the framework itself, but the projects being complex themselves. I think if ArduConfigurator at some point gets to be as sophisticated as QGC or MP as a GCS, the complexity will be similar, and the developer availability will be similar as well. Just in maintaining bugfixes and the cross platform maintenance for new features ( different screen sizes, different hardware, etc ) will eat up very easily a developer part time.
There was an interesting thread about this in QGC channel on discord. Both Qt and .NET are very common frameworks, with lots of master developers out there. I donât think the lack of development is caused by the frameworks themselves being too difficult to work with.
Sure, Betaflight configurator and friends are very popular, easy to work with, but they are not even compared to what QGC and MP offers, it is orders of magnitude simpler, easier to understand and work over. I donât think it is realistic to think developers will come from everywhere to contribute to ArduConfigurator just because of the framework.
I think both MP and QGC are very particular projects, in the sense of, they have been maintained/developed almost since the beginning by a single person, or very small groups of people, and the only reason they got to the point they are today is because those single person or small groups of people have something like super powers or an infinite source of motivation to continue working on it, although unfortunately as a lot of you already know, that golden era for QGC and MP is ending, because of course it is not reasonable for such small teams to keep investing all that time and energy on those projects, having nothing in return. I know a lot of those developers work on it because they really like it, have passion for it, believe on it, but unfortunately the burden of maintaining, bugfixes, etc is not fun, and that kills the passion and the enjoyment of the core devs working on it for free just for the fun of it. I think some of those devs would come back to keep pushing forward if somebody else could really really take care of maintenance.
A lot of companies are benefiting from them without contributing back, and that is just not fair, so I totally understand the developers are less and less involved. It would be reasonable that the big players benefiting from it could contribute back minimally, so at least the maintaining is covered by them. That would allow core developers to keep working on cool stuff to keep moving the project forward, because that is what the core developers that have put all those resources here love about it. Nobody loves the burden of maintaining such huge projects by themselves, that is not fun. And if ArduConfigurator ever gets to that level of sophistication, it will face similar challenges, because it doesnât matter how modern a framework is, we are talking about a software that needs to run crossplatform and run on a huge variety of devices, some of them ridiculously underpowered. Maintenance will be required at some point, and it wonât be much easier than maintenance of MP and QGC right now. It is just not realistic to think a project wonât need that amount of resources just for regular mainteinance. And considering what the software is, it is also not realistic to think we can have total hardware abstraction, not at all. It will needs lots of resources to get maintained if it ever gets to be a full sized GCS.
A lot of companies are as well working over both MP and QGC, but there is just not that much contribution rate on those projects. Maybe because of the innovation on them upstream doesnât justify contributing and keeping their custom branches up to date. It is maybe easier and makes more sense from a companyâs point of view to just maintain a closed source version of such GCS. It could be also that as those project have run for such a long time without external resources everybody forgot the insane amount of effort the core devs of such projects were doing, maybe we all took them for granted, I donât know.
How to fix that for MP, QGC, or any GCS? They probably need to get by themselves enough inertia for companies to be interested in investing on them. We are talking about very complex projects that will need a lot of developer time to maintain. And doesnât matter how modern and cool a framework is, if a project gets to the sophistication level of MP or QGC, it will need maintainers doing everyday work for it to be attractive/stable enough for the rest of the community and potential new devs to come in. And that means funding.
The funding can come as donations, as companies sponsoring it, whatever, but from my point of view that is the reality of the situation. It is just not realistic to think just a modern framework will attract developers to work and maintain for free on such a project. I would love to be wrong about this, but I really think this is just the way it is on the world we live in right now.
Having said the above, I do think there is space for ArduConfigurator, and I think it has the potential to be a great tool, and I myself would be interested in contributing at some point. I do think using a modern framework has a lot of advantages, and could bring a lot of value to Ardupilot ecosystem. About the 20k funding for it, It is more than reasonable, and I am not opposed to it, but I do think it is necessary for all of us to be aware of what I said above, to be realistic about the road for ArduConfigurator to be on pair in functionality with a full sized GCS, which in my opinion, is orders of magnitude above those 20k asked, and that is why I donât think it would make sense for it to be a full sized GCS, not in the near future, considering the available resources we are talking about on this thread.
Just my opinion though, I could be completely wrong. Sorry about the long message by the way.