• BatmanAoD@programming.dev
    link
    fedilink
    arrow-up
    13
    ·
    edit-2
    11 months ago

    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
      link
      fedilink
      arrow-up
      8
      ·
      11 months ago

      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
        link
        fedilink
        arrow-up
        1
        ·
        11 months ago

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

        • Alex
          link
          fedilink
          arrow-up
          6
          ·
          11 months ago

          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
            link
            fedilink
            arrow-up
            1
            ·
            11 months ago

            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.

            • Alex
              link
              fedilink
              arrow-up
              1
              ·
              11 months ago

              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
                link
                fedilink
                arrow-up
                1
                ·
                11 months ago

                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.

                • Alex
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  11 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.

                • Alex
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  11 months ago

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

  • Anders429@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    11 months ago

    I used to work at a company that held to the concept of “don’t be a hero.” Basically, if you were having to step up, work overtime, and always go out of your normal routine to “fix” stuff, then you’re actually enabling bad processes.

    I think the same concept applies here. If you can’t let any code be submitted without personally reviewing it, then there is something wrong with either the review system, the onboarding system for new devs, or the continuous integration system that should be catching mistakes. Same goes for triaging: if no one is triaging because it’s too exhausting and leads to burnout, then some other system may need to be devised for handling outstanding issues.

    Obviously this is much harder to deal with in an organization where most contributors are volunteers. But if we want the project to survive and not be taken over by corporations who can afford to pay people to deal with this stuff full time, I think it should be addressed in a different way.

  • sugar_in_your_tea@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    ·
    11 months ago

    Thanks for the post!

    I’m obviously not the target audience, but I really like the idea of treating maintaining a FOSS project as a job. Fix how much time you’ll spend on it, set expectations, etc, and remember that you can quit and rejoin at any time (just notify the rest of the team that you need a break).

    I appreciate all the hard work Rust maintainers put in, and I wish I was in a position to help out (I’d just get in the way). Please take the time off you need, the Rust project is in a good spot right now and new things can wait.