How would you “enforce” LLM restrictions?
Back in January I introduced my LLM Licence. For the cost of a donation to one of a few different technical foundations in which I harbour a keen interest and admiration, the licence would grant you permission to use an LLM trained on my works for a query.
It was tongue-in-cheek, but it did generate a surprising amount of feedback. This was among the most common responses:
How would you enforce it?
It’s a fascinating question; not for what it’s asking per se, but what it reveals about how we approach everything in this brave new world. The tl;dr is: it’s an honour system built on trust. And it should sound familiar.
☕︎ ☕︎ ☕︎
I don’t want to get into a debate over the merits of permissive, copyleft, and commercial software licences here, not least because I’ll have my head chewed off, and I’m rather attached to it. Haiyo.
But licences dictate the terms under which you can purchase, distribute, and/or modify the software, and how to acknowledge and grant sufficient credit to the source. Unless a program and its source have been released into the public domain (which may not always be feasible or possible depending on the jurisdiction), it almost certainly has a licence attached.
Commercial software often requires digital restrictions management (DRM), “activation”, serial numbers, licencing servers, indentured servitude, and other infrastructure to register, maintain, and enforce licencing terms. Ask me how I know! Even some freeware still requires this, because while they may not cost any money to buy, the owners of software prefer to be like those people crowding around the mustard dispenser at IKEA and keep the source to themselves. I joke, but people have every right to release their own creative works as they see fit.
Open software, by comparison, rarely has such distribution enforcement. Some hat-based software houses may inject their own trademarks or copyright in other ways to limit wholesale distribution, but otherwise most such software comes with the source, and perhaps even some pre-compiled binaries for our joy and convenience. It’s up to you to be responsible and to enact what’s required in exchange for the goods.
Taking responsibility… wait, what!?
This is a critical difference to understand. There is no licencing server phoning home to make sure my use of NetBSD is compliant with the 2-clause BSD licence. Alpine Linux doesn’t require me to install Client Access Licences for every SSH connection to my Xen host. At least, I hope not. And when even the whiff of passive telemetry is introduced into an open source package, let alone an overt rug pull, it causes such an uproar as to result in a hard fork.
☕︎ ☕︎ ☕︎
This is what makes the discussion around liability language models (LLMs) contributions to open software so surreal. Having spent decades teaching the industry about how permissive and copyleft licencing works, everyone seemingly forgot as soon as their stochastic parrots enter the picture. Maybe they used a chatbot to do their assignments.
The reason this is coming up now is due to more projects restricting or banning LLM-derived contributions. If they deem slop doesn’t meet their quality, authenticity, or licencing requirements, or they introduce legal liability, or they increase the workload for already tired reviewers, project maintainers have every right to deny such code. If you don’t like it, fork it.
(As an aside, they should absolutely do that! A forked project with LLM or “vibed” contributions that overtakes the original in performance, features, and security would surely present quantitative, irrefutable validation of the hype).
But this leads to that question people asked me at the start:
How would you enforce it?
The same way every other requirement is enforced: with a social contract. Projects have terms and policies in place under which they’ll accept contributions. LLM restrictions are another of these, with the same “enforcement” mechanism.
That’s it. There’s no silver bullet here. You can hoard changes to your GPL’d code and not submit them upstream. You can lift and submit code from somewhere you’re not allowed. You can also contribute slop that you’ve attempted to pass off as your own. I don’t know how else to say this, but maliciously working around contribution requirements is on you. I almost wrote that as ewe for some reason, so have this emoji of a sheep. 🐑
Licences are, sadly, only worth the amount people are willing to enforce them. But broadly speaking, that’s how open source software communities work. There’s a degree of trust that you’ll take responsibility and do the right thing. I know right, what a concept!
























