this post was submitted on 18 Jan 2024
67 points (97.2% liked)

Rust

5771 readers
54 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] BatmanAoD@programming.dev 15 points 8 months ago* (last edited 8 months ago) (1 children)

I wish I were more aware of what level of burnout there is in other large open source projects. Is Rust unique? Better? Worse? How do other projects manage this (if in fact they do)?

Projects like GCC and the Linux kernel do almost all their development in the open, via mailing lists, so maybe it would be possible to analyze that data to determine, say, the rate at which contributors drop out of the project. But I'm not aware of anyone having actually done an analysis like this.

[–] Miaou@jlai.lu 9 points 8 months ago (1 children)

Aren't those two projects mostly maintained by people on the job? I don't know what's the proportion for the rust team, but I think it's getting much less sponsoring. Hopefully this will get better quickly

[–] BatmanAoD@programming.dev 1 points 8 months ago (1 children)

I don't know, but historically, for GCC at least, I wouldn't expect so, because it's so ideologically anti-corporate.

[–] stsquad@lemmy.ml 6 points 8 months ago (1 children)

That's a hell of an assumption. I know a number of Arm GCC and LLVM hackers who are all employed by various companies including Arm themselves. It's in chip designers/manufacturers interest to have good GCC support for their architecture.

[–] BatmanAoD@programming.dev 1 points 8 months ago (1 children)

Of course hardware vendors have a vested interested in GCC support, and of course there are a lot of people paid to work on GCC! But the claim above was that GCC and Linux are "mostly" maintained by people paid to work on them. I don't actually know how to measure that (I thought I might be able to find a quick answer by googling, but no such luck), but even if it's true now, I seriously doubt it's been true for the majority of GCC's very long history.

I also specifically didn't mention LLVM because it's very closely associated with both Apple and Google.

The other claim was that fewer Rust maintainers are paid to work on Rust. But there are in fact quite a few people paid to work on Rust full time, and there have been throughout its history; most obviously at Mozilla, but even though Mozilla has since let go of its Rust language team, Amazon has a significant team of Rust maintainers (several of them from Mozilla), and I believe Facebook, Microsoft, Intel, and possibly Google do as well.

So as far as I can tell, (early) GCC, Linux, and Rust all have a mix of paid and unpaid maintainers.

[–] stsquad@lemmy.ml 1 points 8 months ago (2 children)

I added gitdm stats awhile back although the mappings could certainly do with some clean-up. For the last year of activity the stats are:

Top changeset contributors by employer
Red Hat                   1807 (17.6%)
juzhe.zhong@rivai.ai       814 (7.9%)
AdaCore                    795 (7.8%)
ARM                        778 (7.6%)
SUSE                       649 (6.3%)
Intel                      475 (4.6%)
Code Sourcery              366 (3.6%)
Automatic Admin            360 (3.5%)
pierre-emmanuel.patry@embecosm.com  347 (3.4%)
IBM                        201 (2.0%)

Top lines changed by employer
juzhe.zhong@rivai.ai      1392979 (25.9%)
SiFive                    1236220 (23.0%)
Code Sourcery             676611 (12.6%)
Red Hat                   416369 (7.8%)
ARM                       309116 (5.8%)
gaiusmod2@gmail.com       300270 (5.6%)
chenxiaolong@loongson.cn  174876 (3.3%)
Automatic Admin           160200 (3.0%)
Intel                     86657 (1.6%)
AdaCore                   60414 (1.1%)
[–] BatmanAoD@programming.dev 1 points 8 months ago (1 children)

Sorry, what project is this? GCC?

[–] stsquad@lemmy.ml 1 points 8 months ago (1 children)

Sorry yes this was GCC, I can do the same for the rust repo if you want.

[–] BatmanAoD@programming.dev 1 points 8 months ago (1 children)

That would be helpful! Thank you.

[–] stsquad@lemmy.ml 3 points 8 months ago* (last edited 8 months ago)

It looks like a lot of mappings need adding as most people come up as unknown:

EDIT updated with newer mappings.

Top changeset contributors by employer
(Unknown)                 11190 (62.7%)
(None)                    4280 (24.0%)
Huawei                     862 (4.8%)
Ferrous Systems            630 (3.5%)
Academics (various)        563 (3.2%)
Red Hat                    124 (0.7%)
Google                     102 (0.6%)
Microsoft                   59 (0.3%)
IBM                         28 (0.2%)
Funky                       11 (0.1%)

Top lines changed by employer
(Unknown)                 1018418 (56.9%)
(None)                    484385 (27.0%)
Academics (various)       118247 (6.6%)
Ferrous Systems           100533 (5.6%)
Huawei                    45443 (2.5%)
Red Hat                   16009 (0.9%)
Microsoft                 3359 (0.2%)
Google                    2844 (0.2%)
Funky                      447 (0.0%)
IBM                        388 (0.0%)

the top contributors over the last year were:

Developers with the most changesets                                                                                                                                          
Michael Goulet            1027 (5.7%)                                                                                                                                        
Nicholas Nethercote        789 (4.4%)                                                                                                                                        
Ralf Jung                  763 (4.3%)                                                                                                                                        
Camille Gillot             727 (4.1%)                                                                                                                                        
Lukas Wirth                640 (3.6%)                                                                                                                                        
Guillaume Gomez            583 (3.3%)                                                                                                                                        
bjorn3                     550 (3.1%)                                                                                                                                        
Oliver Scherer             470 (2.6%)                                                                                                                                        
Michael Howell             293 (1.6%)                                                                                                                                        
Waffle Lapkin              266 (1.5%)                                                                                                                                        
Esteban Küber              251 (1.4%)                                                                                                                                        
Zalathar                   249 (1.4%)                                                                                                                                        
lcnr                       247 (1.4%)                                                                                                                                        
y21                        221 (1.2%)                                                                                                                                        
Jynn Nelson                188 (1.1%)                                                                                                                                        
Urgau                      187 (1.0%)                                                                                                                                        
Nilstrieb                  170 (1.0%)                                                                                                                                        
Centri3                    169 (0.9%)  
hamidreza kalbasi          164 (0.9%)
Pietro Albini              156 (0.9%)     

Developers with the most changed lines                                                
Laurențiu Nicola          163716 (9.1%)
Philipp Krones            118974 (6.6%)                                               
Lukas Wirth               100948 (5.6%)
Camille Gillot            94829 (5.3%)                                                
Oleksandr Babak           89625 (5.0%)
Michael Goulet            83965 (4.7%)                                                
Oliver Scherer            39890 (2.2%)
Nicholas Nethercote       39484 (2.2%)
Ralf Jung                 38113 (2.1%) 
hamidreza kalbasi         34576 (1.9%)
Ben Kimock                33647 (1.9%)
Guillaume Gomez           30774 (1.7%)
bjorn3                    29218 (1.6%)
Zalathar                  26214 (1.5%)
Esteban Küber             24612 (1.4%)
Alex Macleod              23724 (1.3%)
y21                       20447 (1.1%)
Centri3                   20168 (1.1%)
Urgau                     19964 (1.1%)
Michael Howell            19795 (1.1%)
[–] BatmanAoD@programming.dev 1 points 8 months ago (1 children)

I didn't know about gitdm; that's a handy tool! Looks like those are just based on the domain of the email addresses used for commits, so it doesn't necessarily indicate whether the company employees people specifically to work on GCC. But I think you're right, that does indicate quite a lot of corporate support for the project.

[–] stsquad@lemmy.ml 1 points 8 months ago

The gitdm scripts come from LWN who do a regular "who writes the kernel" report but can work on any git repo.

You can be fairly certain that patches coming from a corporate domain are paid for their time. You can add extra metadata to track people who use personal or org addresses if they confirm it's a paid gig. The project I work on most is about 75% paid contributors with hobbyists and academics making up the rest. The good unpaid contributors can often get hired if they want to be.