69 comments

[ 0.32 ms ] story [ 85.1 ms ] thread
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 [1], and unsurprisingly plugins represent more than 10x the code than what the core provides.

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

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.
... but the parent makes a good point that software can be malleable, and that it's a good thing.
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.

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.

I believe it is critical for regulators to force mega-corporations (and software vendors in general) to permit third party clients.

I use services like YouTube every day, why can I get sued if I write my own YouTube client that's better than the one provided by Google? Why can I get sued if I create a chat client that aggregates the myriad of chat services I use?

I'd argue that this even extends down the stack. Why is there only Android and iOS? It's because hardware drivers are practically impossible to write for undocumented hardware (which is virtually all hardware). Vendors should be compelled to document their hardware such that drives could be produced for them.

Asahi Linux is a testament to a team attempting the impossible and making unbelievable progress - but it's still not competitive with first party drivers.

I want a world where I can run Linux on my MacBook Pro and my phone. I want a world where I can flash a custom firmware to my TV that removes the bloat and spyware. I want a world where I can use the services I depend on in ways that are better than what the vendor can produce. I want a world where I can rebuild applications and games lost to time.

I have the skills and desire to do these things.

But nah. Not allowed.

Everything you listed is exactly the reason why copyleft and GPLv3 needs to be the first and foremost license when opensourcing. If proliferated, it can give you all of these freedoms listed that you (and i) desire.
> If proliferated, it can give you all of these freedoms listed that you (and i) desire.

Hold up, let's not oversell things here. GPL/Copyleft just means that you have to share source if you share binaries. However most of the ways big companies exploit the digital commons these days doesn't focus on that.

Instead they run the important pieces remotely in their data-centers, and release neither binary nor source. If they do a client binary (e.g. phone apps), they can just sprinkle in some naive encryption and some "copyrighted content" on the server. Then if you make a custom client--or even document how to do it--you might go to jail. [0]

[0] https://en.wikipedia.org/wiki/Anti-circumvention_laws

that's what the AGPL is for.
Maybe I'm uneducated here, but wouldn't this just commoditize the products of companies? Would it disincentivize them from creating their products in the first place?
YouTube's product is the commercials it targets with the collected user data, not the web or phone client. So as long as the client doesn't get in the way of showing these advertisements and collecting that user data, it should not matter to them.

In more general case, you don't pay for the client software (or web page), you pay for the service provided trough it, so it should not matter if you use the service trough different client.

Of curse, many of these new clients do provide options for getting around the data collection or make it possible to block the advertisement, and that makes the companies so strict about who makes clients and how.

Did TV, VCR, soundbar, monitor, laptop manufacturers end up stop manufacturing their devices because they had to talk to each other with a compatible HDMI format? And the user could swap out the TV device that played media from Apple TV?

Where do you get those silly ideas?

In a sense, yes - intuitively, you'd think it's bad but historically it's actually a major accelerant to innovation.

Essentially, if competition entered the market, Apple (and co) aren't going to give up, they'd be forced to innovate in order to retain market share.

If individuals (like me, some random on the internet) were permitted to create competing services on top of hardware and software that exists, you'd be running SteamOS on your MacBook, you'd be plugging your phone into a USB-C dock or lapdock, you'd be able to export data from your health tracker so you can buy a new one and keep your existing data, etc.

By contrast, the status quo of permitting corporations to attain functional monopolies by making it practically impossible to compete is a far worse outcome for the general consumer.

Also, when you consider that the EU is looking at cutting their reliance on US technologies - they are literally not going to make a MacBook or iPhone in this decade - but if Europeans were allowed to install their own software on these devices, the road to sovereignty gets a whole lot less impractical

> I want a world where ...

> I have the skills and desire to do these things.

Please check out my page on the topic https://fabien.benetou.fr/Content/SwappingPartsOfTheRestrict... and let me know if I could improve it somehow to help you.

Overall though my recommendation is :

- do what you can TODAY no matter how small

That means if the OS is too big a of a step, start with an application. If the hardware is too locked down, start with data so that next time you buy hardware, you will bring over that data then switch. Don't postpone.

> But nah. Not allowed.

Some of it, you are. At least for personal use. Our minds are our own jails here. I recommend to try and challenge it.

https://news.ycombinator.com/item?id=49875994

LLMs, whatever you think of them, currently alter equation a lot when it comes to one-off work like this. I have the skills too (for some of these things), but I don't have time/energy/capacity to do the things necessary to bypass around the obstacles. LLMs do.

The other day, I spent at least 20 minutes trying to share screens with my mother on Google Meet. She uses OSX.

There was a cascade of subtle issues which blocked every possibility.

My mother was using an an Apple iPad and I was using Linux. I sent her the link to the Google Meet to her email. When she tapped it, it opened in Safari browser. Safari did not allow screen sharing via Google Meet so I told her to download Chrome and told her to copy the URL into Chrome. Safari would not let her copy the URL from the address bar... She ended up literally typing out the URL and the resource ID by hand while I read it out to her. Then when she opened Google Meet in Chrome, it required her to download a browser extension (I don't recall having to do this on Linux)... Anyway it was unbelievably tedious.

It's obvious that operating system companies have been intentionally making it difficult to 1. Know where you are when browsing your file system or the web and 2. Copy the URL or path between different apps.

This has been a major point of frustration for software developers. First, it started with OSes hiding file extensions, then converting the address bar into breadcrumbs/buttons which can't be highlighted or selected... Then hiding the protocol (e.g. http:// or https://) then hiding most of the start of the breadcrumbs which make up the address so that you can't even see the full path in a single screen and you can't even select individual words to copy even a single folder name.

And this trend spread to a lot of other apps. Sometimes in downright dangerous ways. For example, recently, I noticed that my email client was hiding most of the email address of the sender of an email I had just received. If I clicked on the email address it opened up their contact card in a modal but only showed their name! Their email address still cut off on the contact card view and also not selectable... I just wanted to see if the domain name was legit but I physically couldn't see what the domain name was. OMG. Nowadays, whenever I'm forced to use one of these crappy web applications, I just open up the Chrome developer panel and inspect the HTML directly. I don't know what's wrong with people that they put up with this stuff voluntarily.

> I don't know what's wrong with people that they put up with this stuff voluntarily.

They have no other choice.

Tech is magic, it's near-pure supplier-driven market. Consumers don't understand it, barriers to entry are stupidly high[0], but the products/services are still necessary. Consumers are thus forced to choose from what's available on the market, not what would be actually useful. Companies know this very well.

This was true before computers, too - TVs, appliances - but is much stronger with computers (and every non-computer tech becoming a computer skeuomorphing as appliance).

That's why people "put up with this stuff voluntarily". They learn to cope, learn to not touch this if they can avoid it, and maybe silently complain to friends and family. That's why "can you fix my printer" is one of the most hated aspects of family life by computer people.

--

[0] - Hardware is pretty much impenetrable, because the easy parts are high-capital, and the important parts are supplier contracts, which everyone who matters has cornered already. Software-side is technically one of the lowest barriers-to-entry economic activities in history, and LLMs help a lot, but in practice, software is rarely the valuable part of software (!) - it's usually network effects (e.g. social media) or supplier contracts (Spotify, etc.), or such.

>> They have no other choice.

They do have another choice; Linux! It's free OMG.

They just love their chains!

So many companies (including mine) built software to replace spreadsheets - but of course spreadsheets are great because you can do anything you want.

When there is no 'standard' way of doing things, you end up writing feature after feature to meet all the different ways people want/need to use the software to replace their spreadsheets.

Eventually it just becomes a huge messy. If instead we allows our customers to customize the software themselves, so each customer got what they needed, but still had the core backend, data, and shared functionality shared between them maybe we could build simpler software again that also does.

Maybe they can just vibe everything themselves, but vibe coded features feel like a solid middle ground.

I know of rough.app and vendo.run trying to allow vibe coded features, but I haven't seen anything take off like lovable yet. Is there something out there that is being widely used that lets any software become malleable?

I have been working on exactly this with Filestash (https://github.com/mickael-kerjean/filestash), out of millions of users, 99% of them don't seem to care so much about the malleability, it gets very usefull when a company ask for something that 99.99% of people don't care without having to add yet another setting toggle. A recent example was when supporting gobd compliance deployment which required us to sign logs via a vendor who can deliver a qualified electronic signature for which nobody outside Europe would care about
That's a really useful data point. Maybe malleability doesn't need to be something 99% of users actively care about
Maybe the real lesson from spreadsheets is that the customization layer isn't a feature, it's the product
> Is there something out there that is being widely used that lets any software become malleable?

Spreadsheets.

Or, maybe something very close to spreadsheets but that can also deviate from the rectangular cell grid topology.

> So many companies (including mine) built software to replace spreadsheets - but of course spreadsheets are great because you can do anything you want.

This is doubly ironic, because so, so many companies would be much more useful for the customers if delivered as a spreadsheet file for download.

I know, I worked for one too; said so in the meetings many times, especially watching the frontend side screwing up tables in SPA so they would choke rendering couple dozen rows of numbers.

So much time, effort and money is spent on designing subpar products and services, where spreadsheets would do better, simply because the value of using a spreadsheet goes 100% to users, and it cannot be that users reap all the value of their work, without a host of businesses capturing most of it along the way.

The whole point of replacing spreadsheets with a SaaS is usually to lock-in a specific "user journey" and force users to follow it, and this rarely if ever serves the user.

I've been thinking about this issue. One thing i realized early on is that the presentation layer is transcient it doesn't matter as much as data representation and storage.
Along the lines of presentation layer being transient,I’ve been experimenting with LLM and accessibility and screen reader to generate cleaner UIs and APIs. Haven’t spent too long on it, but parts of it seem to work. Speeds the biggest issue.

I haven’t tried this with new LLMs yet.

This makes me miss the era when computers felt more like environments than products
Miss the days you could script or tweak everything. Modern apps feel like sealed black boxes with no escape hatches.
This whole article is true and to the point but... reality is: most people still don't build their own setups: work, home - most of them follow a sh*tty software or decorate with Ikea. I think this applies only to a small group of users how will be willing to go extra mile and prompt their ideal interface for whatever they need to do.
The realization that "normal" people don't care and will never care was the saddest for me. There are so few people who care. We're essentially irrelevant in the grand scheme of things. We have no leverage.
When I was younger and I heard the saying along the lines of "struggling against the indifference of the universe" I didn't realize at the time it included people too.
Yeah. The indifference of the universe is perfectly manageable. It's the indifference of people that broke me... I'm starting to question every principle I've ever had.
This may sound misanthropic of me, but it has helped immensely for me to view all of humanity as insignificant. Maybe even an anomaly as far as the scale of the universe, or at least an extreme rarity, capable of building societies and machines with more power and influence than our brains and bodies ever evolved to handle.

Perhaps many of us are indifferent because that is our default, and there is no reason we were "meant to" survive this long. If the universe's age scaled down was the length of a human lifetime, we almost went extinct the day before yesterday[1].

Beyond at least that moment, we are very lucky to still be around. There is nothing about us that is special against the vast indifference of the universe. While we may feel special ourselves, against our own atomic understanding of our surroundings, we are not, and that gap could very well be a primary source of our suffering.

That said, it does not stop me from enjoying my time here in this beautiful place and, as Camus put it, raging against the absurdity.

1: https://www.scientificamerican.com/article/human-ancestors-n...

Life is complex. You probably don't optimize your life in a way that some other person would be shocked you're not doing.

And they probably optimize their life in a way that's invisible to you.

Different people care about different things (beyond near term well being). We have no ability to be deeply involved in million different topics, but most of us care about several. And random couple of people may have no intersection and could symmetrically see each other as a "useless normie".

That's, uhm, normal and why groups form by interests, from cooking to hiking to reading to hackerspaces to rocketry. I see it as neither bad nor sad. My 2c.

I understand that, I just don't like it.

Computers are world changing technology, magical runes we can bend to our will. I wanted people to care, to fully harness the power of these machines. But virtually nobody cares.

That wouldn't be a problem if this just came down to individual choice, but it doesn't. The fact they don't care has enormous impact on us who do care.

Because they don't care, we are a minority and therefore have no economic leverage. One day the big corporations will make computers that only they control. They will lock us all out. Nobody really cares, people will keep buying the locked down computers and will even defend it as a security feature as though the lockdown was for their own benefit. They could have been lords of their own digital domain, but it turns out they enjoy living as serfs in the digital fiefdoms of trillion dollar corporations.

We also can't have privacy and anonymity because of this. For anonymity to work, we need a massive anonymity set. We need lots of people using things like Tor, ideally most people if not all people. This is so that people can't tell us apart, but also so that they can't just blanket ban Tor traffic without serious economic consequences. But nobody cares, people are just fine with being spied on, so they don't use it and it weakens privacy for us who do care as well.

It's so sad, and I'm starting to actually blame these people for the sad state of things. I look at the trillionaire technocrats building this dystopian world and taking advantage of them, and I start to wonder if they were right to do so. People could have stopped this, if only they cared. They didn't... And therefore they deserve it.

How about this framing: no one person can care about everything but it's important that everyone care about something.

You pushing back on computing makes the digital world a little better for the Ikea designer who doesn't see the magic and just wants to make figure out if the pizza place is still open. In turn, that designer makes sure there's a decent baseline for the design of your home, even when you don't want to think about it. Together, you both make room for the urban planner or chef or nurse, even if you don't think much about transit or gastronomy or healthcare....

There is a mental load budget and when it runs out, people experience decision fatigue ( https://en.wikipedia.org/wiki/Decision_fatigue ).

When that is exhausted, people are more likely to take the simple decisions without thought.

Not having to make those decisions is a privilege. Not having to worry about food prices is one such example. Not having to worry about the healthiness or preparation of the food is another.

For many people, they're fighting with the lowest levels of their needs ( https://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs ) that the higher ones don't get much attention.

Even when one does have all the needs fulfilled and able to make decisions about things at the "self actualization - achieving potential and purpose" level, there are so many things out there that one can't make everything a personal utopia (even if they had all the resources to do so).

I'm ok with having an Ikea bed and shelving because I lack the skills and my financial priorities aren't in that direction to customize it myself. I'd love to have the perfect shelves for my game room... but Kallax is ok.

And while I've got the perfect computer setup for the things that I do... my kitchen is a mess that lets me cook the basic food things that I do. To a chef, my kitchen is dystopian. To a carpenter, my shelves are a corporate blandness. To me, their computers and digital workflows are poorly organized.

Not everyone has the capability to understand the nuances of digital security and make choices that improve (or at least don't make it worse) situation.

I can't care about all those things.

What can be done is try to contribute to a "raising tide that lifts all boats" and helps everyone more easily achieve their needs and allow others to be able to meet their potential so they can care about those things without being overwhelmed.

The minority of the population isn't "people who care about digital security" - it's "people who are able to act on realizing their potential." To say that the people who are still working on achieving their safety and physiological needs of housing and health and food and water don't "deserve it" because "if only they cared" are to blame for the world taking advantage of them and responsible for the sad state of things.

People need to be able to not worry about where their next meal comes from before they can be worried about using Tor for everything (or ensuring that people are eating healthy as a chef, or are living in houses that meet their needs as a carpenter).

> One day the big corporations will make computers that only they control. They will lock us all out. Nobody really cares, people will keep buying the locked down computers and will even defend it as a security feature as though the lockdown was for their own benefit.

This is already happening. For so many non-tech enthusiasts their only computer is their phone. HN is filled with people who strongly believe the spectacularly powerful, well connected, and sensor-festooned general purpose computers we all carry around in our pockets are "phones" and their owners and users are undeserving of software freedom because of that.

Some of the people who feel this way probably do so from a sincerely held belief (usually relating to "security" or "privacy", and often accompanied with stories about removing malware from "normies'" computers).

I suspect others have this feeling because they know their employers' revenue and ability to leverage platform lock-in will be undercut by freedom.

What exactly are you sad about? You're only just realizing highly technical knowledge makes your opinions a minority?

DUH.

Guess what? That same knowledge gives you agency. With LLMs now, even more so. Want something? Build it (or have claude build it)

Why are you being a defeatist over something you can't control that was always the case? Nothing has changed.

I seriously encounter this hand-wringing on HN

And then show then the free and battle tested software I built lovingly over a decade, that solves exactly this, and that I use in my own companies, but also give away for free

https://github.com/Qbix/Platform

Get downvoted by other HNers who vehemently hate someone “self promoting” a solution to this very problem. They donmt just “not care”, they care very much that others on HN should not be exposed to such free and open source solutions

Having faced the same problem (of people not running their own servers), I went ahead and built an all-in-one server that you can use to create binaries, copy them, manage public web files like in redbean, as well as php files to run inside the server, then distribute those too. Took me months of iteration with Claude. When I posted it on HN got… 3 upvotes.

Then it was resurrected and reposted by the mods, got 40 upvotes, lots of snark about me having dared to use AI to build it, and “TL;DR” comments, and then… the post resurrected and reposted by the HN moderators themselves was… flagged:

https://news.ycombinator.com/item?id=49749789

In the days since, I have improved the server a lot and v2 even lets regular PHP script kiddies build a Jack-Dorsey-style app on iOS and Android. Many people on HN will immediately have a reaction: “why PHP, it’s so old”. So I updated the github to answer that:

https://github.com/Qbix/webserver

Again, this is MIT licensed, and open source. On Reddit, the situation was even worse. Lots of upvotes at first, then anyone saying nice things about it got heavily downvoted and various trolls started posting snarky comments. Oh well, at least it attracted 150 stars and some people are actually forking it and using it.

But let’s be real, not everyone wants to run a webserver. That’s why we had “commodity hosting” in the past. But how to make it so that people can “just use” software they can trust, without anyone being able to tamper with it? In 2017, I got enamored with Blockchain for that reason. I saw tens ofnthousands of people running nodes, and letting normies “just post” transactions. I saw a way that high-calue transactions and balances could be protected. I launched Intercoin Inc, raised half a million dollars (and more since), built the software, deployed it on 7+ EVM blockchains, and made it freely accessibls:

https://intercoin.org/applications:

https://www.sec.gov/Archives/edgar/data/1733567/000173356718...

Unlike most projects in 2018, we treated the fundraise like a security, and tried to do everything by the book. But, just sharing anything with the word “blockchain” in it should earn me the wrath and downvotes of a certain very active subset of HN. I feel like they almost see the word “blockchain” and insta downvote. Maybe these mechanisms are not even human? Who knows. It cost a lot of money to get right at the time, and released as free and open source. This is Hacker News. One would think they’d celebrate this, let others discover it and use it, even if they themselves don’t like web3. <— (there, I put that “keyword” in there, watch what happen to this comment now). But no.

But blockchain was expensive, slow, and couldn’t hold secrets. And that brings me to… my solution in 2026, which I spent over a year designing and building with AI:

...

We're not just bitching. I've contributed to free and open source projects. I've reverse engineered my laptop and released Linux free software. I'm investing in local inference computers. I've even created my own programming language.

We're doing what we can. The point is it's not enough. One day they will lock us out either way.

The whole point is we can't create an open source computer fab. They cost billions of dollars. It's just not happening. We can make free software at home, but we can't make free computers in our garages. Unless we figure out a way to do this, it's pointless. The chip manufacturers will be the ones responsible for the end of our freedom.

FPGAs -at the cost of going back to 90s hardware performance- actually grant us the ability to make free computers in our garage. I’ve been using LLMs to design CPUs and SoCs and had decent success, actually. You’re still trusting Vivado, I guess, but there is work being done in open toolchains.

Running at 200Mhz rather than 4GHz though is hard to accept for most people, even though retro OSes make the experience quite smooth overall.

I’d argue stuff like the various bootrom exploits for Apple SoCs and similar, used for jailbreaking, is the other side of this. And that one gets you open computing at a much higher perf, although not necessarily malleable, and is not going to be a long term viable strategy.

Missing the Winamp skin days. We truly had more agency modifying our tools back then, unlike today's locked ecosystems.
Modern-day idealistic software manifesto: Just AI sellouts like the rest of us.
Isn't AI making that possible?

If you read old computing magazines from the 1980s or watch any of the TV shows about computers from that era (a fun rabbit hole on YouTube if you're ever bored), the prevailing optimism was that everyone and their cat would have a computer in their kitchen, and just write the programs to do whatever they want.

But the fragmentation of operating systems and programming languages didn't really let that take off. HyperCard and Visual Basic came close, but they were killed off because of course.

It's only since a year ago that the original promise of computers has started to be realized.

I think one of the best ways of stopping lock-in is to be file-based. Obsidian is a good example of this. Users can just keep their data as is and move on with their lives.
Many people like email for a similar reason: Every message is an independent item that can be moved and copied at will, organized into folders, filtered and sorted, moved between accounts and email clients, attached to other messages, saved and loaded as files, and so on.
Remember when software felt like clay, not concrete? Hope this vision actually takes hold.
Yes! Tired of apps dictating my workflow. Give me Emacs-level customizability everywhere, please.
My favorite example of a locked-down app is firefox, it won't let me open a new tab with a custom start page. On the other hand, it is the age of enshitification lol
Miss the days of hacking binaries or deeply customizing apps. Modern SaaS feels like renting a sealed box.
I agree that the current state of software is quite rigid. There is no room for imperfection and often one opinion is seen as fixed the best.

I think the essence of the GPL is trying to solve this issue, the freedoms of that license is focused on keeping software as editable as possible. The idea of malleable software is not new but most "business/industry" software is still very rigid.

One of the more interesting realized concepts of malleable software are the freewheeling apps from Kartik Agaram (https://akkartik.name/freewheeling/). Additionally in my opinion the idea of malleable software is at the core of unix everything is a file and the plan 9 system.

I have my own take on this; I was meaning to write a blog post about it to "coin" the terms, but might as well do it here. My philosophy and attitude related to writing and using software has, in the past years, developed into distinct set of methodologies. There's "maintenance minimization engineering" aspect to creating products, but for daily use, I have a different approach:

Bypass-Driven Development: making progress by routing around obstructive abstractions instead of integrating on their preferred terms.

Motivating thought: often enough you already have all the pieces to solve your problem, and have legitimate right to use them, yet those pieces refuse to talk with each other because of a mix of technical and business reasons.

BDD is my claim that an abstraction which obstructs a legitimate goal forfeits its right to be respected.

Subpattern of this, Bypass in Anger (BIA), when routing around becomes routing through. Evocative example: modern soldiers navigating dense urban environment by ignoring it entirely, and moving in straight lines, just blowing holes in any walls that are between them and their destination. That is my answer to when "the computer says no".

Kinda a pragmatic blend of Adversarial Interoperabiltiy/ComCom, "computational self-determination", good ol' hacker ethos, and a counterpoint to "security maximalist" doctrine that runs modern computing.

Intelligence and the mental load it requires has a budget - in both real and artificial forms. In real - people are bombarded with tools and requirements and when the teams behind those don’t consider mental load required, that spends down the budget. Thus people give up fighting all battles and are forced to prioritize their resources. Denial of service attack on the brain. AI models running out of context will do the same and get lazy. Sadly any bad actor private or government knows this and uses it as a tool to fight intelligent resistance to its plans.