← Back to context

Comment by selfhoster11

4 months ago

I see what you mean, but this knife cuts both ways. It makes proprietary software easier to write by extracting knowledge from open codebases, but it also makes open source software easier to write by extracting knowledge from those same open codebases.

That's just the main idea, but also:

1. LLMs make existing software (even obscure stuff, so long it fits in the context window) more intelligible:

- how do you compile this (when you are inexperienced and the ecosystem of that language is a baroque mess, it might seem impossible)?

- what does this error message mean?

- what parameters do I need to use in my invocation to get it to do XYZ?

- what does this function do? why does it use this algorithm?

2. They also make new software easier to write, and existing software easier to modify:

- ask about anything concerning the part of source code that fits in a context window, and you'll get a (probably correct) explanation of what it does, faster than a half-dead IRC channel or StackOverflow would respond

- the above, but also: the LLM has infinite patience and can drill down as deep as you want. You can ask "OK, but why?" for as long as you want, as about anything you want. You might get a hallucinated answer sometimes, but a frustrated human who would be asked the same way, could also just make something up to shut you up.

- for anything in the context window, ask about how to go about making a functionality change to add or modify a feature

- the above, but if it's small enough, just get the LLM to write the change for you. It might be buggy and messy, but you'll be one step ahead if you lack the skill to make the change yourself

- how do I set up the build chain? Why is my compiler not picking up the path properly? Is the project directory structure wrong? This used to be a huge problem before LLMs, and relied on undocumented knowledge.

---

For me, the whole point of open source is ready-made, (hopefully) not too buggy components that I can use and customise as an end user, or plug into the thing I am building as a developer. LLMs make the freedom of FOSS become much more practical, particularly to those sympathetic to the movement but technically less experienced.

Well yes exactly. LLMs have increased the value of open source to users. So by reducing the extent of the open source, value is maintained, but rebalanced slightly back in favor of the creator, with their larger closed source piece.

BTW most business-astute maintainers always managed a closed piece of expertise which is what they charged for. I’m saying that proportion needs to grow now.