"What ride?": where libre software could go after LLMs
Blog post collecting in one place some thoughts from social media (original post).
Armin Ronacher ran the same poll on Twitter, Bluesky, and Mastodon: “Do you still write more than 20% of code by hand?” The answers: 8.4% yes on Twitter, 26.3% on Bluesky, 65.1% on Mastodon. Obviously some caveats here, but still: same question, three very different worlds.
My reaction, roughly: sob. A lot of very, very good FOSS people — people whose hearts and pre-LLM skills are in exactly the right places — are on Mastodon, and on the 65% side of that poll.
In quoting Armin, I said I want to bring those folks “along for this ride”. Sumana asked the right question in reply: what ride, specifically? This post is an answer: what has me excited about user freedom, post-LLMs? where do I think we’re going? where do I want the hardest-core of hard-core FOSS zealots (complimentary) to come along?
Here are some of the highlights:
#1. Freedom 1, for real this time
Most important: I think we can get to a world where most users are actually empowered to take advantage of Freedom 1 — the freedom to study how a program works and change it to do what you want.
For forty years that freedom has been real in law but mostly theoretical in practice. You had it if you could also build the thing, navigate the codebase, and maintain a patch. Even with a CS degree, for anything but the most trivial changes, I basically never had that. Now my daily-driver desktop is a heavily customized GNOME, I read social through an aggressively forked phanpy, and probably others I’m forgetting. That’s the promise we always wanted and I’m living it right now.
#2. Higher quality, because best practices can become actual practices
A lot of FOSS best practices were always good in theory, but proved too expensive for volunteers (or really anyone) to implement comprehensively. Among those: test-driven development, accessibility testing, and especially formal methods. These kinds of things have stopped being impractical and have started becoming real.
#3. Collaboration can better include non-coders?
The nature of collaboration is going to change. Lots of that may be for the worse in a variety of ways (about which some other day). But on the plus side, on a front I care a lot about: we now have a loooot of ways of bringing in the opinions (and skills and efforts!) of people who don’t code. Designers, writers, domain experts, the people who file the bug reports.
One thing I worry a lot about here: there was a golden era where open source got better, quickly, because we were much better about listening to our users though public issue trackers. That window closed. Now I fear it will go the other way: proprietary vendors are frantically building tools to help them synthesize user feedback and turn that into shipping code at lightning fast speed. If we don’t get there first, with open processes, we lose one of the few structural advantages open collaboration has left.
#4. A Big Bad Guy again
Half-joking, but: FOSS benefits a lot from having a clear antagonist, like Bill Gates in the old days. We have Bad Guys again, and they’re worse than the old ones: more concentrated, more capital-intensive, and more willing to take what’s open without giving back. That’s a reason to engage, not to opt out.
And yes, that means I’m advising using the tools the bad guys are giving us. We’ve done that before to advance our goals (emacs and gcc were written on proprietary kernels; Firefox on Windows was how we beat IE) and we are going to have to do it again. That’s not great — but that should motivate us to fight and win, not to quit.
#5. Finally retiring unsafe-by-design C and C++
Rewriting our decades of legacy, unsafe-by-design C and C++ in modern, safer languages is now a tractable task. That once seemed so impossible that Vernor Vinge, a computer science professor, made Unix-era buffer overflows still lurking in the year 8000 a plot point in A Deepness in the Sky. Vinge’s joke was that nobody would ever pay down that debt, even given 1,000 years. Now we can, making all our users more secure — and, if we’re serious about it, giving us a new generation of programmers who can work in our codebases.
#So — how do we bring folks along?
None of these rides is guaranteed to happen, let alone to turn out well. They’re all possibilities — and that’s exactly why I want a big tent of people coming along to steer them, and to keep us honest.