LLMs in nixpkgs

Makes sense to me. Agreed

At this point, this is the only reasonable way forward. I actually have no idea how “the community” feels about LLMs in Nixpkgs, besides that it’s very controversial. There also isn’t a real “official” thread on the topic, which might be a reason why the PR linked (which I will call the PR for the rest of this post) has 99 comments (before anyone points it out, I realize that I am a part of the “problem” there). Also, as @djacu points out, none of the discussions have had super clear guidelines/definitions, which leaves us with an archive of the opinions of several prominent and/or vocal figures in the community, but little guidance on what it should mean for the future of the project. We could just keep discussing it and hope that a solar flare will make it all pointless.

There was: https://github.com/NixOS/nixpkgs/pull/514587

3 Likes

It might be that there needs to be another one because that PR was merged and the thread seems stale, but there are clearly lots of unanswered questions beyond establishing the initial policy. In line with discussions had in My experience of contributing to Nixpkgs, having this debate in a “regular” (while still relevant) PR probably isn’t a great look from an outsider’s perspective.

PRs are where work actually happens, but also worth noting that the PR was at least publicized to this discourse concurrently at

A coworker shared this sentiment that I think perfectly captures my own:

I am not free from opinions but I refrain from commenting.

2 Likes

We already know your opinions since you shared them on your PR (linked above, twice) that invites in more extractive PRs :wink: You don’t have to pretend that you’re keeping silent.

12 Likes

I’ve been curious about what is the amount of assistance that already landed into nixpkgs. I compiled a table, which you can find here

5 Likes

What’s more intersting to me would be the number of commits denied. I wonder if there’s a pattern there?

(post deleted by author)

5 Likes

It seems to me that as LLMs are improved and become more useful to programmers, the angrier, more desperate, and absolute the opposition becomes in trying to dissuade their use.

I think this is a really poor attempt at framing others just because you dont agree with them, which is just not a proper way to have a discussion. It very pushing and i urge you to stop this kind of comments.

16 Likes

As a reviewer, I’d be unhappy with this consequence.

The social contract is that when I spend time reviewing someone’s PR, I’m not just investing in making that PR better; I’m also investing in making that contributor better. If that contributor is secretly an LLM, one that only gets better when its company releases a new version, I’m wasting that time. I would much rather spend time on human contributors who could then become human maintainers than on PRs from contributors who will only ever be LLM operators. Consequently, I would rather have an easier time distinguishing between the two.

This is my personal stance and I’m not necessarily against other people spending their time however they want, in support of or against LLM replacements for thoughtful, human programming. I’m just objecting to the notion that getting all LLM-generated PRs up to acceptable quality is the only point a reviewer has in mind when considering this whole question.

22 Likes

(post deleted by author)

5 Likes

“the angrier, more desperate, and absolute the opposition” just frame people you dont agree with as the bad actors. It’s incredibly wrong.

4 Likes

Given the discussion about whether people want to review them (or not) and the fact that we already require commit trailers, I am becoming more in favor of an automatic PR label. That way people who dislike them can filter them out (github allows you to negative-filter labels, IIRC).

15 Likes

Last I heard, @ethancedwards is on top of this. :eyes:

1 Like

It seems to me that as LLMs are improved and become more useful to programmers, the angrier, more desperate, and absolute the opposition becomes in trying to dissuade their use.

It seems to me that as more people want to protect themselves from AI getting everywhere, the angrier, more desperate, and absolute the opposition becomes in trying to push their slop.

…see?

3 Likes

@Sigmanificient, @ile-du-fantome:

Can we accept both of the following and be done with it?

  • It’s not uncommon that people are called out as ‘angry’ as a tactic for dismissing their point of view — they shouldn’t be taken seriously, they’re too emotional to think rationally, etc. This isn’t good, and we should be sensitive to it, and in particular when people object along these lines it is kind to make some effort to accommodate them.
  • Not every instance of ‘people get angry when X is happening’ is meant as an example of the above, and it is kind to assume good faith and chalk up any misunderstandings to cultural differences (of which we have many in this international community!).
20 Likes

I do use LLMs daily, only in browser chatbot form, to help me achieve what I want to code. I think it’s a great tool.

However as was pointed out on the agents.md PR, adding such a file will inevitably drown the already constrained and few maintainers with low quality PRs, which will result in even longer lead times to get “good” PRs processed.

Also I’ve gone through a rather awkward experience of contributing to a project where the author lets Claude handle 90% of issues and PRs. I found it was unpleasant not to know if I was talking with the human or the LLM or both.

3 Likes

I think the flipside (argh, this guy, arguing both sides) is that any label needs not to be taken as an opportunity to flame people who followed the social contract of labeling their commits.

My personal view on it is that people can choose their level of engagement, but should be able to assume respectful treatment when they decide to put a PR up that uses AI help.

More opinions

Personally, I’ve not used it to generate code in nixpkgs so far because all the things I’ve added to nixpkgs have made it seem somewhat like overkill, and there’s probably some mental overhead to adding it to the review process in the things I engage with. Also… really, a coding agent bumping a hash? We have update scripts for a reason!

6 Likes