I always find these ideas funny. Been working with computers for decades and never once have I thought software “malleable”. Maybe back when I had to actually type the program into my Speccy to get anything to work… but then again it wasn’t a “let’s make software malleable” situation, it was more of a “this is how we can distribute software right now” type of thing.

Software was never malleable. User agency is a tale you tell yourselves to try and justify your rose-tinted glasses. Could things be better in computer world? Absolutely. But you could’ve ask us the same way back then and the answer would still be “absolutely”.

Malleability is a great answer to avoid the death by a thousand feature where you bloat your software because a company asked for something 99% of your users don't care about. That's the path I went with for my open source work with plugins that can run from a wasm runtime to prevent those from doing crazy things [1]. Unsurprisingly plugins represent more than 10x the code than what the core provides.

[1] https://github.com/mickael-kerjean/filestash

Sure, but the point is to try and fix that.

Our software is already malleable in a bunch of ways: APIs, integrations, extensions, plugins and compatible formats (eg lots of programs can edit a .md file). But all of this stuff is special-cased. Every program that wants to read a .psd has to write its own - probably buggy - parser. I can't just take the data in application A as JSON - at least not without claude. And I can't connect applications A and B and have them bidirectionally sync except with hacky scripts which will break in lots of situations.

I love the idea of fixing that.

Weird, I use emacs and form it as I please, and I do have agency. The way you describe it, I don't exist.

That’s… not a valid point. eMacs whole point is being “malleable”, but the point is that not every software has to be, and they never have been by default.

Its quite reasonable to assume a future operating system could take on the malleability of emacs? That would make it the default. Just because it hasn’t doesn’t mean it can’t be.

> Its quite reasonable to assume a future operating system

Possible, yes. Reasonable to assume? I don't think so.

The issue is that we had that for a decade or two already: people who lived through the era will tell you more, but Smalltalk environments and Lisp Machines already realized this "malleability" to the extreme and... died. We got DOS instead; the rest is (a pretty shameful) history.

Emacs is just about the only artifact (along with Squeak-derived Smalltalk-likes) of the era that still exists and is in popular use. The PC revolution killed interactive, vertically integrated, fully programmable environments. It happened because of hardware limitations of the time, but the consequences are cultural: the LispMachine-like environment simply faded from the collective imagination of programmers who learned programming by writing "resident programs" for DOS in assembly. It didn't happen immediately: DOS was sufficiently open for modification that (if you knew x86 assembly) you could mold it to your preferences, but the hardware wasn't powerful enough to do much with it. As hardware advanced, PC OSes ossified, adding abstraction level after level in both hardware and software. Early Windows was trivial to dissect - I remember WindowBlinds, a set of apps that transformed Win 95/98 into almost anything you wanted. I recently checked, and nothing like that is possible in the recent Windows versions. GNOME on Linux seems to have followed the same trajectory (fortunately, there are still a few other desktop environments there).

So I don't think the "malleable software" is going to return any time soon. We have not only rigid software everywhere - we have 30 years of shared culture of developing and using such rigid tools. With the size of the programmer population, changing that culture in any meaningful way seems very hard. There will be people who rediscover Lisp Machine ideas, there will be a segment of users swearing by Emacs and similar apps, but we'd need a revolution in corporate and educational policies to get anywhere beyond that, I think.

... but the parent makes a good point that software can be malleable, and that it's a good thing.

Software has always been maleable. To think otherwise is a plain delusion. Go ahead and write a few bytes into a binary, or download some updates, and you'll see what I mean.

The issue here is the legal barriers which set up a delusion of nonmaleability. Copyright and IP treat software and ideas as if they were fixed, unmaleable things; they are not.