Full article: Firefox browser has started shipping Brave’s adblock-rust engine

After seeing a lot of backlash over Waterfox adding Brave’s adblock engine:

It looks like Waterfox is piggy-backing off of Firefox’s implementation (great!).

And it’s been there for a little while.

Mozilla bundled adblock-rust (Brave’s Rust-based adblock engine, the same one my team works on) into Firefox. Pretty exciting to see them finally start taking ad & tracker blocking seriously; I didn’t think I’d see this day. It landed in Firefox 149 via via Bugzilla Bug 2013888.

  • Matth@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    25
    ·
    2 days ago

    What’s the difference with ublock and why not contact ublock developer to propose to integrate it instead of what did Brave? Article don’t mention what is better with adblock rust! :-/

    • eleijeep@piefed.social
      link
      fedilink
      English
      arrow-up
      6
      ·
      2 days ago

      Probably for the same reason that Waterfox developers gave: Because uBO is GPL licensed and combining with an MPL licensed codebase makes things complicated for downstream developers who cannot GPL license their codebase.

      The Brave module is MPL licensed already.

      Sure, I would prefer that everything is GPL, but it’s not my project.

      • LordKitsuna@lemmy.world
        link
        fedilink
        arrow-up
        9
        arrow-down
        2
        ·
        2 days ago

        Yeah as much as I love ublock origin and use it heavily. I support more rust on more things. 60+% of browser CVE are memory issues. Rust was explicitly made to stop those.

          • LordKitsuna@lemmy.world
            link
            fedilink
            arrow-up
            2
            arrow-down
            3
            ·
            2 days ago

            No, but it’s nowhere near as strict in its management. Plenty of memory issues can still usually from unintentionally maintaining a reference to an object. forgotten global variables, uncleared timers (setInterval), or closures that stay in scope longer than necessary.

            And ofc you now have the performance overhead of GC constantly running