In the current wave of software production, AI-guided methods promise speed, scale, and the seductive idea of near-zero marginal cost. The result, many observers note, resembles the output of a budget T-shirt factory tucked away in a developing region where labor is cheap and quality control is an afterthought. This new breed of software is sometimes branded as agile, sometimes as prompt-driven, and sometimes simply as disposable. Its appeal lies in how easily a product can be spun up, pivoted, and discarded, much like last season’s clothing dropped into a charity bin. Critics, including many who welcome technological progress, ask an uncomfortable question: when creation costs almost nothing, what happens to responsibility, durability, and dignity?
Is it fair to compare?
The comparison to inexpensive clothing is more than metaphorical. In both cases, production chains are optimized to squeeze cost, time, and labor to their limits. In software, the near-zero cost of reproduction lowers barriers so far that experimentation becomes effortless. Features can be shipped in the morning, tested in carefully framed environments, and pushed to users by afternoon. Maintenance is treated not as an obligation but as a temporary nuisance, something to be postponed or overwritten. This is capitalism reflected in a carnival mirror, where constant rebranding and rapid iteration pass for progress, even as underlying structures weaken.
The illusion breaks when attention turns to the modern shop floor. The people who build, test, and maintain these systems often operate under persistent pressure to produce more with fewer resources. Codebases grow into living systems that demand constant feeding: new features, browser compatibility fixes, security patches, and infrastructure updates. Yet they are expected to behave as if they were thoughtfully designed for the long term. Behind polished dashboards lie familiar human costs: burnout, under-compensation, fragmented teams, and a backlog of maintenance that quietly hardens into technical debt. The cheap T-shirt sheds threads after a few washes.
This is not new
From any socialist perspective, this pattern reflects a deeper capitalist tendency to treat software as a throwaway commodity rather than as a shared resource. Incentives favor speed to market, cost minimization, and quarterly growth, while the long-term consequences are pushed outward. Workers absorb the risks through job insecurity and reduced autonomy, forced to deliver quickly even when the work demands care and depth. Users inherit unstable systems, silent regressions, sudden feature removals, and hidden dependencies that reveal themselves only after a triumphant deployment breaks something essential.
The T-shirt analogy exposes a broader truth: software is not merely a consumer product. It is infrastructure that underpins education, healthcare, governance, and daily communication. When software is treated as disposable, the ecosystems built upon it become fragile. A misconfigured API, an unannounced schema change, or an abrupt deprecation can cascade through hospitals, emergency services, or small businesses. The cost is no longer individual inconvenience but collective vulnerability. When replacement is cheap, stewardship is easily neglected, and the careful craft of maintainable software is quietly devalued.
A socialist frame does not call for rejecting AI or halting innovation. It calls for a reorientation of priorities. If the goal is to improve life for the many, software must be designed with endurance, fairness, and shared responsibility in mind. This requires governance and ownership models that reward long-term usefulness rather than short-term wins. It also means recognizing maintenance as essential labor, deserving fair compensation, predictable workloads, and professional growth. Beyond company walls, it requires acknowledging educators, open-source contributors, and public institutions that depend on stable software and ensuring they receive real support rather than symbolic praise.
What can be done?
The alternative is not nostalgia but pragmatism. A cooperative software ecosystem could blend AI-assisted efficiency with accountability and solidarity. Cooperative ownership of critical software stacks, funded by members, public investment, and sustainability-focused revenue models, could reward reliability over spectacle. Open source would be more than a licensing choice; it would be a social practice backed by fair pay for maintainers, ethical use constraints, and inclusive governance. Public digital infrastructure would be treated as a shared asset, stewarded for long-term benefit rather than short-term extraction.
Such a shift would demand more than goodwill. It would require policy frameworks, collective bargaining for digital labor, and business models that break the link between revenue and endless churn. Investment in education would prepare developers for collaborative governance and sustainable maintenance practices. Consumer protection would insist on transparent dependencies, predictable deprecation, and clear accountability for failures. Culturally, it would mean moving away from glorifying lone technical heroes toward recognizing software as a sociotechnical system sustained by collective care.
This critique is not an attack on AI-assisted development. It is a call to pair powerful tools with responsibility, to balance speed with sustainability, and to prevent the social costs of software from being borne by already strained workers or trusting users. If we want to move beyond disposable software, we must rethink incentives, reshape ownership, and invest in the communities that sustain digital systems over time. With the right structures, AI can accelerate the craft of software while society ensures it remains durable, ethical, and worthy of long-term trust.
It "feels" wrong
AI has fundamentally changed how we write software. That statement is no longer controversial, debated, or speculative. It is simply the environment we operate in now.A developer can describe a problem in broad terms, press enter, and receive a complete solution. Functions are laid out, edge cases are handled, comments...
Opinionated Code