I've never written or shared personal things here before, but this will be an exception. There will be some very important announcements about the software that I maintain later in this post. If you want to skip the personal backstory, and go straight to that part, you can go directly to the section titled Looking to the Future.
In reality, it all started a lot earlier, but that's a story for another time. Five years ago, something important happened for me, and for the development of Reticulum: I decided to close my business and sell my house. Up until then, I had been running a small IT service and hosting business, and a Wireless Internet Service Provider in a rural area. Work like that had been a large part of my life since I was sixteen years old, and in almost all ways, I enjoyed it very much. All those years in the industry gave me plenty of interesting projects and challenges to work on, and I learned so much.
But life, circumstances and relationships change, and back then, I was realising, that opportunities for following my real passions and interests were not really going to develop any further, if I kept doing the same things I had always been doing.
What I really wanted to do, was to work on the different open-source projects I had already been putting my passion and efforts into for some time, next to my primary professional functions. Increasing personal and family responsibilities also meant it was quite clear, that if I tried to keep everything going, I would not be able to juggle all the balls I wanted to keep afloat - at least not in a very elegant and productive manner.
So something had to give way. It was definitely not going to be the people that I cared about, and giving up my true passions without affording them a proper try seemed like a horrible path too.
A lot of my identity and feelings of accomplishment were bound up in my business, so it was definitely not an easy choice, and one that required several months of deliberation. But in the end, ending my business was the only meaningful way to make room for even more important things. So that is what I did, and during the course of about a year, I winded down the business, helped customers move on, and dismantled or gave away infrastructure and equipment to other local organisations and small businesses that could make meaningful use of it.
Deliberately deconstructing everything I had spent so many years building up was a poignant process to say the least. When I finally powered down the last of the servers, and disconnect the last fibre-optic cables from their terminals, it was the strangest feeling of both sadness and the excitement of freedom.
No longer having any dependable basis for income, I would need to significantly downscale my life to accomodate a much lower ceiling for living expenses. I put up my house for sale, and started researching how I could best stretch the surplus of funds, that I projected the house sale would yield. I decided on moving into a caravan, and going to places where living expenses would be as low as possible.
When the house finally did sell, it yielded less than I had hoped. But I still had enough to live simply, but comfortably for a few years focusing solely on what I wanted most: Developing Reticulum and its related tools and programs to a fully functional state, and contribute it to the pool of shared human technology as free and open-source software.
And that's how a 12 acre property and a farmhouse I had spent years renovating and rebuilding was swapped for a 15m2 caravan (and later an even smaller camper van). To some, that may seems like a horrible change for the worse, but it was one of the best things that ever happened to me, and having had the time and freedom to focus almost exclusively on the things I love creating for several years now, has been such a joy, and immensely satisfying. Mind you, it's been really difficult too at times, but it's been more than worth it.
Many thousands of commits, and in aggregate, several hundred releases later the whole ecosystem of software and hardware that is sprouting around Reticulum has grown and developed so much. While choosing to downscale my life and focus on this work was definitely the springboard and a primary enabler of all of this, there is no way I could have carried it all out without all of the support I've received - both from family, friends and strangers.
A very deep and special thanks is also owed to one particular person close to me, that supported and encouraged this endeavour from the very start, understood the importance, listened to my mad ramblings and waving of paper sketches for hours on end, and never doubted it could be done. Without this support, Reticulum would never have existed.
But ultimately, one mad hatter can only go so far, and I'm thankful there is now a community of users and contributors growing around Reticulum, comprising a wide variety of different people, worldviews and skillsets. The support and help you have provided to the project really allowed me to stretch the limited resources I've had, into something I had never dared to count on. I am so grateful for this. Thank you to all of you.
It's especially wild to see that most of the code added over the last couple of months actually wasn't written by me, but by community contributors! Especially the RNode Firmware has seen huge improvements by the hands of the community. New implementations of the Reticulum protocol is in the works by community members, along with new applications and systems being created with Reticulum, including a brand new LXMF client, called MeshChat. You're all friggin' awesome!
From the very beginning, I was conscious about trying to attract the right kind of people to the project: People that would find Reticulum interesting enough to figure out a lot of the technical details themselves, and in turn learn and internalise how Reticulum works, and the thoughts and ideas behind it. I believe that such a process leads to a feeling of shared ownership, and that was ultimately what I aimed for. Shared ownership is the only true basis for community. Honestly, I had absolutely no idea whether what I was doing in that department was right, but it seems like it worked, because all of you that did show up are pretty awesome, and I'm so happy to have met you.
While I have been working towards - and hoping - that this day would come, it's ironically also something I have been absoutely fearing. This is because it's something that puts me completely outside of my optimal skillset, and into waters that are exceedingly challenging for me.
Give me an immensely complex problem, that I can dedicate uninterrupted focus to for months at a time, and I will thrive - and maybe even come up with something rather brilliant. Demand that I work on something that requires constant multitasking and context-switching, and you shall observe me degenerate into a cognitively deficient, non-verbal state in no time at all (I'm not even being hyperbolic here, it's actually exactly what happens).
Unfortunately, managing several active open source projects, many emails and messages every day, from all kinds of people asking good and interesting questions, thinking about and designing solutions to the core problems of the projects, integrating feedback and ideas, providing directions and answers to the community, testing and debugging hardware and software on a multitude of platforms, reviewing pull requests, triaging issues and potential bugs, all while trying to live on a shoestring budget, while still being a decent, continually growing and learning human being, is exactly the kind of hyper-multitasking that I completely fail at.
I do best when I have the time to stare uninterrupted at trees and mountains for extended periods of time while thinking deeply, and then sitting down for 16 hours straight to put those thoughts into either code, equations or words without interruptions.
If you've been here a while, you have probably noticed that if I have anything to say, it tends to be rather... verbose. Case in point; this post. Often, it also completely eschews certain traditionally expected subtleties or considerations.
Once upon a time, in an earlier part of my life, I thought that such attributes were merely proclivities; something that could be molded away with practice and perseverance, without damaging the qualities, skills and capabilities in me that actually bring me meaning and joy. This is not possible, of course.
I run on a slightly different hardware platform than the majority of people: I'm autistic. And while that means I have quite the mental elasticity in some areas, I've learned to accept that it also comes with inabilities, challenges and sometimes just plainly hilarious differences to most people. Like that one time, where I got so excited over a new antenna that I broke one of my toes.
Notice how that very nice Diamond X700HNA is in my hand, not on a mast. Notice also the bags of frozen beans on my right foot. Well, I find antennas quite exciting. I'm a grown man, but when I get excited about something, I get a very strong urge to jump over stuff. Problem is, I also often forget how terrible my proprioception is, which makes attempts at ninja-vaulting over stuff a pretty bad idea. Result: Broken toe, and no antenna mounting that day. I have a lot of stories like that, but I'll try not to digress further.
Being autistic is one of the things I absolutely love about being alive. It defines a lot of who I am, and I'd never want it any other way. But it really does neccessitate accepting that there are certain things I am not just "a bit challenged" in. I may be able to do some of them short-term, but in the long run, they are not challenges, but hard inabilities.
Such inabilities and seemingly difficult "proclivities" are just as much fundamental points in the overall lattice of a being, as the ones that are perceived as productive and wanted. Since they are all constituents of the overall structure of a person, you can't hammer any of them out. Try, and you'll just end up shattering the entire crystal into thousands of little shards. All still of the same making, but now disjointed.
There's areas where I excel, and areas where I absolutely do not. I have really enjoyed, and now very much treasure the last five years, and all the great stuff we've managed to put together. Through building all of this, things have once again changed, and that means it's also time for some changes for me, personally.
If you read the personal context above, you can probably imagine that some of the most important changes to my future work on Reticulum will center on tightening focus, and prioritising depth rather than breadth. I will go into more details about all of that shortly, but first there is another very important aspect that I would like to make clear to all of you - the financial situation of my continued work on Reticulum.
When I dedicated myself primarily to developing Reticulum and the surrounding ecosystem, I also dedicated a specific amount of financial resources to do this. With lots of help and support along the way, I've been able to stretch those resources farther than I had dared to count on. Nothing lasts forever though, and they have now been exhausted. This means, that going forward, substantial and focused work on Reticulum and related software from my part, will require funding in one form or another. If you can provide me with a hut in the mountains, and a steady supply of risotto and carbonated water, and the occasional glass of whiskey, that may just work out.
Joking aside, though, the immediate protocol for acheiving this will be to collect all incoming donations into pools that can be used to fund meaningful periods of focused work. As mentioned above, I work most efficiently when I do not have to context switch often, which means I will target funding work into chunks of a month at a time (or longer if possible).
A more long-term and stable solution for funding Reticulum development is something that I am still looking into. This is an area, where I will most likely need help, since my skills in the domain of asking charities and foundations for project funding are practically non-existent. I've tried, and I failed.
There are parts of Reticulum and related systems that are so interesting and satisfying for me to work on, that I am very likely to continue doing that in my free time as well. But it will be handled exactly as that, something I do in my free time. For the next long while, the things I really want to focus on will be primarily invisible to the community, and it's likely to be a while before I announce any of it. I really need to retire a bit to the periphery, and work on some of the long-term fundamentals, that I haven't really talked about anywhere yet, so that is what I'll do - for my own satisfaction and in a slower pace.
Most of the various packages and programs I maintain will continue to be maintained by me, but for some of them, I am actively encouraging the community to take a larger degree of ownership and development. I think this will be interesting and beneficial for everyone, so let's have a look at the specifics.
While I will continue to maintain and publish Reticulum, the release cycle will now slow down considerably. I actually find it to be a really good time for this to happen, and the release frequency has been pretty hectic over the last two years.
The core rns
package has reached a high level of stability, maturity and functionality, and the API is fully implemented and functional. Slowing down the release cycle will allow potential pull requests, bug reports and community feedback to accumulate into masses of work that can be dealt with more efficiently over funded periods of focused work, thus freeing up time and resources for me.
Slowing down the release cycle will also allow greater insight into what the community and users actually need most, and will allow other implementations to more easily catch up to feature and API parity with the reference implementation, and for documentation and tutorials to be produced.
I will release version 0.7.5
of the Reticulum shortly, this will be the last release in a while. After this release, the codebase can now be considered stable. Any critical bugs and security issues will of course be fixed and have updated releases issued immediately, but apart from that, new releases will be scheduled into targeted blocks of work.
While I had hoped to implement the last big features of LXMF that I initially planned - group messaging, content destinations and a particular security-related feature - I didn't manage this within the time and resources I had available.
I'm very confident that it will happen down the road, but it will take some time for me to get there. Securing significant funding could greatly speed up this.
I will still release security and bugfix releases to LXMF, but other than that, the release cycle will slow down considerably too. LXMF is something I really look forward to putting more time and effort into, but realistically, it will have to wait a bit.
I will release an update to the RNode Firmware shortly that will incorporate recent pull requests and improvements from the community, along with a few additions of my own. From here on, I encourage and ask the community to fork and take over the continued development and maintenance of the RNode Firmware.
I will of course still keep my version of the repository and firmware releases up and available as a stable reference. But it's my hope that the community will create a fork and organise around it to make it even better and more functional than what we've achieved together so far.
So much great development has been happening from the community, and I believe letting you all take it completely in the directions you want will be the best course of action overall. There's lots of features that people want, and lots of potential for improvement. Giving this to the community will free up time and resources for me, and more options will make RNodes even better.
If any critical bugs or issues are discovered in this regard, I will backport them to the firmware fork that I maintain, but other than that, it's in your hands now. I put so much love and care into RNode, please take good care of it!
When I started creating Nomad Network, my main goal was to create a basic communication and information-sharing system that could be easily deployed in adverse scenarios, such as natural disasters, humanitarian efforts, zero-infrastructure areas and off-grid communities. Something that would allow 80% of the bare-necessity utility value of an Internet connection, in only 1% of the equipment and bandwidth envelope. Something that could be set up and operated with very few resources, and still provide meaningful communication to a community.
Within that framework, Nomad Network is complete, and I am very satisfied with how it has turned out. It's a strange piece of software, for sure, and I absolutely love it. There's so much more that could be done with it, so much potential in all kinds of weird and wonderful directions, but those will be for all of you to decide.
My secondary goal when creating it was for it to serve as an example of what you can do with Reticulum, so I hope you will use it that way. Use it, build on it, modify it, extend it. Personally, it's been great to see how Liam Cottle already incorporated a nomadnet page viewer into the Reticulum Webchat client.
Going forward, I may or may not publish new versions of nomadnet
. I honestly don't know. It's one of my beloved little pet projects, and I may well fall into a strange mood one day and work on it for two months straight. Or not. Who knows?
The mobile and desktop LXMF client and extensible telemetry-multitool Sideband is another program I wrote partly as an example of what you can do with Reticulum. But more pertinently, I wrote it because it was exactly the kind of program that I needed and wanted to use on a daily basis.
I know a lot of people have found it idiosyncratic in many ways, and a lot have found it great. For a few individuals, it has apparently been a strange enough experience that they had to send me honest-to-goodness hate-mail and threats about it. That was not something I expected, but at least it provided a laugh and a head-scratch.
Sideband was definitely never intended to be a "product" for any kind of mass audience. For the people who get it, I hope they will continue to use it, or use it as an example of how to build something even better. For the people who don't get it, I hope it will serve as an inspiration to build something they like better.
I will continue to work on and update Sideband when I find it interesting and amusing. In many ways, Sideband is "my own personal Reticulum project", and I intend to keep on tinkering with it. It will definitely keep on being idiosyncratic and packed, that's how I like it.
This has been a long and dense post. There was a lot to communicate, and I hope that I've managed to keep the important information accessible, while still providing additional context for those that are interested in the background and reasons for everything. I think sharing a bit more of what has motivated me in all of this, and how I think and see things will be useful going forward.
Coming to the conclusions here took a lot of turning over in my head. In the end, my primary goal is to create the best possibilities for the project and community going forward, while also still respecting my own skills, challenges and best interests. The path outlined above is the best I've been able to come up with.
I'd really love to hear what all of you think about this, how you see the future of Reticulum, and whether you think these choices will continue to move things in a positive direction for everyone.
Once again, thanks for everything so far.