tldr: Artificial Intelligence is currently shifting the way we code, disposessing us from our understanding of our tools and making us use services to produce software.
Even though it relies on extractivism, consumes large amounts of water¹, empowers billionaires while exploiting data workers, a lot of folks are fascinated by "AI", this technology that concentrates the human knowledge into a form we can query, and more.
At least, I'm fascinated by it.
As an Open Source developer, I've had a hard time figuring out what to think. I'm still not confident to fully understand it. I don't really know how to respond to it, but here are a few thoughts about what I think it's doing to the hacker mindset.
Automation is taking the fun away
To me, coding is an art. It's a creative process: you are given a problem, and you find creative ways to solve it. That's what I love with it.
In this regard, AI is another tool in our tool belt. I believe we're currently witnessing two things:
On one side, it's an automation tool. One that works remarkably well with code. I've been able to bootstrap simple projects in minutes, especially when I was lacking the knowledge. I've tried things outside my area of expertise, and I believe it can lower the barrier of entry for non coders, to generate scripts, or generate graphs for instance. Of course, the results aren't perfect, and it's hard to use at times. But I've had quite a few good experiences with it, both in terms of usability and in terms of the resulting artifacts.
However, this isn't without issues: the other side of the sword is still bleeding. This phenomenon is changing our experience of writing code. We are shifting from using tools we own and cherish to an experience where external services provide completions and update our code after prompts we enter. It removes our ownership of the code. When we don't think about some details anymore, we replace our care for detail by a care for getting things done. We have used a big brush to design a gross idea, and let the machine refine it for us.
But, what do I mean by ownership? It's this sensation that arises when you can sing a song by heart, because it's now at least a bit your own. You understand its deep meaning, maybe you give it some. In a sense, it's closer to you, it resonates. That's ownership. With code, it's code you have thought of. Made mistakes, back and forth and settled on a solution.
There are three things that come to mind, regarding this shift:
- The services providing AI coding agents are closed-source, and you have to pay to use them. Some of them are still free but once the majority of devs will be hooked, we'll pay for them, one way or another ;
- It changes the whole experience from one where we think deeply, map the context and find creative ways to solve the issue, to delegating this process to a machine.
- Money becomes a first class citizen. It used to not be the case: I was doing that as a kid, before I was even thinking about money, but now money is everywhere when you code.
When I say that coding is an art, I think it relates to how I feel when I code. It's witchcraft, it's fun to test things out, fail, try again. It's fun! That's why we built communities around it, because it is fun. With AI it's still fun, but you're using special tools outside your control, for which you have some sort of subscription.
What's the point of making your sourdough bread when you can buy it from a bakery, making your beer when you can buy it from the brewer? When you can have machines at home that bake it for you?
The fun of making it, the ownership you get from it. The deep understanding of the process. It looks like that's stuff that can get lost, when using AI.
The means of production
Free Software is political. It's a socialist dream, in the sense that the means of production are socialized. We (more or less) own the tools required to build the technology we want. With the "code as a service" model we start to see, this moves away from us.
In my quest to understand what AI is, I've been hooked, somehow. It's like a drug: if/when you remove it from me, I'll miss it. I might feel less capable, the ride is fun, I'm building things, but I'm not sure that I get some autonomy from it. It somehow lowers my agency.
This is mostly because AI is replacing learning, as Tarek points out.
I believe we're witnessing the death sentence of a craft. The same thing that happened to hitchhiking when carpooling appeared. The same thing that happened to music when Spotify took over.
That's why it was so hard for me to parse: the mental model we've been using for decades, when thinking about Open Source is not applicable here. It's not about building Open Source models to replace commercial ones. It's not about finding ways to do this in a more ethical way. This is about ownership.
The tech industry is being taken over by merchants of services, and the Open Source community is starting to relydepend on them. We've seen this coming, with GitHub being a startup, bought by Microsoft which is now pushing AI. They are the means of production.
With the shift from self-organized grassroots communities to big corporations, letting the open governance on the side, the Open Source ecosystem changed quite a lot in the past years, and is pretty fragile.
Relying on AI probably moving the tools away from our control. Somehow, it looks like the end of an era.
¹ The global AI demand is projected to account for 4.2-6.6 billion cubic meters of water withdrawal in 2027, which is more than the total annual water withdrawal of 4-6 Denmark or half of the United Kingdom (source)