From 11f428cec625945adab4c1f5e446002da5e2590a Mon Sep 17 00:00:00 2001 From: jrconlin Date: Mon, 31 Aug 2026 17:53:56 -0700 Subject: [PATCH] doc: Add AI.md document Outline personal argument against inclusion of AI in code. --- AI.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 AI.md diff --git a/AI.md b/AI.md new file mode 100644 index 0000000..00d27ca --- /dev/null +++ b/AI.md @@ -0,0 +1,29 @@ +# Policy regarding the use of AI + +The rise of Artificial Intelligence (by which I include Large Language Model (LLM) based systems), is on the rise, and carries a number of concerns. + +For now, I would prefer not to have any code or documentation generated by a LLM included in this library. This document will outline my reasoning: + +## As of 2026, LLMs are still very new and unproven + +I don't necessarily mean the code is unproven, I mean how they're used and the legal standing of machine generated code is unknown. Courts in [the United States](https://www.congress.gov/crs_external_products/LSB/PDF/LSB10922/LSB10922.8.pdf), [Canada](https://ised-isde.canada.ca/site/strategic-policy-sector/en/marketplace-framework-policy/consultation-copyright-age-generative-artificial-intelligence-what-we-heard-report), the [European Union]() and other locations have stipulated that content that does not have a human author does not qualify for copyright. By that extension, no copyleft license technically would be valid. This is, as yet, still unproven in the courts, which are notoriously bad at looking at things from a purely technical view. To that end, allowing machine generated code may compromise the license that this code is offered under. + +Once there are enough decided legal precedents about this, I will happily reconsider, but for now, I don't want to expose myself to the risk. + +## LLM Cost + +LLM usage is not free. Again, as of 2026, the cost of using an LLM is not yet fixed. In order to maintain this code, I would need to validate it, which may also require accessing the sources (to determine if the code provided is truly unique, or if it comes from a protected source). I do not have the finances to afford the monthly access fees that these engines require. + +## The value of time + +I am deeply thankful for anyone who provides a fix or even spots a potential error in my code, however, I am the sole maintainer of this library. This means that any code that I accept needs to be small, manageable, and maintainable. In my experience. LLMs tend to make complex patches that rebase more code than any fix may provide. The work I'd need to do to validate those tends to exceed the amount of effort that someone made requesting the LLM to generate the PR. Currently, I value my time more than that fix, unless that fix provides value far, far greater than the investment I would have to make. + +If someone were to either offer to maintain that portion of the code, or pay for the cost of maintaining that code, that would be different, but I do not expect that ever to be the case. + +## The value of coding + +I am one of the very few individuals who got into computer programming because I enjoy the process of learning. I enjoy the often messy, often sweary act of breaking down a problem into smaller steps, and then crafting what steps are required in order to provide a solution. I delight in finding errors because not only do I get to fix them, I get to learn what I did wrong. To me, at least, an LLM is a bit like printing out a picture rather than drawing it, or checking a box that says "Saw a sunset" rather than actually experiencing one. I'd like to think the sort of weirdos that would be interested in message encryption libraries would be a bit the same as me, so when I ask them questions about what they've provided, we both have an opportunity to learn. + +## Tell me lies + +All of this is, almost by design, easy to get around. I am absolutely positive that folk out there will use an LLM to create some PR and stuff it into my queue, having learned nothing and done nothing more than provide a few vague sentences. (Hilariously, I also realize that Prompt Design is just coding using the worst possible syntax you could. Seriously, English is a terrible language for this sort of thing.) If you do, at least do the same thing you did when you had the LLM write your term paper or resume, at least do a search and replace of "claude" with your name. LLM generated code has a certain smell to it (look up "code smell" if you're wondering), so I'll probably still notice, but at least we both can pretend that you actually understand what you're doing, and understand if I'm a bit more curt in my responses to your PR.