Ratman 0.5.0 and some other small announcements
Hey everyone, it's been a while since the last update. I'm sending this e-mail to both the announcements and community list to a) break the ice on the community list and b) make it easier/ more approachable for people to reply to the announcement on the community list. So far the community list hasn't really gotten used, since we mostly communicate on Matrix. In the future I suspect the community list would be the easiest place to report issues, and contribute code changes, since our GitLab requires account verification, which can be annoying. In the meantime, let's get into todays announcements: Irdest has received two new NLnet grants this year! One for myself, and one for Aman, who has been part of the Irdest community for many years, and I'm very excited to get to work with him finally :) My NLnet grant -------------- The Irdest project has been in a strange state for this past year (and a bit). Since we forked off from qaul.net, there was a kind of pressure to change things on a technical and social level, to work towards a new vision for the project. And I think, mostly, we have succeeded at that. At the same time, the result of this "exploration" has been technical debt at many levels, inconsistencies that have slowly accumulated, and more and more bugs that are the result of them. This is going to be the focus of my grant work: to bring Irdest into a more unified state, to integrate features that were written as part of the last NLnet grant but haven't been able to properly land in a release. And to make the codebase easier to understand, work on, and maintain in the future. The core of the Irdest project (Ratman) used to be just one component of a larger tower, but now it _is_, at least in many ways, the tower. This needs to be reflected in the way the project and repository is structured. New release ----------- Today I am tagging release/0.5.0! It brings a lot of simplification to the codebase. All of the ratman utility crates (-netmod, -client, -types) have been consolidated into "libratman", which also replaces the "ratman" crate name, since there is little point to having a crate on crates.io that purely represents an executable target (the daemon). The daemon is now called "ratmand". The ratman tools are now no longer special parts of the ratman tree, and have instead been moved to the clients directory, with the rest of the applications that interact with ratmand over its client API. Additionally I changed the configuration format from JSON to KDL [1]. I've been deliberating about this change for a long time now, and while the code for parsing the configuration is now a lot more complex, it also allows us to upgrade configurations in-place in the future, can handle comments more easily, in-place edits, nested structures without getting unwieldy to edit, etc. The syntax will most likely be new to people, but I feel it's straight forward enough (especially in the way that we use it) that it should be easy enough to get used to. There are some other smaller things that you can read about in the release announcement! [2] Aman's grant ------------ And finally, I want to briefly talk about Aman's NLnet project: part of the shift in "vision" for Irdest has been to move away from the idea of building another meshing "app", and instead focus on the idea that technical infrastructure requires work and maintenance, and to democratise this work and maintenance. Making it easy to take existing router hardware, and augment it with easy to use and configure meshing capabilities, in our opinion, is fundamental to getting a project like Irdest not only to succeed, but to stick around any one hype wave. I have installed and forgotten about too many "apps" that were too single minded in their approach to communication. So, with this in mind: Aman's grant focuses on building ratmand and any other necessary tools for OpenWRT and building images/ packages that people can install via the existing OpenWRT package infrastructure. Additionally, he will be working on a netmod driver for embedded bluetooth boards. Potentially this could re-use some of the serial driver infrastructure we already have in place for the LoRa modems, but we'll see. In conclusion ------------- Anyway, I am very excited about the future of this project. There are still many many things to do, and I hope to be able to provide updates on how things are going more frequently. In the meantime I will start using the announcement mailing list for actual release announcements, plus probably I will start posting RFCs (requests for comment) on the community list regarding our upcoming specification and similar! Thank you for reading my somewhat rambly thoughts on the future of development. If you have any questions, feel free to reply to this e-mail, or start a new thread (on the community list). Read you all soon, - Kookie --- [1]: https://kdl.dev [2]: https://git.irde.st/we/irdest/-/tags/release%2F0.5.0
Hey everyone, it's been a while since the last update. I'm sending this e-mail to both the announcements and community list to a) break the ice on the community list and b) make it easier/ more approachable for people to reply to the announcement on the community list. So far the community list hasn't really gotten used, since we mostly communicate on Matrix. In the future I suspect the community list would be the easiest place to report issues, and contribute code changes, since our GitLab requires account verification, which can be annoying. In the meantime, let's get into todays announcements: Irdest has received two new NLnet grants this year! One for myself, and one for Aman, who has been part of the Irdest community for many years, and I'm very excited to get to work with him finally :) My NLnet grant -------------- The Irdest project has been in a strange state for this past year (and a bit). Since we forked off from qaul.net, there was a kind of pressure to change things on a technical and social level, to work towards a new vision for the project. And I think, mostly, we have succeeded at that. At the same time, the result of this "exploration" has been technical debt at many levels, inconsistencies that have slowly accumulated, and more and more bugs that are the result of them. This is going to be the focus of my grant work: to bring Irdest into a more unified state, to integrate features that were written as part of the last NLnet grant but haven't been able to properly land in a release. And to make the codebase easier to understand, work on, and maintain in the future. The core of the Irdest project (Ratman) used to be just one component of a larger tower, but now it _is_, at least in many ways, the tower. This needs to be reflected in the way the project and repository is structured. New release ----------- Today I am tagging release/0.5.0! It brings a lot of simplification to the codebase. All of the ratman utility crates (-netmod, -client, -types) have been consolidated into "libratman", which also replaces the "ratman" crate name, since there is little point to having a crate on crates.io that purely represents an executable target (the daemon). The daemon is now called "ratmand". The ratman tools are now no longer special parts of the ratman tree, and have instead been moved to the clients directory, with the rest of the applications that interact with ratmand over its client API. Additionally I changed the configuration format from JSON to KDL [1]. I've been deliberating about this change for a long time now, and while the code for parsing the configuration is now a lot more complex, it also allows us to upgrade configurations in-place in the future, can handle comments more easily, in-place edits, nested structures without getting unwieldy to edit, etc. The syntax will most likely be new to people, but I feel it's straight forward enough (especially in the way that we use it) that it should be easy enough to get used to. There are some other smaller things that you can read about in the release announcement! [2] Aman's grant ------------ And finally, I want to briefly talk about Aman's NLnet project: part of the shift in "vision" for Irdest has been to move away from the idea of building another meshing "app", and instead focus on the idea that technical infrastructure requires work and maintenance, and to democratise this work and maintenance. Making it easy to take existing router hardware, and augment it with easy to use and configure meshing capabilities, in our opinion, is fundamental to getting a project like Irdest not only to succeed, but to stick around any one hype wave. I have installed and forgotten about too many "apps" that were too single minded in their approach to communication. So, with this in mind: Aman's grant focuses on building ratmand and any other necessary tools for OpenWRT and building images/ packages that people can install via the existing OpenWRT package infrastructure. Additionally, he will be working on a netmod driver for embedded bluetooth boards. Potentially this could re-use some of the serial driver infrastructure we already have in place for the LoRa modems, but we'll see. In conclusion ------------- Anyway, I am very excited about the future of this project. There are still many many things to do, and I hope to be able to provide updates on how things are going more frequently. In the meantime I will start using the announcement mailing list for actual release announcements, plus probably I will start posting RFCs (requests for comment) on the community list regarding our upcoming specification and similar! Thank you for reading my somewhat rambly thoughts on the future of development. If you have any questions, feel free to reply to this e-mail, or start a new thread (on the community list). Read you all soon, - Kookie --- [1]: https://kdl.dev [2]: https://git.irde.st/we/irdest/-/tags/release%2F0.5.0
participants (1)
-
Katharina Fey