Future Tech

Upgrading Linux with Rust looks like a new challenge. It's one of our oldest

Tan KW
Publish date: Mon, 09 Sep 2024, 05:20 PM
Tan KW
0 475,228
Future Tech

Opinion The Rusting of Linux proceeds apace. Of course there are problems, some technical, some very human. Last week saw one of the leading Rusties sign off from the project, quoting "non-technical" barriers to progress. That'll be people, then.

As Linux makes its way through its 30s, it will face challenges new to it but very familiar to those who study cultural or generational change.

The magnitude of Linux's success is hard to quantify. It has gone from an experiment in operating system design and communal development to fulfill a dream of many commercial software vendors: an OS that can run everywhere. The biggest supercomputers, the smallest embedded devices, mobile and desktop, education, commerce, science and industry. It vitalizes the very new and sustains the very old. It has survived concentrated legal attacks from outside and bitter divisions within. Technically, economically, culturally, and pragmatically, Linux has revolutionized computing in ways that look beyond impossible from the perspective of the early 1990s whence it came.

A very large part of this is due to its underpinnings in C and its lineage. C was designed to foster high-performance system software that was quick to develop, frugal in its environment, close enough to the hardware to almost match the performance of native machine code yet easily portable to new architectures. Combine a tool like that with the unencumbered no-need-to-ask freedom of open source, and people who just wanted to be left alone to get stuff done got stuff done. Slow and stumbling at first, as anyone who tried to get early Linux up on a mid-'90s PC with a typical mix of IO and storage will attest, the skills and experience of the developer community grew to match then exceed the task of merely supporting hardware.

Genuinely good, innovative engineering and architectural decision-making followed.

Watching this happen and seeing the cultural constipation of proprietary options loosening and becoming dislodged by the tonic of Torvalds was thrilling enough - but to be part of it was heaven. As Linux gained in power and status, so did being part of the kernel developer circle. There has always been something rather magical about working where hardware and software meet, where code and silicon interact in the most intimate of ways. Getting something wrong can break the universe, while debugging needs multiple layers of behavioral abstraction in your mental cache just to know where to look next.

To be good at this is a skill set to be proud of, and the thing about open source - especially Linux, which powers the world - is that it's all public. More specifically, it's done among and with your peers. Moreover, this is stuff you don't have to do; those skills are commercial gold. You choose to do this. It is, as anthropologists like to say, very high status.

This has served Linux very well, and it will continue to do so. No matter what HR may suspect, developers are human too. We all thrive on status, however we define it for ourselves, and it motivates brilliant people to do brilliant things. There is something peculiarly satisfying to point to something and say "There's some of me in that." Linux kernel types can do that with their niece's Steam Deck and their astrophysicist brother-in-law's supercomputer galactic evolution model. Find another job like that.

If finding status on your own terms is exquisitely satisfying, maintaining it is every bit as motivational - and with high status comes high influence. There is a truism in science, for example, that genuine paradigm change doesn't happen just because new facts are known and accepted, or that old models no longer match new observations. Old ideas pass away only with the passing of the old scientists that espoused them. Scientists, like developers, turn out to be human too. Eminent figures have a lifetime invested in the ideas that gave them their status, and they often wield great patronage and control over the careers of the next generation. Generational change can be a very messy business.

This is vastly true in technology, where the ground rules can shift imperceptibly at first, then with breathtaking rapidity. C is an extraordinarily good fit for quickly evolving, resource constrained environments. It is less so where robustness, security, and maintainability are coupled with frankly overpowered hardware and a massively shared environment. If you're a Gandalf-grade C wizard, putting on novice's robes to learn new spells might seem incompatible with one's dignity. One's wily subconscious will find plenty of reasons to make this so.

The tragedy is that the sum total of knowledge, experience, and perspective acquired over decades of being highly productive in a complex environment is not bound to a particular language. Techniques vary, but the underlying problems and frameworks of thought do not. It is extremely difficult to not only preserve but make good use of such valuable perspectives when the ground rules change. Corporate culture is exceptionally bad at this, wiping out complete rain forests of institutional memory in one reorganization, which is why so many big companies seem to make the same mistakes time and time again.

Open source can do better, and there is reason to think it will. It can seem a rancorous place, with big egos and strident personalities as evident as technical excellence and spirited guidance. There are plenty of projects that foundered on the rocky shores of imperfect humanity rather than difficult technology. The same is entirely true in the closed world - but open source, being open, has the luxury of telling itself the truth.

It has consistently met and overcome existential challenges. It can surely meet and overcome the new, yet very old, problem of generational change. If it helps iron out that bug in humanity's operating system, that may be its biggest success yet. ®

 

https://www.theregister.com//2024/09/09/opinion_column_rust_linux/

Discussions
Be the first to like this. Showing 0 of 0 comments

Post a Comment