What’s the F.U.S.S?
For the last few decades, the prevailing orthodoxy of software development has been F.O.S.S - Free and Open Source Software. I started releasing code I made myself before I even knew it existed, just because of the joy it gave to make something that was (perhaps) useful to others. It was a beautiful, democratic paradigm: we build in public, we share the burden of maintenance, and we create “universal” tools that serve as the common infrastructure of our digital lives. One of the successes of my professional life as a Software Engineer has been to do my part in making Large Global Companies accept using (and contributing, but less than they should …) Open Source software instead of reinventing the wheel.
But we are approaching a tipping point.
The rise of Large Language Models (LLMs) as competent AI developers is beginning to erode the necessity of the “universal”. We are moving away from software as a public good and toward software as a private utility.
I’m calling this evolution F.U.S.S: Fluid and Unique Software Systems.
The Death of the “Universal” Tool
In the FOSS era, we spent our energy making software that started out from personal itches needed scratching, then generalized to work for the many. If you wanted a tool to manage your specific, idiosyncratic workflow, either you had to be that one developer with the time and knowledge to scratch your personal itch, or you had to compromise. You had to adapt your habits to whatever limitations existed in the FOSS software you found, or be met with “PRs welcome!” if you just suggested from the sidelines.
With FUSS, that friction disappears.
When code can be conjured up on-the-fly, the “source” no longer needs to be shared to be valuable. In fact, the value of the source code begins to diminish as the context of the user becomes the primary driver. We are moving toward a world where software is hyper-personalized, built for a single user, and intended to stay with that user - never intended for a public repository, never intended for a “release” cycle. This piece by Harry McCracken captures it perfectly.
From “Build and Release” to “Generate and Flow”
The “Fluid” in FUSS refers to the shift in state.
- Static vs Fluid: Traditional software is “released”. F.U.S.S. is a living state. It is generated, tweaked, and discarded as the task evolves.
- General vs Unique: We are moving from the “Library” model (where many people use the same bricks) to the “Bespoke” model (where the bricks are 3D-printed for your specific wall).
- Public vs Private: The intention shifts. Why release a bespoke, hyper-optimized workflow to the world when anyone can generate a fit perfect for them in seconds themselves?
The Atomicization of Code
This is the Atomicization of Software. We are breaking software down into its smallest functional units - individual tasks, specific workflows, and personal habits.
When the cost of “writing” the code drops to near-zero, the value shifts entirely to the prompting of intent. The engineer of the future won’t just be a builder of systems; they will be the architects of unique, private environments that exist only for them.
Why This Matters
This isn’t just a change in how we write code; it’s a change in our relationship with technology.
If FOSS was about the democratization of access, FUSS is about the personalization of capability. It is the end of the “one-size-fits-all” era of the Internet and the beginning of a deeply personal, fluid, and private software experience.
We need to start asking: If everyone has their own unique software stack, what happens to the “common” space? How do we collaborate in a world of FUSS? What happens to cybersecurity when there are no common attack surfaces?
This post originates in reflections on own journey as a lifelong producer of open code to now pushing (some, not all) software I generate with LLM-tools and … not really thinking about other use cases than the one I’m scratching. Case in point: The Starfleet suite for the personal “Star Trek” voice assistant I’m making for my family.
It might only ever be used by us, and that’s fine. However, without the productivity boost from using LLMs I would never have spent all that development effort without also feeling … obliged? … to also generalize it for others.
It’s a very strange feeling. I’m quite certain that this is happening though.