> In a shrinking world without software innovation, most software suppliers will not be able to count on increasing customer revenue to fund routinely rewriting their software from scratch when it rots
The author doesn't seem to understand that software rots because of software and hardware innovation.
The entire point of RHEL and CentOS is that they have extremely limited changes so you can optimise for a very specific and stable situation.
If everything ossifies then software won't magically start failing other than inherent bugs (like the 2038 date problem)
Even things that still work might no longer be safe to use once there is nobody who is able to maintain it. The associated risk might simply be to high.
It seems to me that in the author's vision of a world where everything is controlled by software but no new software or hardware is created, the only jobs available will be doing software and hardware maintenance.
That said, I have met very few founders with the kind of morals to shut down their company due to the risk of no maintenance.
Durable: what's the incentive to manufacture durable hardware and how do we maintain it? Example: my laptop is about to become 10 yo and still pays my bills but it's 10 yo in the same way a ship is 100 yo: nearly everything is replaced to keep it afloat. In my case: I got a screen replacement after about one year because of a defective hinge (the initial 3 years warranty paid for it), I replace keyboards myself every 2 or 3 years because I worn the most used (or the most fragile?) keys, I replaced the HDD and the DVD-RW with two SSD (that was a choice but they could have failed by now,) I upgraded the RAM (another choice but it could have failed by now,) I replaced the battery. From the original laptop I still have the mobo, CPU, GPU, fan and heatsink, the main body around the keyboard, the touchpad, WiFI, Bluetooth and all the I/O ports.
Plentiful: replacement of failed parts will make devices not-plentiful in a few years. I could keep using the laptop with a USB keyboard and a mouse when there won't be replacement keyboard anymore. I won't. I'll buy a new one instead but in a world of scarcity I would adapt. I wouldn't work around the absence of compatible RAM (I think it's still 2666 MHz) or no more SATA 3 disks (technically it could boot from the USB 3 port).
And CPUs and GPUs also fail or become incompatible with the available software. Well, maybe somebody will write a driver for the ATI Radeon X1600 in my previous laptop from 2006. I couldn't update the Linux kernel past a certain 3.x release because I would lose sync. Too bad I won't be around.
So, no matter what, there won't be that many available spares because they are consumed in a few years. Nobody will be going to rebuild fabs for old processes: all the 2666 MHz RAM that will ever be manufactured has already been manufactured, unless some critical industry or the military uses it and is paying to keep a fab alive.
The CPU riser for Mac Pro (trash can) went bad and I am happy Apple actually had spares for a ten year old machine. This model don’t get any new major OS updates but could probably run Linux another decade. But there are no more spare parts soon I am sure.
You'd imagine if it was very predictable, that long term population projections wouldn't radically swing by billions and decades of trajectory every few years like they do.
As far as I can tell, this narrative has been pushed by prominent EA'ers and such to try to counter the calls for research/investment in renewables and responsibility over the data on climate change with culture war fears demanding short-term growth.
Addressing the largest stated reasons for not having children (affordability and child care), or physics-defying carbon capture machines, What could actually exist in 30 years I wonder?
AI doomerism (and the associated OpenAI soap opera) showed much of the rationalist / effective altruist sphere as the ersatz-religion founded on questionable epistemology that it is.
I thought it was "infinite growth optimism" that showed much of the rationalist / effective altruist sphere as the ersatz-religion founded on questionable epistemology that it is.
> However, roughly thirty years from now world population will peak, and the world economy will peak not long after. Population and the economy will soon fall by a factor of two every one or two generations.
Yeah, how dare they make such an accurate prediction based on all we know about population mechanics, limits to resources, and historical growth assosiated with both? We're here to be entertained and have our morale boosted, not think!
I disagree, it’s too soon to tell whether the prediction is accurate. Maybe it’s obvious to you, but I’d at least like to see that prediction justified. I don’t see how accepting an unjustified opinion is thinking.
The future world population can be predicted fairly far in advance (many decades) because it depends on current fertility rates and the fact that life expectancy doesn't change drastically. And even fertility rates follow predicable trends.
That assumes that new humans can be only by women.
There is no reason, why artificial womb, possibly with multiple selection box for genes, is not a very realistic possibility, along with state funded child rearing services. (see Norway)
1. Reproduction is already heavily subsidized in many countries, be it direct grants, tax breats and so on. This is nothing new.
2. Most people actually want children. Getting someone to actually procreate with that will share burden.
3. Investing in children should hel to fund future pension payments. There is pretty good case for self-interest.
4. China won't care, neither will Russia or other parts of world.
5. Countries that will do that will have a better outcome than countries full of retirees. Unless AI takes over, natural selection will take care of rest
If this happens, I assume Chinese breeding facilities will optimize for producing children with high cognitive ability. Via selective breeding, embryo selection, or genetic engineering.
> The winners in this new world would be those who limited their dependence on software to simple systems with limited features that they could maintain mostly themselves, needing minimal support from outsiders.
I'm hoping that this is true because simple systems that require a single-maintainer are my specialty. It's almost unbelievable how much software I'm maintaining right now for myself and my small community:
- A quantum-resistant blockchain (it includes a server component which can be configured to support custom currencies... It includes a bash client, JavaScript client, front end wallet app; all can be configured/whitelabeled to support any currency based on the tech).
- A decentralized exchange which can work with essentially any blockchain (includes back end node, clients, UI trading front end).
- An open source WebSocket library with a focus on scalability (includes server and client). This one gets a fair bit of production usage among startups.
- A no-code platform which lets users build real-time apps using only HTML. This one is new and I'm currently finalizing and working on documentation.
And I still have a lot of spare time. I don't get many bug reports these days. My main concern is that I started to forget details of how some components work because I barely look at the code of some of these projects anymore. Not hard to refresh my memory though I guess. Architecture and tooling is very consistent and I use as few dependencies as possible.
Just hire better devs and understand the cost structure for the long term. Devs aren't that expensive unless the rest of your business is stacked with morons. What even is this article?
In a shrinking world population, good devs will get increasingly rare. Not to speak of effects like declining IQ (women with higher IQ have fewer children).
Up to this point, software systems have evolved in an environment where market monopolies were the norm and therefore a 'chosen few' software tools, libraries and frameworks have had an abundance of resources and talent dedicated to them.
It's hard for me to imagine an environment where software is constrained by the availability and cost of engineering talent and where maintainability becomes the number 1 priority. So far, I suspect that maintainability has ranked VERY LOW on the list of priorities. The only reason some systems are maintainable today is because maintainability is correlated with security which is a bit higher priority.
I feel like the priority of software development over the last decade has been 'shipping fast' as enshrined in Facebook's motto "Move fast, break things." everything else has been neglected in favor of shipping fast. So I can understand the author's point of view that software is likely to experience a decline; it was not built to last and thus requires an unreasonable amount of human resources to maintain.
I don't see the current software industry as sustainable. First off, I don't think it solves as many problems as the salesmen think it does, it just offloads complexity onto someone else, and more importantly, there's no stability. You can't just build something and it works long term with minimal maintenance. There is probably no software that exists today that will be able to continue running 100 years from now. I think we are in for a big wall we hit where software companies go bankrupt, people move away from it for lots of uses, followed by develpment of more stable tooling, after which people only use it where they have to, such as automating organization of complex systems.
The end of Moore's law is a blessing in disguise imho.
For too long, software has been written to make inefficient use of hardware, and/or designed with only next quarter's profit in mind. Based on the implicit assumption that faster hardware is just around the corner, and will make crappy software look decent. Security, frugal use of resources, reliability, maintenance, most anything was sacrificed in order to put products/services out there asap. Once out there, a continuous upgrade treadmill, and 3..5y later it's ewaste / bitrotted away.
We can put more compute in a few mm^2 than any human ever needs, at ridiculous low cost. It's about time the software world gets a breather, makes slow UIs fast again, and does some rework to dump the GBs of crap that populates today's systems.
Or, more likely, the march towards better abstraction ends with a natural language interface where problem descriptions can be effortlessly translated into functional code.
We’re already in spitting distance of this with current language models. I don’t think you even need AGI to make this happen, a large language/image model gets you most of the way there.
Right now humans are quite shit at translation of natural panguage into code. Other humans are shit at stating their requirements in any language at all. Don’t keep your hopes high.
This 2016 comic failed to predict GPTs. It turns out the same model that writes your code can also write the specification. I don’t blame the author, it’s nearly impossible to predict future technology. Pretending that GPTs don’t exist on the other hand, now that’s just silly.
I think what's more likely to happen is that people will be able to turn a conversation into code instead of just a problem statement. In fact, ChatGPT already does that, although you still need to have some skill in order to properly integrate and test the code that it gives you.
Sure, the more information you give the model the better.
While our current models generate imperfect code, GPT4 code is much more usable out of the box than GPT3.5 code. If that trend continues we will absolutely get to the point where mistakes are the exception not the rule.
I wonder if once (better) multimodal models are a thing, a model might actually be able to close the feedback loop itself. It won't magically generate a working product the first time but it might be able to test it and iterate on it automatically, depending on what you're trying to do.
You then just have to make sure it's iterating on the thing you actually want.
GPT-4 can write html from a messy napkin sketch. These models won’t need formal requirements. “I’m having a problem with A, B and C” will likely be all the model needs from you.
Your argument was very common and quite persuasive two years ago. Not so much today.
It's hard enough for humans to take natural-language descriptions of a problem to be solved (that is well within human capabilities) and turn them into human-workable solutions without a significant process of back and forth to get the requirements clear.
Getting a computer, within the next decade or two, to do better, doesn't seem realistic—not because I think it is impossible that we will have a computer fully capable of parsing natural human language into internal representations of the concepts it represents with high fidelity, but simply because humans are bad at communicating.
Tell me you've never, ever had a project described to you by someone who was horribly nonspecific—or even outright wrong—in their description of what they need. (If you can truthfully do so, I can easily find you a dozen people who can't—starting with myself.)
Human language is woefully inadequate to convey the breadth and depth of human experience, needs, wants, requirements, etc. This is why we invented programming languages in the first place.
Well, that falls under the "better tooling" I referenced. We have to have some set of tools as yet unimagined that are so robust that they don't need constant changes. I have to be able to use a piece of software and be able to explain to my grandkids how to use it when I'm old. A part of the fast changing problem is that we are still developing the technology, but that means once we can breathe and things become more stable and change slower we will look back on a lot of mistakes and pain. There are a lot of people invested in the current unsustainable state of affairs and this can't go on forever, those people are going to lose their shirts.
As others have pointed out, the article also ignores the obvious impact that AI is going to have on software. By themselves these two errors void the validity of this article without even looking at any of its other claims.
The article is painting a picture that equates improvement rate of software to that of hardware, where in reality it is not even close in any reasonable view. And saying that software is getting better overall is a highly dubious claim.
I knew I would regret the click when the title made absolutely no sense. Even if enshitefication leads to societal collapse, I still don’t see the Amish as the global domination type. Wow.
>However, roughly thirty years from now world population will peak, and the world economy will peak not long after. Population and the economy will soon fall by a factor of two every one or two generations.
That's just asserted as a fact without any justification given. A so is a bunch of other stuff.
I would rather worry about the copper peak in like 10 years. High tech degrowth looks unavoidable but I just can't think about it. It's like trying to think about my own death.
>but I just can't think about it. It's like trying to think about my own death.
That pretty much sums up the general denial in the policy and tech circles: "something something our destiny to colonize the galaxy something something" and "it worked in the past, so it can't possibly ever stop working".
Silicon Valley VC have a strange form of "expertise" where they are allowed to be wrong "99%" of the time. They are compulsive gamblers, not clear thinkers. Worse, they can influence the outcome of a bet with ridicululous memes like the one upon which this submission is based.
A prediction from Silicon Valley VC like Andreesen has a "1%" chance of being right. Observations about the world from a compulsive gambler should be tempered with reality. Raise interest rates, take away some of the gambler's (borrowed) money, and the memes start to taper off.
The author doesn't seem to understand that software rots because of software and hardware innovation.
The entire point of RHEL and CentOS is that they have extremely limited changes so you can optimise for a very specific and stable situation.
If everything ossifies then software won't magically start failing other than inherent bugs (like the 2038 date problem)