<div dir="ltr">Hi,<br><br>On Wed, May 31, 2023 at 11:08 AM Jason Boyer via Evergreen-dev <<a href="mailto:evergreen-dev@list.evergreen-ils.org">evergreen-dev@list.evergreen-ils.org</a>> wrote:<br>> I know "should we replace all of the 'C'?" wasn't really Bill's original question <br><div><br></div><div>... but I think this is the real question before us, or at least, close to it.</div><div><br></div><div>If we move forward with the Rust router and websockets gateway and, two years from now, we find that that's all there is that's written in Rust, in my opinion it would not have been worth the concrete deployment and packaging issues we would run into, especially on Debian. Rust and Cargo are very much a moving target, and whatever you think of Debian's approach to packing the Rust build environment, Debian's notion of a stable version of Rust is clearly not new enough as compared to the rest of the Rust ecosystem. Now, it's not the end of the world if we have to live with using rustup to deploy on Debian, but that _is_ a tradeoff.<br></div><div><br></div><div>Similarly, the crate ecosystem is in great flux. One of the things I discovered when I put Bill's branch out for a test drive today is that one of the major dependencies of the Rust opensrf-websockets code, <a href="https://crates.io/crates/websocket">https://crates.io/crates/websocket</a>, is now effectively deprecated - in part, because one of _its_ dependencies _will_ break in future versions of Rust. 
Again, not the end of the world, as alternative libraries are available,
 but we _will_ have a dependency treadmill to deal with similar to the 
Node and Angular stuff. It looks like there are at least 101 dependencies among the entire Rust opensrf project. <br></div><div><br></div><div>Consequently, if we want a "better C", Rust clearly has a lot to offer - but going down that path needs to be more about a full investment, not a technology experiment that makes a couple components of OpenSRF be different from the rest of the code.<br></div><div><br></div><div>Regards,</div><div><br></div><div>Galen<br></div>--<br>Galen Charlton<br>Implementation and IT Manager<br>Equinox Open Library Initiative<br>gmc@equinoxOLI.org<br><a href="https://www.equinoxOLI.org">https://www.equinoxOLI.org</a><br>phone: 877-OPEN-ILS (673-6457)<br>direct: 770-709-5581</div>