Sounds like it will be mandatory to use Rust to build all of Git. The title implies Rust itself will be mandatory.
I was confused in the same way after reading the submission title. Mandating Rust would be a far more radical change.
Edit: nope, I’m wrong. On reading the link, they’re setting up the build infrastructure to support Rust in the Git code itself.
Looking at the comment thread, at least one person I recognize as a core maintainer seems to be acting as if this is an official plan that they've already agreed on the outline of, if not the exact timing. And they seem to acknowledge that this breaks some of the more obscure platforms out there.
rustc_codegen_gcc is close to becoming stable, and conversely the Linux kernel is dropping more esoteric architectures. Once the supported sets of architectures fully overlap, and once the Linux kernel no longer needs unstable (nightly-only) Rust features, it'd be more reasonable for Linux to depend on Rust for more than just optional drivers.
In a brief search, they’re engineering manager for GitLab, appear to be a frequent contributor of high-difficulty patches to Git in general, and are listed as a possible mentor for new contributors.
Given the recent summit, it seems likely that this plan was discussed there; I hadn’t dug into that possibility further but you could if desired.
$ ldd /usr/bin/git
linux-vdso.so.1 (0x00007f69c2d64000)
libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007f69c2c81000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f69c2c67000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f69c2616000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f69c2d66000)
$ ls -alh /usr/bin/git
-rwxr-xr-x 1 root root 4.0M Aug 25 11:40 /usr/bin/git
I did not measure but it does not take long on my old hardware to compile git from scratch either, for now.But we probably won't see any effect for 10 years or so.
I need to to fill out this TPS report. Unfortunately it's mandatorty to fudge section 15A.
From my (very limited) perspective, I just kind of thought git had settled in to 2.x and there wasn't any reason to break compatibility.
The beauty of the unsafety of C is partially that it's pretty easy to spin up a compiler on a new platform. The same cannot be said of Rust.
For example…had to build my own tool to extend git blame and track the AI generated code in our repository and save prompts:
But.
Now rather than needing to understand just C to work on Git/kernel, you now need to also know Rust. The toolchain complexity is increasing, and the mix of these languages increases the barrier to entry.
I'm highly invested into Git, having learned the tooling and having a significant number of projects constructed within it. I've written my own Git clients and have built a web server around Git repositories. I don't want to lose the hack-ability of Git.
And they will keep working because the repository format isn't affected by the language git is written in.
You are. This is firm "I don't want to have to learn new things" territory, which isn't a viable attitude in this industry.
In any case Rust is usually easier than C (excluding buggy C which is very easy to write), and certainly easier than actually learning the Git or Linux codebases.
So "another language" here probably does not weigh as much, especially considering perl/TCL are the weirder one there.
But for big projects like linux and git, this could actually be a consolidation step: you spent decades growing, hacking things on top of each other.
You have mostly figured out what this project is and where it is going, it's time to think about safety, performance and remove old hacks.
Rust feels like a good fit, imho.
politelemon•1h ago
Please could someone elaborate on this.
ahdanggit•1h ago
This might make a much more interesting case for GOT than before https://www.gameoftrees.org/
1oooqooq•46m ago
they could just port the multiprocess pledge stuff to git (and benefit linux too with namespaces)
then all the userfacing changes (i.e. work on git bare instrad of wc) I've been doing for the last decade with a couple lines on my gitconfig file.
DarkNova6•1h ago
GCC simply supports more platforms.
JoshTriplett•22m ago
arccy•1h ago
RESF members tend to say it the other way around as in the platform doesn't support rust, but the reality is that it's the compiler that needs to support a platform, not the other way around.
JoshTriplett•22m ago
whalee•1h ago
[1] https://doc.rust-lang.org/beta/rustc/platform-support.html
Alifatisk•1h ago
https://doc.rust-lang.org/beta/rustc/platform-support.html#t...
bbor•1h ago
Anyone know of anything on that list with more than a thousand SWE-coded users? Presumably there's at least one or two for those in the know?
whalee•51m ago
loeg•34m ago
jmillikin•1h ago
Ctrl+F for "NonStop" in https://lwn.net/Articles/998115/
MangoToupe•1h ago
StopDisinfo910•1h ago
antihero•1h ago
akerl_•1h ago
kstrauser•1h ago
I don’t maintain any tools as popular as git or you’d know me by name, but darned if I’m going to put in more than about 2 minutes per year supporting non-Unix.
(This said as someone who was once paid to improve Ansible’s AIX support for an employer. Life’s too short to do that nonsense for free.)
lloydatkinson•1h ago
kstrauser•1h ago
halffullbrain•3m ago
gtirloni•34m ago
Hizonner•1h ago
Seriously, I guess they just have to live without git if they're not willing to take on support for its tool chain. Nobody cares about NonStop but the very small number of people who use it... who are, by the way, very well capable of paying for it.
kstrauser•23m ago
formerly_proven•59m ago
maximilianburke•52m ago
It's probably not straightforward but the users of NonStop hardware have a lot of money so I'm sure they could find a way.
zozbot234•28m ago
ksynwa•3m ago
doctorpangloss•32m ago
> I like programming
> I program to make money
If you belong to the second category - I’m going to be super charitable, it sounds like I’m not going to be charitable and I am, so keep reading - such as by being paid by a giant bank to make applications on Nonstop, there might be some policy that’s like
“You have to vet all open source code that runs on the computer.”
So in order to have Rust, on Nonstop, to build git, which this guy likes, he’d need to port llvm, which isn’t impossible. What’s impossible is to get llvm code reviewed by legal, or whatever, which they’re not going to do, they’re going to say “No. No llvm. HP who makes Nonstop can do it, and it can be their legal problem.”
I’m not saying it’s impossible. The other guy is saying it’s impossible, and I’m trying to show how, in a Rube Goldberg way, it looks impossible to him.
You and I like programming, and I’m sure we’re both gainfully employed, though probably not making as much money at guy, but he doesn’t like programming. You are allowed to mock someone’s sincerity if they’re part of a system that’s sort of nakedly about making lots of money. But if you just like programming, you’d never work for a bank, it’s really fucking boring, so basically nobody who likes programming would ever say porting Rust or whatever is impossible. Do you see?
It’s tough because, the Jane Street people and the Two Sigma people, they’re literally kids, they’re nice people, and they haven’t been there for very long, they still like programming! They feel like they need to mook for the bank, when they could just say that living in New York and having cocktails every night is fun and sincere. So this forum has the same problem as the mailing list, where it sounds like it’s about one thing - being able to use fucking hashmaps in git - and it’s really about another - bankers. Everywhere they turn, the bankers run into people who make their lifestyle possible, whether it’s the git developers who volunteer their time or the parents of the baristas at the bars they’re going to paying the baristas’ rent - and the bankers keep hating on these people. And then they go and say, well everyone is the problem but me. They don’t get it yet.