The great genAI moderation debate, vol. 1

I think the current policy is quite reasonable in that regard.

As Axeld mentionned, it bans LLM generated code in case there is a risk of copyright problems. This means large code changes that are likely to be too closely inspired by other open source (or even closed source, as we don’t know what the LLM models have been trained on) software without crediting it properly as required by the license.

Some of the developers (including myself) would prefer a more restrictive approach, however, the rule is the rule. So, the people who don’t want anything to do with this will have to:

  • Avoid reviewing LLM assisted changes (they can’t really block by giving a -2, since there isn’t a policy to do so)
  • Rewrite the code in a “manual” way

People who would want to include LLM assisted code in Haiku have to:

  • Make sure they do not accidentally or intentionally reuse code without crediting it (this seems pretty difficult to do in the current situation where the training for the models is too opaque)
  • Find someone in the Haiku team willing to review their changes (this also seems quite difficult given that the most active developers are not interested).

I think this is where things stand now. Once the legal issues are cleared, we can move on to the next problems. In my opinion (but this is just my opinion)

  • I think we should ban closed source and proprietary tools, and in general things that require a subscription. Software development should be available to everyone, and open source software should be built using open source software. But we should start this by fully moving off Github and a few other non-open things we’re using, and there is already opposition to that despite having many good alternatives.
  • Ecological concerns: LLM companies are building gigantic datacenters with the power usage on the scale of entire countries, powered by gas or coal, resulting in high CO2 emissions. I don’t think that’s a good use of our carbon budget (or whatever is left of it, if anything) and I think it is irresponsible and putting us on a track of several degrees of global warming. Will it change much about this wether Haiku uses LLMs for development or not? No, not really. This is more about making a statement that this energy is not spent in a useful way, but wasted, by showing that it’s possible to work perfectly fine without it.
  • Scrapping concerns: several LLM providers have been scrapping the entire internet, resulting in pretty bad consequences: higher server loads, but also closing off resources, using Anubis and other proof-of-work systems, setting up botnets in IoT devices such as smart TVs to contribute to their effort, etc. This results in yet another way to waste a massive amount of energy, both electrical, and also human energy of the sysadmins trying to counteract these things (including myself on my personal server). Like for the ecological concerns, Haiku banning such tools would not stop them, and would be more about making a statement. Moreover, this isn’t an inherent problem of LLMs, and it’s an option to only ban specific vendors known for such practices. Ideally, this would not be done at the Haiku level, but at the legal system level for massive DDoS of the entire internet, but it looks like the legal system is not reacting very quickly at the moment.
  • The deskilling issue: studies show that using LLMs result in a decline of cognitive capacities. I can solve this for myself by not using them, so that’s fine. Make yourself less smart if you want to, that’s not my problem and certainly not Haiku’s problem. I would rather not expose myself to it too much, however, and for this I appreciate that LLM generated posts are banned on the forum, and that LLM software is in a specific category so I know what I’m looking at. EU regulations do or will soon require mandatory tagging of LLM generated content, anyways.
  • Slop: LLMs make it easy to generate plausible looking and even apparently working code with consideraly less effort. But the result does not meet quality standards required for Haiku: there will be bugs in edge cases, defective error checking, bad architecture choices, etc. Such bad code would already not be merged under current rules, or would be reverted if a developper submitted it directly. So this is not a direct risk. However, the consequence is that the Haiku team can easily get drowned under a lot of change requests that are low quality, and end up using “LLM by proxy” when the reviewer ask the submitter to make some changes, and the submitter just repeats the question to their LLM. Much time will be wasted, and the main point of a code review, which is to get people to get better and submit a better patch next time, will be lost. The current ban on author rights currently already blocks this, but it may need to be revised (for example if the legal aspects are resolved by saying that all LLM output is in the public domain).

As for the “it’s inevitable” argument: several other projects are taking similar positions as Haiku or even stricter. I’d say the jury is still out. Some or most of the issues may be resolved, maybe eventually we will get LLMs that do not need to repeatedly scrap the entire internet, use a tiny fraction of the resources, a clarified copyright situation, etc. Then it’s always time to review and adjust the policies, which we will do as needed and as new cases emerge.

Finally, I’m surprised that no one has mentioned that WebKit does allow and use LLM generated code in their codebase. It is a pretty important component of Haiku, and I don’t think we have much options for replacing it currently. And I don’t think “let’s write our own” is a reasonable approach here.

9 Likes