So if I'm understanding correctly, the reason people should use LLMs is... as a somewhat more intelligent copy+paste, keyboard macro, and refactoring tool?
Only if you have the worst possible interpretation of what I said. If you've ever had to upgrade dependencies in some languages, you will know that often you get into dependency hell and/or do refactors when updating dependencies. This can be done in minutes with an AI, and there is no copy, paste, keyboard macro or refactoring tool that can do these effectively.
I suggest you actually use it and see what it is good at and what it isn't. I really get bored with having conversations with people that either haven't used a thing or are haters that just wish to dismiss any advantage because you can conceivably do the same task using some complex combination of scripting and existing tools that would only be used once.
If you're not using it to do any sort of understanding, then it's a massive waste, and if you are using it to do any sort of understanding, it's redundant, because you need your own understanding anyway. This redundancy can be useful to achieve a higher confidence in quality - more understandings get tested - but not higher throughput.
I've worked throughout my career on large codebases with little or no documentation. At best you may understand how a few modules work in the system, but often knowing how these monstrosities work is impossible. Nonetheless, work got done, and releases went out the door.
When I am using an AI, I can interact with it in a way where I can gain a greater understanding of the project as a whole. It does get stuff wrong, so if things seem odd or they don't line up with other parts of the system, you have to manually review it. Part of being a good engineer is understanding when and where you should expend your efforts, not pretending to be some savant.
Higher throughput is exactly what Linus and everyone else who advocates LLM usage describe as being the goal, which means either they have absolutely zero good tools for menial work or they are compromising on their own understanding. There is no substitute for understanding, and reviewing is almost exclusively understanding.
You also don't need to know every intricate detail of how everything works to understand how the system and/or subsystem works as a whole.
When people make arguments like this, I wonder who they picture in their mind, the systems they are working on. I don't memorise code. I look at the functions, classes, modules, etc. and look at the docs / behaviours, and I debug and understand the stuff that is going wrong and understand only what needs to be understood.
With an AI I can quiz it and have it list out all the points of note before I make an engineering decision. In the past I would have to traverse the same codebase myself to come to the same conclusions; however, the process would take hours rather than minutes. It is an interactive process. This is different from pure vibe coding, where you just get it to do stuff and you see if the output looks right.
"Stallman says X does not automatically make it nonfree" is hardly an endorsement.
Nobody said it did. The point being made is that the man who created the movement says that this is actually more important than whether the progra is GPL'd. His voice, whether you like him or not, is influential and authoritative. BTW, many other well-known engineers have said similar things to him. It isn't a controversial claim.
The GPL considers "obfuscated source code" to be an oxymoron, but what exactly counts as "obfuscated" is not clear.
It is pretty clear what obfuscated code is. It's only not clear if people engage in stupid games where they pretend to not understand what the word 'obfuscated' means.
It is entirely possible for something to be free software and still be completely impenetrable, especially if it is massive and tightly-coupled.
Bad code exists. That doesn't make it obfuscated.
If, in addition, it can only feasibly be modified and understood via a proprietary tool, then it is of course "tied into" that proprietary tool.
What I was alluding to in my post is something like if I use JetBrains IDEs (which are proprietary) as a code editor, that doesn't mean that you can't use Vim to edit the same codebase. The proprietary tool (the IDE) doesn't tie me into the IDE at all. Because the important thing is the code and not the editor/IDE.
Similarly, if I use Claude in a project, that doesn't stop me from using another AI, including those that are locally hosted. In fact, I do this all the time. I use Claude for some problems. Claude can do better than Qwen 3.5b.
Contrast this to if I were video editing in something like Adobe Premiere Pro; I probably couldn't take the project file (or however it stores it) and continue editing in another program, e.g., KdenLive.
In your scenario. Sure, that would be effectively a proprietary format. Ironically, AI could understand a proprietary file format, reverse engineer it,
document it and create an implementation to deal with it much faster than you could. Which then effectively removes the tie-in on the proprietary tool.
There are already many free software projects whose complexity poses a sufficiently high barrier to entry that exercising the four freedoms in practice is difficult. The usage of generative models to enable more complexity can most certainly make this worse.
No. I think the opposite will happen. I think it can make it better.
Firstly, you can have the AI scan the entire project and explain major pieces to you; you can interactively quiz it; you can have it find dead code (that often other tools won't see); you can have it find duplicate code or near-duplicate code and a whole bunch of other stuff that could simplify the code. There is so much you can have it do to help you understand a complex project.
Whenever I have any of these conversations with anyone that makes any of these arguments, they are pretending that everyone is just pure vibe-coding and the AI is just spitting out code that cannot be read. You are pretending that everything goes in one direction, when it doesn't. Often the code that is produced is often the same and/or similar to what I would have written and is perfectly fine to read.