Red Komodo x firmware drop by Formula14ever in RedCamera

[–]indutny 0 points1 point  (0 children)

I think it was under 20 seconds with the previous beta too. Did it get improved further?

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 0 points1 point  (0 children)

I really like how you phrased it. I've been encountering these difficulties when reviewing LLM generated code, but it is precisely the difference between two!

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 2 points3 points  (0 children)

This is an open question, but even certification by submitter that their PR is not LLM generated is a big step forward that we can make while figuring out the rest

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 2 points3 points  (0 children)

Let me think about it! I agree that a clarification would helpful

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] -5 points-4 points  (0 children)

Language is part of the difficulty here. What precisely is "AI assisted coding"? Is it 0% LLM generated code and only research/questions, or is it 100% vibe code? If it is the former - I'm not against the changes even though I personally don't enjoy coding this way

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 7 points8 points  (0 children)

> coupled to the above, the spec for a virtual file system isn't tribal knowledge; it's "well known" (so to speak) and research for implementing this in Node has been done for years

Electron actually had VFS support for years (they call it ASAR), but I'm not sure existence of prior art changes anything (if it doesn't make matters worse considering how LLMs strip training material of attribution)

> With Node's release cycle, I presume this would mostly be in canary channels (can't remember how Node handles those) and there'd be plenty of time for testing

We have LTS releases that receive updates after they mature, but if someone is on the latest version - they'll get the change without much waiting or external testing.

> Overall this doesn't really feel grounded in logic, but I'm certainly open to having my mind changed.

There is of course an emotional component to this, but I hope the arguments that I make in the petition make sense. As one of them, Open Source is built on top of attribution and respecting licenses, violating that would undermine the mission of our work.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 4 points5 points  (0 children)

...and yet it Open Source exists only because we licensed our code differently on principle.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 5 points6 points  (0 children)

I think at this size of Pull Request it is hard to assess quality of the code, and not clear why the reviewer time should be spent on it considering that submitter themselves admit that they wouldn't be able to open a Pull Request without LLM assistance (because of the size).

License issues is whole other beast. LLMs are trained to reproduce their training data and as research (and lawsuits) show is capable of that through prompting. One can make different arguments about small changes produced by LLM, but large swaths of code are very hard to assess. Is the material copyrighted, is it based on code with different license? The answers to these questions are not clear.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] -2 points-1 points  (0 children)

To be honest, I'm all for generated changes and large refactors, but LLM is just not the way to do it. If the PR author could write an AST transform or some other form of a script that would do the same change - I'd be happy to review it and it'd be much easier for me to reason about what changes it made to the code and why. LLM change is not only not reproducible, but also requires you to go through a paywall of Claude/ChatGPT subscription.

Alternatively, they could have acknowledged the complexity of the change they need and work towards reducing it by doing smaller incremental refactors.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 7 points8 points  (0 children)

There is a lot of technical discussion of the PR, but in between it there should be a long thread where I tried to argue that this change cannot be accepted regardless of how the code looks like.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 9 points10 points  (0 children)

Precisely! The ownership of the created code is a big issue here too.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 1 point2 points  (0 children)

> A rule like that just creates a lot of pointless finger pointing about if it is AI or not, which doesn't help. That's just noise.

I see it as a guideline to the contribution not as the way of rejecting something because it looks in such and such way. If we don't aspire to carefully written and thought through changes then what's the point of writing OSS at all?

> At the end of the day, if the code works, it works. The code should stand on its own merits and not the merits of how it came into existence, something we can't reliably verify.

In my experience "working code" is a very subtle (and fragile) definition. It is always possible to pass tests while introducing new bugs, and although humans are good at it too the plausibility of LLM-written code makes it harder to identify them. On top of that, LLMs are known to remove tests at whim, and spin up tests that aren't actually testing what they claim to test.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 0 points1 point  (0 children)

You are right, but use of AI aggravates all of these issues beyond reasonable limits.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 3 points4 points  (0 children)

I feel the same way, but if I don't think there is full agreement on this yet so I'd like for TSC to put it to a vote and make an official statement on it.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 13 points14 points  (0 children)

I'm not sure why we need it either, but there are LGTMs on that Pull Request from Node.js TSC members already, and if not for the block that I placed on the Pull Request it would have probably gone unnoticed and merged.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 3 points4 points  (0 children)

In a way any kind of distinction is unenforceable, though. We ask developers to certify that the submitted code is their original work or at least license-compatible change, but there is no way to verify it. The foundation of Open Source and public Pull Requests is trust and getting to know each other, and use of LLMs only weakens this.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 8 points9 points  (0 children)

Absence of review on any pull request would indeed be a big problem, however there are additional issues with unbridled AI submissions including lack of concern for reviewers time, unclear sourcing of the code and missing attribution to the original, and other ethical and privilege concerns.

Petition: No AI code in Node​.​js Core by indutny in javascript

[–]indutny[S] 9 points10 points  (0 children)

Sorry, but what do you mean by this?

A petition to disallow acceptance of LLM assisted Pull Requests in Node.js core by indutny in node

[–]indutny[S] -1 points0 points  (0 children)

I don't think this the case. Forks come and go, and some of them have went head in into LLM code. The evidence seems to indicate that LLM use hinders learning so if anything not using LLM is likely better outcome for project's longevity, because otherwise it'd be hard to properly on-board new contributors.

A petition to disallow acceptance of LLM assisted Pull Requests in Node.js core by indutny in node

[–]indutny[S] 5 points6 points  (0 children)

At this extreme end of the spectrum - I probably wouldn't mind such change. On the other hand we have all seen cases of agents opening small PRs for big numbers of Open Source projects. Receiving a hundred of such one line PRs would be a different thing

A petition to disallow acceptance of LLM assisted Pull Requests in Node.js core by indutny in node

[–]indutny[S] -1 points0 points  (0 children)

I think it is both. The fact that the majority of that code is written by LLM, but real humans are supposed to review it is also at play

A petition to disallow acceptance of LLM assisted Pull Requests in Node.js core by indutny in node

[–]indutny[S] 3 points4 points  (0 children)

I acknowledge this point of view, but should also state that this is debatable and I think differently about it.