Live data from Hacker News

Relicensing with AI-Assisted Rewrite

tuananh.net

321–330 of 408 posts

Re: Relicensing with AI-Assisted Rewrite

#321
post #220

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…

> 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. If you somehow actually randomly produce the same code without a reference, it's not a copy and doesn't violate copyright. You're going to get sued and lose, but platonically, you're in the clear. If it's merely somewhat similar, then you're probably in the clear in practice t…

> If you somehow actually randomly produce the same code without a reference, it's not a copy and doesn't violate copyright.

I don't believe this, and I doubt that the sense of copying in copyright law is so literal. For instance, if I generated the exact text of a novel by looking for hash collisions, or by producing random strings of letters, or by hammering the middle button on my phone's autosuggestion keyboard, I would still have produced a copy and I would not be safe to distribute it. There need not have been any copy anywhere near me for this to happen. Whether it is likely or not depends on the technique used - naive techniques make this very unlikely, but techniques can improve.

It is also true that similarity does not imply copying - if you and I take an identical photograph of the same skyline, I have not copied you and you have not copied me, we have just fixed the same intangible scene into a medium. The true subjective test for copying is probably quite nuanced, I am not sure whether it is triggered in this case, but I don't think "clean room LLMs" are a panacea either.

> dirty phase produces a specification ... it is NOT defined as producing an API

This does not really sound like "the opposite of correct". APIs are usually not copyrightable, the truth is of course more complicated, if you are happy to replace "API" with "uncopyrightable specification" then we can probably agree and move on.

> it's probably not as dramatic as you think it is

In reality I am very cynical and think nothing will come of this, even if there are verbatim snippets in the produced code. People don't really care very much, and copyright cases that aren't predicated on millions of dollars do not survive the court system very long.

Re: Relicensing with AI-Assisted Rewrite

#322
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…

> Is anyone working on this?

There was recently https://news.ycombinator.com/item?id=47131225.

Re: Relicensing with AI-Assisted Rewrite

#323
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".

Agreed, no amount of system/user prompt directives change the fact that the LLM has already been trained on copyrighted code. It's amazing how many people fail to grasp that.

This is the "Don't think of a pink elephant" fallacy all over again.

Re: Relicensing with AI-Assisted Rewrite

#324

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…

>The actual meaning of a "clean room implementation" is that it is derived from an API and not from an implementation This is incorrect and thinking this can get you sued https://en.wikipedia.org/wiki/Structure,_sequence_and_organi...

I did not expect people to take "API" so literally. This point is what I was referring to when I said "I am simplifying slightly". The point is that a clean room impl begins from a specification of what the software does, and that the new implementation is purported to be derived only from this. What I am trying to say is that "not looking at the implementation" is not exactly the point of the test - that is a rule of thumb, which works quite well for avoiding copyright infringement, but only when humans do it.

Re: Relicensing with AI-Assisted Rewrite

#325
post #285

Earlier quoted context omitted.

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?

This is what Adobe ostensibly is trying to do with their GenAI image model, Firefly.

https://en.wikipedia.org/wiki/Adobe_Firefly

Re: Relicensing with AI-Assisted Rewrite

#326
post #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.

> Perhaps the maintainer wants to force the issue?

I doubt it, and I don't see any evidence that's what they're doing. There are probably better ways, if that's what they want.

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

Checking the license of the transitive closure of your dependencies is only feasible when the library authors behave responsibly.

Re: Relicensing with AI-Assisted Rewrite

#327
post #185

Generative AI changed the equation so much that our existing copyright laws are simply out of date. Even copyright laws with provisions for machine learning were written when that meant tangential things like ranking algorithms or training of task-specific models that couldn't directly compete with all of their source material. For code it also completely changes where the human-provided value is. Copyright protects…

“Changing the equation” by boldly breaking the law.

> “Changing the equation” by boldly breaking the law.

Is it? I think the law is truly undeveloped when it comes to language models and their output.

As a purely human example, suppose I once long ago read through the source code of GCC. Does this mean that every compiler I write henceforth must be GPL-licensed, even if the code looks nothing like GCC code?

There's obviously some sliding scale. If I happen to commit lines that exactly replicate GCC then the presumption will be that I copied the work, even if the copying was unconscious. On the other hand, if I've learned from GCC and code with that knowledge, then there's no copyright-attaching copy going on.

We could analogize this to LLMs: instructions to copy a work would certainly be a copy, but an ostensibly independent replication would be a copy only if the work product had significant similarities to the original beyond the minimum necessary for function.

However, this is intuitively uncomfortable. Mechanical translation of a training corpus to model weights doesn't really feel like "learning," and an LLM can't even pinky-promise to not copy. It might still be the most reasonable legal outcome nonetheless.

Re: Relicensing with AI-Assisted Rewrite

#328

Earlier quoted context omitted.

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.)

"... If AI-generated code cannot be copyrighted (as the courts suggest) ". So, Supreme Court has said that. AI-produced code can not be copyrighted. (Am I right?). Then who's to blame if AI produces code large portions of which already exist coded and copyrigted by humans (or corporations). I assume it goes something like this: A) If you distribute code produced by AI, YOU cannot claim copyright to it. B) If you dist…

IANAL but I was under the impression that Supreme Court ruling was very specific to the AI itself copyrighting its own produced code. Once a human is involved, it gets a lot more complicated and rests on whether the human's contribution was substantial enough to make it copyrightable under their person.

Re: Relicensing with AI-Assisted Rewrite

#329
post #220

Earlier quoted context omitted.

> 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. If you somehow actually randomly produce the same code without a reference, it's not a copy and doesn't violate copyright. You're going to get sued and lose, but platonically, you're in the clear. If it's merely somewhat similar, then you're probably in the clear in practice t…

> If you somehow actually randomly produce the same code without a reference, it's not a copy and doesn't violate copyright. I don't believe this, and I doubt that the sense of copying in copyright law is so literal. For instance, if I generated the exact text of a novel by looking for hash collisions, or by producing random strings of letters, or by hammering the middle button on my phone's autosuggestion keyboard,…

> I don't believe this, and I doubt that the sense of copying in copyright law is so literal.

It is actually that literal, really.

> For instance, if I generated the exact text of a novel by looking for hash collisions,

This is a copyright violation because you're using the original to construct the copy. It's not a pure RNG.

> or by producing random strings of letters,

This wouldn't be a copyright violation, but nobody would believe you.

> or by hammering the middle button on my phone's autosuggestion keyboard, I would still have produced a copy and I would not be safe to distribute it.

This would probably be a copyright violation.

You probably think that this is hypothetical, but problems like this do actually go to court all the time, especially in the music industry, where people try to enforce copyright on melodies that have the informational uniqueness of an eight-word sentence.

> APIs are usually not copyrightable,

This was commonly believed among developers for a long time, but it turned out to not be true.

> This does not really sound like "the opposite of correct".

The important part is that information about the implementation can absolutely be in the spec without necessarily being copyrightable (and in real world clean room RE, you end up with a LOT of implementation details). You were saying the opposite, that it was a spec of the API as opposed to a spec of the implementation.

Re: Relicensing with AI-Assisted Rewrite

#330
post #217

Earlier quoted context omitted.

Is their work present in v7?

Yes. Commits clearly show in progress where both LGPL and MIT code was working together. This clearly show they are a derivative work and MUST follow the original license. Plus the argument put forth is that they can re-license the project. It's not a new one made from scratch.

Did they eventually remove/replace all the LGPL code?
Post reply on HN