The Rust Foundation Maintainers Fund

(rustfoundation.org)

61 points | by amalinovic 3 hours ago

5 comments

  • mperham 2 hours ago
    It's interesting to note that this doesn't actually discuss any funding details. Who, how much, when, how? The devil is always in the details.
    • oli-obk 2 hours ago
      Yea, this is just the "find money" side of things. We're figuring out the details of how to decide what/who to fund in parallel
    • stefanos82 1 hour ago
      If you go to the main page and scroll down a bit, you will see the big names having their logos hosted there...
  • boje 1 hour ago
    Why doesn't Zig attract the same sort of lukewarm response that Rust does from parts of communities?
    • Macha 1 hour ago
      Rust came first, so people who didn't like Rust flocked to Zig as an alternative, and were keen to promote it as an alternative to Rust by criticising Rust, as wider usage would provide them more of an ecosystem to use in their own Zig programs.

      People who were happy with Rust didn't have same need to criticise Zig in online spaces as Rust is the established player in the C alternatives space. (Though Rust is on the other side when compared to C once you expand the space to "all low level programming languages").

      Also for people who don't care about the space at all, Rust has had years of exposure to promote fatigue, while Zig hasn't (yet).

    • okanat 9 minutes ago
      This will be anecdotal. However both in the academia and in the semi-professional space, I encountered certain type of programmer who is a bit more "religiously minded" (both in the technical space and quite often in their personal beliefs too). Unix, although being a quite commercial project, its academic origins attracted a kind of followers, who believe there is a certain purity we can reach with computers or software that's not bound to the practical and economic use-cases. This forms an identity and they tend to regard programmers who are in this ecosystem as gods or prophets. The origins of Unix is also mixed with the free software movement due to both academic origins and regarded as a one continuous movement.

      C language is strongly tied to Unix ecosystem. C language and current compilers give this illusion of "ultimate control" to the programmers (although C has been interpreted quite freely for the sake of optimizations). With GNU C compiler finding a niche (i.e. being a free as in beer C compiler and a userland that's not bounded by the original Unix or BSD licensing / patents) and taking off in many servers the beliefs were kind of validated.

      Rust attacks those beliefs in multiple fronts:

      First and foremost, Rust comes from an inherent distrust to the programmer's abilities to write secure software. Rust creates strong obstacles against writing "magic" programs that freely interpret memory. Programmers are not treated as gods but fallible mortals who needed to be guided. Many C programmers interpret this as an insult to their abilities to manually check and verify a program. Rust is no less capable than C, it has all sorts of escape hatches that can be used in performance critical parts.

      Rust compiler itself and the most of the programs written in Rust are permissively licensed. This is to avoid possible issues with copyleft licenses combined with statically linked binaries. Without having a stable ABI or ability to incorporate third party libraries post-build, GPL and LGPL create hurdles that doesn't exist in the mostly dynamically compiled world of C.

      Rust has a more equal regard of the operating systems, including non-POSIX ones like Windows. Despite most people in the world interact with non-POSIX APIs the most, accepting it as another step.

      Rust community tries its best to create a safe space for marginalized parts of the society. Go to any Rust conference and you'll see an over-representation of LGBTQ people. This probably rubs majorly white male subset of strongly identifying C programmers up wrong way.

      The community also welcomes a bunch of different ways of thinking and questioning the basics of every single decision we made when we were building the systems of today.

      Zig, on the other hand doesn't attack any of those "base principles". It fixes the most annoying parts of C programming: fluid integer types, really weak type system, hostile dependency management. It still trusts the programmer 100%. The default behavior is still unsafe.

      People who choose Rust are also particularly worried about the security of the programs and they would like to prove and validate the language's existence and goals. They do that by reimplementing very popular and very senior projects in Rust and compare its performance and safety against existing C projects too. Many such projects have enjoyed a long time of no competition and now there is one.

    • stusmall 1 hour ago
      It isn't all of the objection, but there is a non-neglible amount of anti-woke people who find some weak technical reason to hate rust. It's silly but you'll be amazed in how often you see it line up when checking a random sampling of people who show up in rust threads just to make off topic complaints about rust.

      EDIT: I hadn't fully gone through the comment section on this one yet and yikes it's worse about it than normal.

      • fishmicrowaver 10 minutes ago
        Non-negligible from what perspective? Is this group of people somehow holding back unbridled adoption and enthusiasm for Rust? Is it possible for tech people to drum up excitement for a newer language without it being political just because you insist that it is?
  • telestew 2 hours ago
    bit sad that I misread "Fund" in the title as "Feud" at first and didn't think anything of it
  • chekibreki 1 hour ago
    1. tl;dr and full of low-information and cringe vocabulary such as „excited“, „thrilled“, „challenge“, … Why are they wasting the readers time with this?

    2. I would support because I like and use Rust but only if I have guarantees that the money will be spend only on developers who are selected merely by technical contributions and not based on political beliefs, gender, race, etc. And unfortunately from what I’ve heard the Rust community is one of the snowflakiest communities on the internet. I don’t want to fund that.

  • LucidLynx 3 hours ago
    I would actually support the Rust Foundation (and the Rust programming language itself) if the language had respected the promises it made in early 2012 / 2013 (the year I adopted the Rust programming language for my software):

    * A programming language simpler than C++...

    * That does not change so much accross time (maybe the biggest lie here)...

    * With great design changes and adoption (it was before async/await, obviously)...

    * Abstracted from big companies (again a lie, as Amazon hires most of the heads of the Rust programming language now)...

    * With a great non-political community (actually, this is the biggest lie of all).

    To me, it is a mess.

    • steveklabnik 2 hours ago
      Where were these things promised to you? I was there then too, and maybe one or two of these things were relevant if you squint, but also many of them were actively not promised.
      • ratmice 2 hours ago
        > * With a great non-political community (actually, this is the biggest lie of all).

        I recall the opposite, that the rust language (before the foundation) position was that being apolitical was a political stance. This is not the exact message I remember https://x.com/rustlang/status/1267519582505512960 and also can't realistically cover the entire community at large, as if that even has a single political stance.

        • jdright 1 hour ago
          The group that insists on keeping a community or software project 'non-political' often fails to recognize that this stance is itself a political position. They claim to want a neutral space, but what they really mean is that the existing political view does not align with their own. By dismissing other perspectives as 'political' while treating their own as neutral, they end up being both hypocritical and unwilling (or unable) to acknowledge that their opinions are political too.
      • LucidLynx 2 hours ago
        I agree that those were not actually "promises" but "directions", and I apologise for that. Those directions were mainly cited in different conferences by some Rust-head-members at that time (Alex Crichton, Niko Matsakis, Ashley Williams, or even you), and during conversations I had with severals during Rust Fest or RustCon.

        For example, I remember talking that with you at the Rust Fest 2017, in Zurich actually, especially about the *very early version* of Async/Await.

        It is ok for the community to move on different directions than the first one, and I don't blame any of you for that.

        • steveklabnik 1 hour ago
          Niko and Alex were the only ones in leadership in 2013, I didn't until 2014, and Ashley later. Rust Fest and Rust Con didn't come along until much later.

          > It is ok for the community to move on different directions than the first one

          I agree, I just disagree with your characterization of "the first one." There were differences between the original Rust and what shipped, but almost none of it has to do with what you've said. In 2012-2013, Rust very explicitly changed a lot across time, and now it certainly does not. Async/await drove a lot of that adoption. Rust was always "political", even before 2012.

    • munificent 2 hours ago
      > non-political community

      "Non-political community" is an oxymoron, like "non-aquatic lake". Politics is the verb that communities do.

      • Certhas 2 hours ago
        Non-political almost always means "accept the social status quo I am used to".

        I think there is a reasonable argument that the default for a community with technical goals should be to accept social status quo conventions unless they conflict with the communities technical goals. But if the social default is "girls don't code and queers should hide" there is a reasonable counterargument that these conflict with the goal of making the technology (and community) available to everyone.

        • philipallstar 1 hour ago
          > But if the social default is "girls don't code and queers should hide"

          Queers should hide definitely isn't any social default unless the code is exclusively developed in Gaza. "Do what you like but please stick to technical considerations" isn't "you need to hide".

      • echelon 2 hours ago
        > "Non-political community" is an oxymoron

        No it's not.

        I'm an LGBT person with a trans partner and I find many codes of conduct to be chastising and purposefully finger pointing to conservative people.

        A lot of them are basically, "your religious teachings or cultural upbringing aren't welcome here"

        I don't agree with religious texts, but that's what you're wagging in their face with some of the CoCs.

        Leave it at "don't be an asshole". It's that simple.

        The current political climate, I feel, is a direct reaction to this.

        A politically neutral space wouldn't permit religious people to harass trans or LGBT people, but it also wouldn't give anyone latitude to throw stones the other way either.

        CoCs are "you're not welcome here at all".

        Another thing: you always see language and project logos modified to bear the rainbow, trans, and BLM colors. You never see anything supporting Asians, white people, men, or Christians. If you did this, you would be called out as a racist. Which is so ironic.

        Let's just get along and work together. Maybe we'll find more agreements amongst ourselves that way instead of trying to divide everyone into camps.

        Some progressives are going to get very pissed off at this comment, but I grew up and live in the South. You can (and often must) work with people you don't agree with. It's not impossible to be friends either. You might wind up changing their mind, and they might wind up making you more tolerant as well.

        • vacuity 1 hour ago
          I agree with you, although of course "don't be an asshole" is only simple to enforce in practice. In the current climate, I expect that people considered "conservative" will still be highly hostile to good faith (let alone not) enforcements.

          No matter the person, it's really disappointing that we're still entrenched in the mentalities of tribalism, anti-intellectualism, "if you're not with us, you're against us", "an eye for an eye", "someone hurt me, so I'm going to hurt someone", and so on. And by "person", that includes me.

          The Earth politics patch really can't come soon enough. How much do we pay the devs, again?

        • JoshTriplett 2 hours ago
          > You can (and often must) work with people you don't agree with.

          Life's for too short to force people to do this, and ideally we should make it as feasible as possible for as many people as possible to never have to do this.

          • pessimizer 1 hour ago
            This is a crazy notion. If I have to like everybody to work with them, we can't have a civilization because I don't like most people.

            I like some people. Everybody else I work with if they're willing to work with me. Saying that we all have to agree with each other is basically giving up on the political project entirely, and going back to strongman rulers who organize by demanding conformity. Very relevant in these times.

            > we should make it as feasible as possible for as many people as possible to never have to do this.

            No, we should make it impossible to avoid so people can't sneak into adulthood without being properly socialized.

            • abenga 1 hour ago
              There is a wide gulf between "I don't like this person" and "this person's whole existence should be a crime".
            • JoshTriplett 1 hour ago
              Nope. I won't work with people who think my friends shouldn't exist. And I won't work with people who think doing that is somehow childish.
              • Oper_52 1 hour ago
                > people who think my friends shouldn't exist

                What does this mean? Are you talking about people who openly support actual murder? Almost everyone is opposed to that, of course.

              • echelon 1 hour ago
                Imagine the flip side. We could easily wind up in that world too.

                The best defense against polarization is a strong and cohesive middle ground.

                If you pull to far in the other way, all the bonds break. And it's a race for each interest group to seize power, rather than having some intermediating force that serves as a buffer.

                Again: look at the political climate. It's a reaction. The pendulum is swinging harder and harder because we've given up on the middle ground.

                Most of the people you hate (and you do seem to dislike them at least a little bit) have honestly never had an LGBT friend. Imagine if they did how that might change them.

                Instead they hear voices from the LGBT community that want to outlaw them and their way of life. That's pretty hostile. And definitely is going to be met with the same attitude you're giving them.

                I'm LGBT and I have many conservative friends. They're more apt to come around to it than you believe. You're shutting down any conversation before it can even happen.

                • vacuity 1 hour ago
                  > Instead they hear voices from the LGBT community

                  Oftentimes, the voices are outside.

                  I think you're somewhat optimistic, and "the middle ground" is not a magical place. It's easy to fall into a false sense of security that comes from making (likely valid) criticisms of caricatured groups. Middle ground should not be sought for its own sake, or else it becomes useless (akin to Goodhart's law; roughly "when a measure becomes a target, it ceases to be a good measure"). People should embrace a diversity of values, but the burden is to stay true to a set of values and push for the truth.

        • clipsy 1 hour ago
          > A lot of them are basically, "your religious teachings or cultural upbringing aren't welcome here"

          Could you point out a code of conduct -- preferably from a large, well known project -- that reads this way in your opinion?

      • oguz-ismail 2 hours ago
        [dead]
    • oli-obk 2 hours ago
      Amazon fired every Rust project team member except Niko and weihanglo over the last year. Which is a major contributor to why the foundation started looking into funding maintainers
    • weird_trousers 2 hours ago
      I don't agree with some points, but I share the feeling in terms of "failed promises".

      The fact that most well-known Rust crates are becoming huge bloat are becoming a problem to me, which is something that has been critized years again by the community itself.

      As an example, I still do not understand why simple HTTP crates require more than 50 to 70 dependencies to execute a simple GET call...

      • escobar_west 55 minutes ago
        So let me get this straight. You want the benefit of being able to re-use other peoples' codebase by using an HTTP crate you didn't write. But you don't want those people to also use that benefit of depending on other crates.

        Insisting that you should depend on code which itself has no dependencies is a bit hypocritical if you ask me. If you want a simple HTTP crate that doesn't have dependencies, you should follow your own philosophy of not using other crates and write it yourself.

      • aw1621107 56 minutes ago
        > As an example, I still do not understand why simple HTTP crates require more than 50 to 70 dependencies to execute a simple GET call...

        Looking at ureq [0], for example, its direct non-build/non-dev dependencies are (counting duplicates):

        - base64

        - flate2 (4 transitive dependencies)

        - log

        - percent-encoding

        - rustls (26 transitive dependencies)

        - rustls-pki-types (1 transitive dependency)

        - ureq-proto (7 transitive dependencies)

        - utf-8

        - webpki-roots (2 transitive dependencies)

        The vast majority of the raw dependency count comes from Rustls and related crates, and I'd imagine reimplementing a TLS stack would be somewhat out of scope for an HTTP crate. I'm not sure there's much room for substantial reductions in dependency count otherwise.

        [0]: https://github.com/algesten/ureq

      • MisterTea 2 hours ago
        > As an example, I still do not understand why simple HTTP crates require more than 50 to 70 dependencies to execute a simple GET call...

        This is what you get with package managers.

      • nixpulvis 2 hours ago
        I think it's clear to me that Rust needs to start admitting more into the STD to help with this and increase the consistency across the ecosystem.
        • vacuity 1 hour ago
          No, I think the idea of blessing a set of crates (with versions!) is better. The stdlib has a high burden of maintenance, and ideally should only be added to if changes are always backwards compatible. A blessed set is more flexible but still provides a high degree of reliability, unlike the present situation.
          • steveklabnik 1 hour ago
            This has been tried a few times, and in practice, people prefer the current status quo.
            • vacuity 1 hour ago
              I'm not aware of the attempts, but at least the route of adding more to the stdlib seems even worse, although it may be popular.
              • steveklabnik 1 hour ago
                Oh yeah, I would agree with that for sure.
        • Ygg2 1 hour ago
          This has happened already. See https://doc.rust-lang.org/std/cell/struct.LazyCell.html

          It's just it's not frequent.

          There is very few things that need to be in the standard library. I only ever miss chrono or equivalent not being in std.

          • nixpulvis 1 hour ago
            Time functions are a prefect example of somewhere there should be expanded support for in the STD. I'm also of the opinion that there should be a generic and reasonable async runtime in STD, since having `async` in the language, but to direct way to use it without a crate or writing your own executor is awkward.

            Then there are things like serialization and logging, which I like the idea of having promoted crates which are essentially just better advertised for newcomers. (Maybe included in the distribution already in some way).

          • burntsushi 1 hour ago
            If Chrono were in std, that would have been a disaster IMO.
            • Ygg2 46 minutes ago
              Not exactly chrono crate (to quote "chrono or equivalent"). More like Java's version of chrono.
              • burntsushi 18 minutes ago
                But what if we did that 5 years ago? Oops. And even Java's API has problems too. Why not let it be provide by the ecosystem where it can qctually evolve?
    • johnisgood 2 hours ago
      > A programming language simpler than C++..

      That made me chuckle because both are quite the behemoths, as I have previously said. If they promised this, it was a lie indeed.

      • ekropotin 2 hours ago
        I have to disagree. Rust is not even close to behemothness of C++.
        • johnisgood 1 hour ago
          Perhaps, but it is definitely not a C replacement, but a replacement of C++.
          • vacuity 1 hour ago
            I think Rust primarily being a C++ replacement has been acknowledged ever since it was considered for use in Firefox.
            • steveklabnik 1 hour ago
              This whole idea of an "x replacement" doesn't make any sense in the first place. Language boundaries are not that strict. People say "Zig is a C replacement, Rust is a C++ replacement" but even Andrew Kelley himself says that Zig is a replacement for the C++ he was writing at the time. I work with a lot of C folks who never liked C++ who liked Rust.
          • ekropotin 1 hour ago
            It’s hard to argue with that. However, I don’t see how it’s relevant to this particular discussion.
      • doyougnu 2 hours ago
        I haven't dabbled in rust since 2018, but if rust has managed to be as complicated as C++ while being a fraction of the age then I would think that would be some kind of macabre achievement in its own right.
      • afdbcreid 2 hours ago
        Both are, indeed, and I don't know if this was ever promised, but Rust is way simpler than C++ (today, at least).
    • 01HNNWZ0MV43FF 2 hours ago
      Everything is political, people are picking sides, and I'm on the same side as Rust
      • vacuity 1 hour ago
        Is "Rust" a homogeneous blob of beliefs that you can side with?
      • oguz-ismail 2 hours ago
        [dead]
    • BoredPositron 1 hour ago
      I don't give a damn about politics so I don't care what politics the language I use likes or not. If someone believes people should not exists because of their political or religious stance, sexuality or origin. We don't have a political problem we have one of morality and I don't compromise in that regard.

      Edit: come on don't downvote explain your reasoning.