I thought I'd do a follow-up post to this one and offer some suggestions on where we could all go from here. I want to start with a big thanks to all my supporters. You people rock!
Also, I must admit that I am probably overly-critical of other engineers, and their efforts. I'm sure there are very dedicated people amongst the Meshtastic camp, and that they have taken on a difficult technical project. I'm sure some of them just want to protect the project, and how it is run.
That said, I still disagree with how this is (currently) playing out. I really do think there needs to be a competition of ideas (and implementations), and I admit this is tricky, in terms of contributors being proportionately rewarded, motivated, and engaged. For me, it means being an independent developer, putting my 'wares' out there, and seeing what the interest is.
But, considering this is all about communication, it makes sense to have interoperability--have a wider ecosystem to play in. So, I think that starts with some way to settle on an open protocol, and for an indeterminate amount of time that probably means having nodes that can speak multiple languages:
I've been discussing this with a few people, and everyone seems to like the idea. There really should be a choice out there, for the mesh you want. There is, of course, the potential of the space getting overly complicated or fragmented, and for a public mesh you don't want that, but there really should be a way to settle on whatever works the best. (and that could be subject to what you're trying to do, eg. just a sensor network?)
The V5 Firmware
So, I get that some people are a bit pissed off about the fact I pulled this. (and others would be pissed if I didn't). I really do want to offer you (ie. my supporters) a choice, and it might be that some of you really do want to stick with Meshtastic. So, if you just bear with me, I am planning on writing a C++ library, probably called MeshCore, and publishing to Github.
I want to put together a framework that has minimal dependencies, ie. can be embedded into a whole raft of environments, and is just a generic packet-radio mesh engine. Doesn't even have to be LoRa, but obviously initially oriented to that.
On top of that, someone could write a Meshtastic 'plugin' (or I might, depending on how tired I get). I might adapt R2 to be a plugin for it, but I believe I need to re-think that design.
Then, this library will be embedded into the Ripple Ultra firmware, hopefully with the Meshtastic plugin. As far as I can tell, this satisfies the GPL license terms. Can anyone comment to this?
Wrapping Up
Competition is a double-edged sword. I have no doubts whatsoever that it will swing the other way, and that I will be outcompeted, probably sooner than I think. I sometimes tell myself this, to not get too dug-in with all this, because it will have a finite lifespan, and after that everyone will move onto something way cooler. (as soon as Elon sees this space, sorry, game over :-) )
But, for now, I'm giving it a go and seeing where this could go.