Live data from Hacker News

Relicensing with AI-Assisted Rewrite

tuananh.net

281–290 of 408 posts

Re: Relicensing with AI-Assisted Rewrite

#281

I am pretty sure this article is predicated on a misunderstanding of what a "clean room" implementation means. It does not mean "as long as you never read the original code, whatever you write is yours". If you had a hermetically sealed code base that just happened to coincide line for line with the codebase for GCC, it would still be a copy. Traditionally, a human-driven clean room implementation would have a vanish…

> What the chardet maintainers have done here is legally very irresponsible.

Perhaps the maintainer wants to force the issue?

> Any downstream user of the library is at risk of the license switching from underneath them.

Checking the license of the transitive closure of your dependencies is table stakes for using them.

Re: Relicensing with AI-Assisted Rewrite

#282

Earlier quoted context omitted.

That's... not how this works. > If I feed them 50% of Moby Dick and they produce the next word and I can repeatedly do that to produce the entire book... then we can prove the statistical model encodes the book. It can't because it doesn't. That's what it means to say it diverges. The "number of attempts" is you cheating. You're giving it the book when you let it try again word by word until it gets the correct answe…

But it does encode it! Each subsequent token's probability space encodes the next word(s) of the book with a non-zero probability that is significantly higher than random noise. If you had access to a model's top p selection then I'd bet the book is in there consistently for every token. Is it statistically significant? Might be! I'm not cheating because the number of attempts is so low it's irrelevant. If I were to…

Your test is more like the following:

Consider a password consisting of random words each chosen from a 4k dictionary. Say you choose 10 words. Then your password has log_2(4k)*10 entropy.

Now consider a validator that tells you when you gets a word right. Then you can guess one word at a time, and your password strength is log_2(4k*10). Exponentially weaker.

You're constructing the second scenario and pretending it's the first.

Also in your 50% probability scenario, each word is 1 bit, and even 50-100 bits is unguessable. A 1000 word key where each word provides 1 bit would be absurdly strong.

Re: Relicensing with AI-Assisted Rewrite

#283

Earlier quoted context omitted.

So what if a frontier model company trains two models, one including 50% of the world's open source project and the second model the other 50% (or ten models with 90-10)? Then the model that is familiar with the code can write specs. The model that does not have knowledge of the project can implement them. Would that be a proper clean room implementation? Seems like a pretty evil, profitable product "rewrite any code…

LLM training is unnecessary in what we're discussing. Merely LLM using: original code -> specs as facts -> specs to tests -> tests to new code.

It is hard to prove that the model doesn't recognize the tests and reproduces the memoized code. It's not a clean room.

Re: Relicensing with AI-Assisted Rewrite

#284
post #224

Earlier quoted context omitted.

It literally did copy significant portions of docstring comments, verbatim.

The human driver of the project has a comment that is reporting that the project has no structural overlap as analyzed by a plagarism analysis tool. Were comments excluded from that analysis? Is your comment here based on the data in the repo?

> Were comments excluded from that analysis?

According to the analysis that you referenced:

> JPlag parses Python source into syntactic tokens (function definitions, assignments, control flow, etc.), discarding all variable names, comments, whitespace, and formatting

Re: Relicensing with AI-Assisted Rewrite

#285

Earlier quoted context omitted.

It's not a problem. If you give a work to an AI and say "rewrite this", you created a derivative work. If you don't give a work to an AI and say "write a program that does (whatever the original code does)" then you didn't. During discovery the original author will get to see the rewriter's Claude logs and see which one it is. If the rewriter deleted their Claude logs during the lawsuit they go to jail. If the rewrit…

Except Claude was for sure trained on the original work and when asked to produce a new product that does the same thing will just spit out a (near) copy

Ok, but what if in the future I could guarantee that my generative model was not trained on the work I want to replicate. Like say X library is the only library in town for some task, but it has a restrictive license. Can I use a model that was guaranteed not trained on X to generate a new library Z that competes with X with a more permissive license? What if someone looks and finds a lot of similarities?

Re: Relicensing with AI-Assisted Rewrite

#286
post #227

Earlier quoted context omitted.

Well, check out the "clean rewrite" design document, directly: https://github.com/chardet/chardet/commit/f51f523506a73f89f0... referenced in https://github.com/chardet/chardet/issues/327#issuecomment-4...

Writing in a plan "no GPL/LGPL code" does not actually mean "forget all the GPL/LGPL code that you have ever seen, so that you start from a clean slate".

[deleted]

Re: Relicensing with AI-Assisted Rewrite

#287

This is precedent setting. In this case the rewrite was in same language, but if there's a python GPL project, and it's tests (spec) were used to rewrite specs in rust, and then an implementation in rust, can the second project be legally MIT, or any other? If yes, this in a sense allows a path around GPL requirements. Linux's MIT version would be out in the next 1-2 years.

[flagged]

I'm somewhat confused on how it actually muddies the waters - any person could have read the source code before hand and then either lied about it or forgot.

Our knowledge of what the person or the model actually contains regarding the original source is entirely incomplete when the entire premise requires there be full knowledge that nothing remains.

Re: Relicensing with AI-Assisted Rewrite

#288

Earlier quoted context omitted.

But it does encode it! Each subsequent token's probability space encodes the next word(s) of the book with a non-zero probability that is significantly higher than random noise. If you had access to a model's top p selection then I'd bet the book is in there consistently for every token. Is it statistically significant? Might be! I'm not cheating because the number of attempts is so low it's irrelevant. If I were to…

Your test is more like the following: Consider a password consisting of random words each chosen from a 4k dictionary. Say you choose 10 words. Then your password has log_2(4k)*10 entropy. Now consider a validator that tells you when you gets a word right. Then you can guess one word at a time, and your password strength is log_2(4k*10). Exponentially weaker. You're constructing the second scenario and pretending it'…

You're still missing the point. The numbers don't matter because it's copyright infringement as long as I can get the book out. As long as I know the key, or the seed, I can get the book out. In court, how would you prove it's not infringement?

Re: Relicensing with AI-Assisted Rewrite

#289
post #267

Earlier quoted context omitted.

Copyright and privacy rights are different.

I did not refer to privacy rights. If you post a photo of yourselves online, you're giving up on a tiny part of your privacy rights. So my question still stands: would running your photos that you have taken of yourselves through a diffusion model rip your copyright of your photo?

Yes, anything AI-generated should be public domain including the AI-generated picture that used your photo as input.

Re: Relicensing with AI-Assisted Rewrite

#290
post #264
post #260

The maintainer's response: https://github.com/chardet/chardet/issues/327#issuecomment-4... The second part here is problematic, but fascinating: "I then started in an empty repository with no access to the old source tree, and explicitly instructed Claude not to base anything on LGPL/GPL-licensed code." Problem - Claude almost certainly was trained on the LGPL/GPL original code. It knows that is how to solve the prob…

The difference in indemnification based on which plan you’re on is super important. Thanks for pointing that out - never would have thought to look.

Is this clause even legally valid?

How can the user know if the LLM produces anything that violates copyright?

(Of course they shouldn't have trained it on infringing content in the first place, and perhaps used a different model for enterprise, etc.)

Post reply on HN