Live data from Hacker News

Grit: Rewriting Git in Rust with agents

blog.gitbutler.com

281–290 of 318 posts

Re: Grit: Rewriting Git in Rust with agents

#281
post #99

I’m all for memory safety and such but honestly what’s the use case for this? Showing off agentic development? In 10+ years git has never failed on a memory overflow or else. Sometimes software is “good as is” and I’m pretty confident git classifies as such. I’ve also never really hit the limitations of git, even with teams of 20+ developers and lots of binary artefacts. You got to really stretch git limitations, in…

I addressed this in the post, but Git has no linkable library and never has. If you want to do even something small, you need to fork/exec a process and communicate with it via stdin/out. Or completely reimplement it and all of the edge cases - for example, reading even one object can be either loose (easy) or in a packfile (much more difficult). Reading a reference (what SHA does a branch point to) can be in a loose…

I hadn’t heard of libgit2. I wish more applications would expose library-style access, preferably available across different languages!

May not work for apps that want to launch their own threads and processes. But for almost everything else, I prefer function calls to launching processes, managing their lifecycle, communicating via stdout etc. If I wanted to do that, I’d be writing Bash ;)

Re: Grit: Rewriting Git in Rust with agents

#282
post #109

Earlier quoted context omitted.

By definition a test suite is about testing interoperability with the test suite. An HTTP test suite should likely test for whether response code 418 is implemented a particular way and while humorous it would still be an interop test no?

No, the git test suite is about testing the git codebase. If you want something like that, you need a conformance suite, which does not exist for git.

[dead]

Re: Grit: Rewriting Git in Rust with agents

#283
post #82

Earlier quoted context omitted.

What makes you think that's what the article says that it did? There's a lot of specific nuance and it doesn't say that anywhere. In fact it speaks of making a test suite pass only. This is the classic cleanroom bios from specs approach but no need to extract it as the test is available to run and there's nothing in the GPL that suggests that running a test suite infects software that you run it on.

Surely git’s source is already in LLM’s training corpus. So this is far from clean room approach.

You've read books and they are in your brains corpus. You only infringe copyright if you reproduce the same actual words from the books in your memory (and then do infringing acts defined by copyright laws with that output).

Here that's not happening. The code being produced by the LLM is Rust, not C.

Re: Grit: Rewriting Git in Rust with agents

#284
post #112

Earlier quoted context omitted.

> test_sum is assumedly relatively trivial. So as a lay person I’d expect some sort of obviousness test to apply. Like so much of the stuff in the Google/Oracle lawsuit. Feel free to extrapolate to the threshold where it's not and at that point apply. > you’re really having to duplicate the actual git internals Copyright covers the expression, not the method. So the Rust function: fn sum(a: u8, b: u8) { a + b } is di…

That's not copyrightable because it's trivial.

Please feel free to strongman. Extend the argument until it hits a point of non-triviality and then apply reasoning.

Re: Grit: Rewriting Git in Rust with agents

#285
post #5

they still haven't explained why I should bother. Is it faster, easier, more efficient, more capable, more scalable on large codebases, supports better workflows? In fact, I would rather it stay C for 15 more years.

I'm assuming you didn't read the article, since I'm pretty sure I covered all of this, but I'm happy to respond. Don't bother. It's probably not for you. It's slower, more obtuse, more bloated, less capable, exponentially less scalable at any size. Canonical Git is better in every way, except being a linkable library. Even in the arena of being linkable libraries that can do Git stuff, both Gitoxide (Rust) and libgit…

grep didn’t indicate anything interesting. S/n was very low. Thanks.

Re: Grit: Rewriting Git in Rust with agents

#286
post #280

Earlier quoted context omitted.

Any way anyone who wants, wants, that doesn't rely on legal control of information. There are infinite uncopyrightable things that never the less get done and make people a lot of livings. I only said "might" and the point was obviously not the immediate surface idea but to point out how the tool of IP is not applied to everyone's benefit equally, but used only against some and only for some, with a side of "You know…

How is this an answer to the question? Good thing you aren't in government. Who would so much as bother to write a book?

I'd add: why bother... except for fun. We shouldn't discount enjoyment as motivation. But I otherwise agree wholeheartedly with you. We need intellectual work that goes beyond "just for fun" as long as most people have to work to live.

Re: Grit: Rewriting Git in Rust with agents

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

> Many of the main authors of the Git source code are friends of mine and I have no intention to steal anything from anyone, only to make their great ideas more broadly useful.

By working-around/subverting the terms they provided their contributions under? While you claim to be doing this in good faith, and state "it's what's best for the broader Git ecosystem", that's all based on your own opinion which appears to ignore the benefits and intent of licenses such as the GPL.

Out of interest, Would you be happy for someone to do the same with the GitButler source code? (Feed it through an LLM and re-publish the result under an MIT license with different branding)

Re: Grit: Rewriting Git in Rust with agents

#289
post #240

Earlier quoted context omitted.

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.

That already exists[1]. It looks like a joke but apparently they will accept your money to do it, which seems to cross the line of a joke.

[1]: https://malus.sh/

Re: Grit: Rewriting Git in Rust with agents

#290
post #32

You're asking people to trust you and hand their codebase/IP to your tool while showing them exactly how you treat other people's code/licenses by "deciding" to not carry forward the GPL license.

GitButler's source code is available, so we're not asking you to trust us much at all. https://github.com/gitbutlerapp/gitbutler

That's great because we don't.
Post reply on HN