How the development world changes (The native world is rusty)
This is part 2 of the series, the rant about web based applications is here. Now here’s the deal with Rust, the language that nobody really likes but everyone plays a Rust-fanboy on YouTube because it’s the cool new toy.
Open source is corporate source
First, some context. Anyone with a modicum of intellect realizes that the current day surveillance capitalism wouldn’t have been possible with the amazing work of volunteers and open source technologies…
Wait, I didn’t phrase that right.
Checks phrase again.
No, it’s right. Now, let’s start from the beginning. Open source. An idea that started when the research world that worked with software was suddenly taken aback by the greed of the 1980s. Richard Stallman was among the people who wanted to keep the culture of the researcher-hacker age alive, and (to make a long story short), he pushed for the GNU system: libre software that you can use without paying your corporate overlords, and that would enable you to use your purchased machinery and tech.
For a long time open-source (term coined by Bruce Perens, I believe) was a parallel to the commercial offerings. Microsoft was the most anti-open-source business for quite some time, from the attack against hobbyists started by Bill Gates to the late 90s shenanigans (I’m proudly keeping the freetard label that was cast upon me by a Microsoft employee) and the 00s when it managed to lose all momentum and credibility with increasingly worse technological choices.
But open-source thrived despite Microsoft’s best efforts and businesses started growing, most of the internet relied on open-source solutions, big companies like Google or Meta built a fortune on the back of open source. A success story through and through, how the corporations were toppled by…
Wait a second.
Again, the problem here is the multiple contrasts in the story. So open-source is no longer about the fight against big, evil corporations taking over the world, but it’s about big, evil corporations taking over the world? And Microsoft is one of the biggest contributors to the Linux „is cancer” Kernel? What happened?
The starting philosophy of the open source movement was in the area of „I have an itch to scratch, so I’ll fix this”, at least that was the starting pointin the Cathedral and the Bazaar essay. This works up to a point - and I realized the limitations of this view when I actually wanted to help write a driver for the ATI Rage graphics card in Linux, after ATI published some hardware specs for the card. The number of things that one has to know to write a graphics card driver is so big that you can’t obtain that knowledge outside of institutional frameworks: someone has to invest a lot to get that knowledge, as well as to keep track of the evolution of the topic. If it was nigh-impossible in the early 2000s, it is immesurably more so in the 2020s, when such topics became incredibly more complicated than at the dawn of the consumer-grade graphical acceleration age.
I couldn’t scratch that itch back then, and I most likely could not now - the state of the nouveau drivers show it well enough. You can’t even participate in a technical discussion about graphics drivers without years of diving into the topic. That’s an investment no hobbyist can do without some serious backing.
The point I’m trying to make here is that machinery became way too complex, the topics (software or hardware) became too complex to actually contribute something meaningful if you start with a blank slate. There will be no Linus Torvalds, still studying in university in 2025, sending a 100kb archive of „here’s my operating system, let’s take over the world”.
There’s a lot of old code, a lot of code and ideas from the 70s, 80s, and 90s still roaming around, written in arcane languages with loose coding standards. The most popular hacker editor is an editor that will turn 50 next year, and the editing ideas that it touts as amazing are drawn out of the limitations of a 50 years old system. A lot of the libraries that are currently at the heart of most Linux systems are started in the 90s, with the standards of the day in mind. There has been a lot of resistance to change and most likely this was a successful path that leads to a dead-end. In 30 years we learned how to write code better.
The generic contributor to open source is older now too, a thing a lot of projects complain. There’s not enough people involved in infrastructure work, most younger developers go towards projects that don’t have an established presence since breaking new ground is always more fun than polishing existing ruins. Not only that, but if you want to make a name for yourself you don’t feel like you can do it by being contributor 975 in an obscure and byzantine project.
So you have a generational divide and a sudden take-over of the open-source world from the corporate medium. You have coders from the ’00s and ’10s having way too much reverence for coders and code from the 90s. There’s terrible resistance to new ideas - just look at how long it took Wayland to become the standard offering, and look at systemd hate club as well. Even if they are superior choices, they failed to garner the love and attention they deserved; instead people focus on obsolete ideas from the ’80s that never worked very well either.
A refresh is necessary, but the cost was too much to just re-do what has been done before. There needs to be an incentive to rewrite things, and here comes Rust.
Rust is the best reason to rewrite
My opinions on Rust are unprintable, but since we’re not doing a paper blog here, let’s rehash them:
- It’s a bad language, that forces the code writer to focus on memory management as the main issue to solve instead of focusing on becoming a productive tool for the users.
- The community is absolute dogshit.
- It’s insecure by design.
- It is the corporate plant to take over the fundamentals of the GNU/Linux operating system family, and it’s too politically charged for a technical solution.
I’ll probably need to explain a bit more why it’s a bad language, but that’s not why we’re here, so someone remind me about this in the future. That being said, Rust offers the illusion of safety, and I call it illusion because I still see Blazingly 🔥 fast 🚀 memory vulnerabilities, written in 100% safe Rust. 🦀, and also the supply chain issues that it brings to the table are going to be legendary in the future.
Now, despite my absolut dislike of Rust, I have to admire a few things. First of all, it made old programmers enthusiastic about programming again. The thing with Rust is that it has very few features so it’s easier to learn than, say, C++ or C#, and you can write tons of code, because those .unwrap() don’t write themselves. So you have people that really abandoned all hope of writing good code given a reason to relearn how to write acceptable code because a compiler forces them not to take shortcuts.
And you have a ton of new programmers finally given a good reason to reinvent the wheel. Badly, but that’s how wheels used to be in the 90s as well. And Rewrite it in Rust became the solution, with the problem being that the old code probably has an expiration date.
And, you’ll be surprised to learn that I actually agree with the solution. However, this can be done by not plaguing existing infrastructure - if you came with a Rustinux, and rewrote things from the grounds up I would really really love this community. However, their solution was to:
- lobby the US congress to ban C and C++ from the solutions that the US state contracts.
- plague every C or C++ community with talk about how it’s immoral to write C and C++ code in 2020s, while at the same time building on top of C/C++ solutions or emulating them.
- be an absolutely annoying presence all around, while abusing that corporate-inclusivity speech that we know how fast fades away when political pressure is laid upon it (unlike the Python Foundation, for example).
So yes, I hate the aggressivity of Rust proponents, mostly because their revolution is driven by a very important factor that has driven open source software for a lot of time. I said before that rewriting is an expense that nobody wants to pay for, however, I really avoided the elephant in the room here by not stating the thing that the Internet will hate me for for the rest of my life.
Open source comes from privilege. But about this in the next episode.