The Rust Foundation Maintainers Fund

(rustfoundation.org)

65 points | by amalinovic 9 hours ago ago

79 comments

  • mperham 8 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 8 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 7 hours 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 7 hours ago

    Why doesn't Zig attract the same sort of lukewarm response that Rust does from parts of communities?

    • Macha 7 hours 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).

      • NobodyNada an hour ago

        > 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").

        I think that this effect is...more real and intentional than I wish it was or think is healthy.

        There's no denying that Rust benefited greatly from heavy "language evangelism" from around 2014-2022 or so (rough subjective range of dates, ending with when I feel like Rust became sufficiently mainstream that "comment section evangalism" is no longer the primary driver of the language's growth). The atmosphere that surrounded the language evangalism during this era -- from my recollection as someone who was aware of Rust but explicitly not interested in it at the time -- felt like one of curiousity and exploring new innovation in the programming language design space, and it didn't come across as pushy or some kind of moral imperative.

        Additionally, most of the evangelism was not driven by the Rust project itself, but more of a grassroots thing from:

        - Early users

        - People who thought the language was interesting without having used it

        - The attention that came from prolific early Rust projects like Servo and ripgrep

        - The attention that came from the language's technical innovations

        (The only person I remember regularly seeing in Rust threads who was actually associated with the project was Steve Klabnik, and I consider him a stellar example of how to represent a project online in a way that's respectful and not pushy or combative.) And eventually I had a programming task where, thanks to those deep, insightful, and respectful comment threads, I recognized that Rust was the right tool for the task I was trying to accomplish, learned the language myself, found it a joy to use, and began using it more regularly.

        But once Rust became mainstream, the eternal September kicked in. Now there seem to be quite a lot of people who are more interested in "language wars" than in healthy, technical discussion of programming languages, and it's exhausting. Many threads about C or C++ or Rust or Zig or Fil-C or whatever seems to get overtaken by these obnoxious, repetitive, preachy, ideological comments about why you should or shouldn't be using Rust, often with very ill-informed armchair takes.

        I think this is just something that comes from mainstream Internet culture and is not very representative of "the Rust community", and especially not the Rust project -- most of the serious writing and comments coming from people actually involved with Rust have that spirit of respect, openness, and curiousity about programming language design that I remember from the 2010's. A lot of people who work on Rust are deeply interested in the tradeoffs and innovations of new programming languages and fundamentally excited about the possibility of Rust becoming obsolete because something better has come along. But now that Rust adoption is increasing and the broader Internet culture is being forced to consider it, you see a lot of unhealthy reactionary takes from people who act like programming languages are a zero-sum game and they need to pick a side.

        Now Zig is where this gets a little bit odd to me. My impression (as an outsider to the Zig community as well) is that Zig's leadership has chosen to view adoption as a zero-sum language war. It's as if they considered:

        - How Rust benefited from language evangelism during the 2010's

        - How many other "C-replacement" languages over the past 25 years have failed to gain large-scale adoption

        - How "language war" discourse is extremely effective for enagement on places like HN

        ...and decided that the best way to increase Zig adoption is by intentionally leaning into that high-engagement "language war" discourse. Maybe it's not intentional -- and there's certainly a lot of cool ideas and high-quality technical discussion that comes out of the Zig community -- but I've also seen a consistent pattern of snarky or hostile comments from Zig leadership towards Rust people (such as calling Rust users "safety coomers", or jumping into in-depth technical discussions of Rust's downsides like compiler performance with substance-less cheap shots). Whereas I can't remember ever seeing anything but respect and curiosity from people involved in the Rust project towards other communities.

        I'm just tired of seeing people draw battle lines around programming languages instead of promoting a spirit of learning from each other and making our tools better.

    • RustSupremacist 5 hours ago

      The perception of Zig and Rust within different communities can vary, and Zig may not attract the same level of "lukewarm response" as Rust due to several factors, including their design philosophies, target use cases, and community engagement.

      Zig's appeal lies in its deliberate simplicity and explicitness, offering a different path to high-performance, low-level programming compared to Rust's safety-first, more complex approach. This divergence in philosophy and implementation leads to different reception within the programming community.

    • 7 hours ago
      [deleted]
    • stusmall 7 hours 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 5 hours 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?

        • stusmall 4 hours ago

          > Non-negligible from what perspective?

          Non-negligible in that it happens in almost every thread about rust. As in it isn't a rare occurrence.

    • okanat 5 hours 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.

  • RustSupremacist 5 hours ago

    The Rust Foundation is a 501(c)(6) and not a 501(c)(3). The Rust Foundation would do better for the community if they were a 501(c)(3) and more transparent about finances.

    There is no need for a new fund, the existing funds should be directed towards development and there should be greater transparency about how funds are gathered and spent.

    This post is devoid of details and action. It should read that the Rust Foundation is going to convert to a 501(c)(3) and ensure that current funds are spent on development. Otherwise, this is a shell game with the existing funds and how they are going to be spent. Understand that sleight of hand bodes poorly and suggest impropriety.

  • telestew 8 hours ago

    bit sad that I misread "Fund" in the title as "Feud" at first and didn't think anything of it

  • chekibreki 7 hours ago

    [flagged]

  • LucidLynx 8 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 8 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 8 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 6 hours 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 8 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 7 hours 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 8 hours ago

      > non-political community

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

      • Certhas 8 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 7 hours 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".

          • roommin 2 hours ago

            "Societal default" here doesn't explicitly mean laws.

      • echelon 8 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 7 hours 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?

        • shayway 5 hours ago

          Just want to say I appreciate you publicly taking this stance (on what appears to be a non-throwaway account, no less). As a fellow LGBT person I feel so alienated from other progressive-leaning people and communities because of my belief in how those who don't share my beliefs should be treated.

          When saying these things out loud can be social suicide, well, it means a lot to see someone else say it first. So thanks. I hope tolerance can come back into fashion.

          • quamserena 4 hours ago

            This is all fun and games until a “politically neutral” decision is made by a programming language foundation to refer to all trans people using they/them. How would that make you feel?

            • eeeesh 3 hours ago

              The most politically neutral decision in this case would be to let people refer to others with whichever pronouns accord to the speaker's beliefs, without reprimand.

              • quamserena an hour ago

                That is absolutely not politically neutral.

            • shayway 4 hours ago

              You would consider that decision politically neutral?

              • roommin 2 hours ago

                So you can see why they put it in scare quotes. Just above your reply another says it's politically neutral to adopt whatever pronouns the speaker feels is valid, and not punish them for it. This is "neutral" in that it sides with the speaker regardless of who they are, but is clearly designed to allow bigots to misgender freely. That is the point, "neutral" is not so trivially defined, and often falls on the side of more conservative societal trends.

                • quamserena an hour ago

                  Thank you, this is exactly what I was getting at.

        • JoshTriplett 7 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 7 hours 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 7 hours ago

              There is a wide gulf between "I don't like this person" and "this person's whole existence should be a crime".

            • JoshTriplett 7 hours 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 6 hours 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.

                • tczMUFlmoNk 3 hours ago

                  College athlete Lia Smith died by suicide last week after years of targeted harassment and attacks from the people we're talking about. At some point, when the institutions of power do everything they can to demonize your existence, strip you of your accomplishments, and vilify you publicly—across millions of people nationwide—it doesn't matter whether you call it murder or not. The deaths rack up all the same.

                  • Oper_52 2 hours ago

                    Perhaps it would be best not to spread unverified speculation about possible reasons for someone choosing to die by suicide.

                  • 2 hours ago
                    [deleted]
                  • 2 hours ago
                    [deleted]
              • echelon 7 hours 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 6 hours 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 6 hours 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 8 hours ago

        [dead]

    • oli-obk 8 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 8 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 6 hours 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 6 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...

        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

      • nixpulvis 8 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 7 hours 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 7 hours ago

            This has been tried a few times, and in practice, people prefer the current status quo.

            • vacuity 7 hours 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 6 hours ago

                Oh yeah, I would agree with that for sure.

        • Ygg2 7 hours 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 6 hours 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 6 hours ago

            If Chrono were in std, that would have been a disaster IMO.

            • Ygg2 6 hours ago

              Not exactly chrono crate (to quote "chrono or equivalent"). More like Java's version of chrono.

              • burntsushi 6 hours 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?

                • Ygg2 5 hours ago

                  What problems does Java JSR 310 have (old Java time yes, but those are known issues)? As far as I have used it, it was damn near perfect.

      • MisterTea 8 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.

    • johnisgood 8 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 7 hours ago

        I have to disagree. Rust is not even close to behemothness of C++.

        • johnisgood 7 hours ago

          Perhaps, but it is definitely not a C replacement, but a replacement of C++.

          • vacuity 7 hours ago

            I think Rust primarily being a C++ replacement has been acknowledged ever since it was considered for use in Firefox.

            • steveklabnik 7 hours 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 7 hours ago

            It’s hard to argue with that. However, I don’t see how it’s relevant to this particular discussion.

      • doyougnu 7 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 8 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 8 hours ago

      Everything is political, people are picking sides, and I'm on the same side as Rust

      • vacuity 7 hours ago

        Is "Rust" a homogeneous blob of beliefs that you can side with?

        • roommin 2 hours ago

          They didn't imply it's a homogeneous blob, but if they have beliefs they state and enact one can agree with those.

      • oguz-ismail 8 hours ago

        [dead]

    • renewiltord 3 hours ago

      The biggest annoyance for me is that if you somehow say you use Rust and you make money, the community will descend upon you like vultures saying you need to donate. Honestly, they should just amend their license to be like the Meta Llama License since the community clearly desires that kind of thing greatly.

      I do like Rust, but I steer clear of the community because of this tithe-seeking nonsense.

    • BoredPositron 7 hours 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.