Live data from Hacker News

Grit: Rewriting Git in Rust with agents

blog.gitbutler.com

261–270 of 318 posts

Re: Grit: Rewriting Git in Rust with agents

#261
post #11

> In looking at the code that the LLMs have produced for the project, especially given the pretty massive and widespread architectural changes needed to make the implementation libified and memory safe, we decided that the codebase is not a derivative work that would require carrying forward the GPL license and have decided to release the code under the MIT instead. Hmm. That's going to be interesting.

Well, there's lots of really interesting opinions here from a lot of armchair lawyers. To clarify, my stance on this is that the reimplementation did not copy protected expressions (Jplag reports less than 1.8% max similarity between the codebases), it's done in good faith, and it's what's best for the broader Git ecosystem (assuming Grit even becomes usable, which it's currently not purported to be). From a copyrigh…

Is there a point in license laundering? Where GPL stifles git adoption?

Re: Grit: Rewriting Git in Rust with agents

#262
post #11

> In looking at the code that the LLMs have produced for the project, especially given the pretty massive and widespread architectural changes needed to make the implementation libified and memory safe, we decided that the codebase is not a derivative work that would require carrying forward the GPL license and have decided to release the code under the MIT instead. Hmm. That's going to be interesting.

Related:

Malus – Clean Room as a Service https://news.ycombinator.com/item?id=47350424

Just like for 1984 and the Torment Nexus, someone took the concept not as warning but as instruction manual.

Re: Grit: Rewriting Git in Rust with agents

#263

Earlier quoted context omitted.

GPL makes sure that the code remains open. Seems like these new gen devs are against open source.

It pisses me off because I'm also the author of a rewrite-in-Rust project (though it's more than that, and yes I now use agents though I didn't at the start) and I specifically chose [A|L]GPL for it to protect the IP of the asset and because it felt like the most ethical choice.

I removed it but I added that I hate these people. :P So yeah, it pisses me off, too.

Re: Grit: Rewriting Git in Rust with agents

#264

Earlier quoted context omitted.

It pisses me off because I'm also the author of a rewrite-in-Rust project (though it's more than that, and yes I now use agents though I didn't at the start) and I specifically chose [A|L]GPL for it to protect the IP of the asset and because it felt like the most ethical choice.

I removed it but I added that I hate these people. :P So yeah, it pisses me off, too.

"Don't hate the player, hate the game" as they say.

People want to get paid. They perceive the GPL as getting in their way.

Or, as it is also said: “It is difficult to get a man to understand something, when his salary depends on his not understanding it.”

Re: Grit: Rewriting Git in Rust with agents

#265

Earlier quoted context omitted.

Did you create this account just to lament rust hype? I mean, it is excessive. But I also don't think it is manufactured. We are more like some mostly benign evangelical denomination trying to get everyone to see the joys of Ferris.

Honestly, if the language actually looked nicer, great. But I mean the source code looks like a steaming pile of crate-includes. We can do better, seriously.

You have touched on my biggest complaint, the supply chain depth. It has definite advantages, but a signed and vetted set of crates is sorely needed. I could always just write everything my self like I would in c, but the crates are right there...

Re: Grit: Rewriting Git in Rust with agents

#266

In 15+ years of using Git, I have not had a single crash. What problem are you solving???

I've seen plenty of crashes over the years. Primary in one private repo where gc and pruning triggered unexpected exits for a fixed duration of time.

That said, stability overall has been nothing short of fantastic. And I can't answer the question of "why?" for this particular rewrite.

Re: Grit: Rewriting Git in Rust with agents

#267
post #145
post #96

Earlier quoted context omitted.

Writing fn sum(a: u8, b: u8) { a + b } Doesn't infringe upon copyright period, because there's no creative element in that work. Imagine a more substantial example though. Perhaps you have a test that checks that some file written in a binary format is correct, and gives names (creative elements) to each field of the format that it prints when you mess up the field, and has comments describing why the bytes are laid…

That's essentially the same thing as modding a game, though. I know there have been lawsuits to stop modding, but I don't think any were successful.

I haven't followed any relevant cases but I would be surprised if there's any serious dispute that the common methods of modding games generally create derivative works. I think the dispute would be downstream of that as to whether or not the mods are covered by fair use.

Re: Grit: Rewriting Git in Rust with agents

#268

Earlier quoted context omitted.

> Like, you can almost certainly get these LLMs to output gits full source code with some prompting, so there's not that much difference (as much as we like to pretend that AI generated code has no copyright implications) Are you sure? LLMs are in some way a compressed version of their input but it's a pretty lossy compression (arguably this makes them more like a compression algorithm than a compressed version of th…

> I'm not sure you can prompt a full, accurate, copy of a nontrivial codebase out of them. Even with zero temperature their accuracy is just not that high. Granted, these are some of the most widely spread texts, and not codebases, but just fyi: https://arxiv.org/pdf/2601.02671 > For Claude 3.7 Sonnet, we were able to extract four whole books near-verbatim, including two books under copyright in the U.S.: Harry Potte…

That paper is basically using the LLM as a compression algorithm: it's prompting with some section of the book and it's reprompting if it doesn't give the right output. Notably this only works if you already have a copy of the book in question!

Re: Grit: Rewriting Git in Rust with agents

#269
post #166

Earlier quoted context omitted.

A translation of a book to a different language is a derivative work. So a translation of a computer program to a different programming language is also. But if in the translation of the book you start altering the plot and the personalities of that characters, does it at some point become not a derivative work? What point? IANAL, and I have no real idea, but I imagine that point has been probed significantly in case…

> translation. It's not technically a translation, it's a re-implementation, with test suites acting as the destination. If it was a file by file translation your argument would have been valid.

Wouldn't a re-implementation be akin to 'heres how it works, write the code' rather than 'heres the code, redo it in rust'?

Re: Grit: Rewriting Git in Rust with agents

#270
post #240
post #166

Earlier quoted context omitted.

A translation of a book to a different language is a derivative work. So a translation of a computer program to a different programming language is also. But if in the translation of the book you start altering the plot and the personalities of that characters, does it at some point become not a derivative work? What point? IANAL, and I have no real idea, but I imagine that point has been probed significantly in case…

The agents.md says “here’s the git source code” https://github.com/gitbutlerapp/grit/blob/main/AGENTS.md#sou... This isn’t even a question of training data, thy fed the full git source code directly to the llm.

I wonder if imitating clean room reverse engineering with two LLMs would be enough for licence compliance.
Post reply on HN