Servo VS oso

Compare Servo vs oso and see what are their differences.

Servo

Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine (by servo)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Servo oso
133 16
25,973 3,387
2.0% 0.9%
10.0 6.7
6 days ago about 1 month ago
Rust Rust
Mozilla Public License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Servo

Posts with mentions or reviews of Servo. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-21.
  • Bringing Exchange Support to Thunderbird
    2 projects | news.ycombinator.com | 21 Apr 2024
  • CSS for Printing to Paper
    15 projects | news.ycombinator.com | 3 Mar 2024
    > Is there any easy to use/hack HTML layouting engine where I could experiment with custom CSS attributes and bridge that gap? Would anything from Servo be suitable?

    Servo could be used for this. You'd want to add support for parsing the CSS properties themselves to the style crate in https://github.com/servo/stylo and then the layout implementation to the layout2020 crate in https://github.com/servo/servo. You do effectively get a whole browser though.

    I'm currently working on building a lighter weight / hackable layout engine based on a combination of https://github.com/servo/stylo (for css parsing and selector resolution), https://github.com/DioxusLabs/taffy (for box-level layout) and https://github.com/pop-os/cosmic-text (for flow/inline layout). I expect to have something decent in around 6 months

    Neither of these setups currently have any support for pagination though.

  • The Ladybird Browser Project
    8 projects | news.ycombinator.com | 6 Feb 2024
    Great to see some competition still alive in browser engine development. See also Servo (previously part of Mozilla) https://servo.org/ - that and Ladybird are still very underdeveloped compared to every day browsers.

    It's a huge shame that there are no nightly builds of ladybird to try out but I assume that's because they just don't want the bug reports (if everything doesn't work it's pointless getting random bugs filed).

  • Mozilla's Abandoned Web Engine 'Servo' Project Is Getting a Well-Deserved Reboot
    4 projects | news.ycombinator.com | 6 Feb 2024
    I haven't messed with it yet but from looking into it, this should absolutely work.

    https://github.com/servo/servo/wiki/Building-on-ARM-desktop-...

  • An open-source browser engine written in Rust
    2 projects | news.ycombinator.com | 24 Jan 2024
    don't know, there was a downtime in 2021 and 22 but since 2023, contributions look back to where it was before .. https://github.com/servo/servo/graphs/contributors
  • Modern Java/JVM Build Practices
    9 projects | news.ycombinator.com | 4 Jan 2024
    The world has moved on though to opinionated tools, and Rust isn't even the furthest in that direction (That would be Go). The equivalent of those two lines in Cargo.toml would be this example of a basic configuration from the jacoco-maven-plugin: https://www.jacoco.org/jacoco/trunk/doc/examples/build/pom.x... - That's 40 lines in the section to do the "defaults".

    Yes, you could add a load of config for files to include/exclude from coverage and so on, but the idea that that's a norm is way more common in Java projects than other languages. Like here's some example Cargo.toml files from complicated Rust projects:

    Servo: https://github.com/servo/servo/blob/main/Cargo.toml

    rust-gdext: https://github.com/godot-rust/gdext/blob/master/godot-core/C...

    ripgrep: https://github.com/BurntSushi/ripgrep/blob/master/Cargo.toml

    socketio: https://github.com/1c3t3a/rust-socketio/blob/main/socketio/C...

  • Top 10 Rusty Repositories for you to start your Open Source Journey
    11 projects | dev.to | 19 Dec 2023
    1. Servo
  • ❓ Is Google flagging activity from Firefox and targeting uBlock?
    1 project | /r/firefox | 7 Dec 2023
    It won't don't worry. There already are forks, for the worst case scenario. And Servo is on its way. Not yet ready, but it will be. Originally, from Mozilla kitchen.
  • Populating the page: how browsers work
    2 projects | news.ycombinator.com | 13 Oct 2023
    To pain broad strokes, the layout phase (~= take the HTML, take the CSS, determine the position and size of boxes) is largely sequential in production browser engine today. Selector matching (~= what CSS applies to what element) is parallel in Firefox today, via the Stylo Rust crate originally developed in the research browser engine Servo. Servo can do parallel layout in some capacity (but doesn't implement everything), https://github.com/servo/servo/wiki/Servo-Layout-Engines-Rep... is an interesting and recent document on the matter.

    Parallel layout is generally considered to be a complex engineering problem by domain experts.

    https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-en... is a really cool article that is related, that is a few years old but what it says is largely correct today.

  • Rusty revenant Servo returns to render once more
    5 projects | news.ycombinator.com | 27 Sep 2023
    [Article author/submitter here]

    I can only tell you that it is not what this is about, inasmuch as I was at the talk and there was not a single mention of Firefox Reality or Wolvic in the talk.

    Wolvic might use Servo – but I think if it did they would mention it, right?

    The talk didn't and the word "Wolvic" does not occur anywhere on https://servo.org

    So I am guessing not, no.

    Igalia has -- or rather is because it's a co-op -- about 100 developers. They are not all working on the same thing.

oso

Posts with mentions or reviews of oso. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-02.
  • Who's hiring developer advocates? (October 2023)
    4 projects | dev.to | 2 Oct 2023
    Link to GitHub -->
  • Show HN: ILLA is an Open-source alternative to Retool
    6 projects | news.ycombinator.com | 19 Nov 2022
    Not OP but Authentication is easy, authorization is a cross-cutting concern that often requires custom code. E.g., there are people and teams, both of which can have different kinds of access to something (read/write). Sometimes teams have sub-teams. Do the sub-teams have access to the parent teams' resources and/or vice versa? Also what kind of sharing are you going to support? Do people have to have an account to view stuff shared to them or can you just send a link? There are some efforts to make custom DSLs for describing authorization policies, to avoid cross-cutting code[1].

    Computed fields require different treatment at every level of the stack. This isn't inherently hard, but it is an extra feature these low-code/no-code platforms need. Where things get difficult is inn migrations. It's common for a field that is computed at the beginning to become customizable, or for the computation to change. When that happens, what should the value be for old columns? Computed fields also often pull data from multiple other tables, which may require some combination of custom queries and database optimization.

    [1] https://github.com/osohq/oso

  • Resource-based authentication
    5 projects | /r/ExperiencedDevs | 15 Aug 2022
    Oso and OpenFGA are two alternatives that implement Zanzibar-style authorisation.
  • Oso - batteries-included framework for building authorization in your application.
    1 project | /r/github_trends | 18 May 2022
  • Decoupling Authorization Logic from Code in NodeJS
    4 projects | /r/node | 29 Mar 2022
    There's Oso as well
  • Is Datalog a good language for authorization?
    4 projects | news.ycombinator.com | 19 Feb 2022
    Well this was fun to see! I'm the CTO of Oso, where we're building Polar (the second of the links mentioned https://docs.osohq.com/).

    I have a few really minor nitpicks, so will try and make up for it by adding to the discussion :)

    First of all, it doesn't really make sense to talk about Datalog as a good language for authorization, because much like with Prolog there doesn't really exist a single implementation of it. OPA's language Rego is a datalog variant, and Polar started out as a Prolog variant (although it's not really recognisable as one any more).

    And that's an important point because otherwise it would be pretty reasonable to decide that: logic programming is good for authorization => you should go find the most battle-tested language out there and use that. For example, there's SWI Prolog [1] and Scryer Prolog [2] as two of my favourites.

    To me, the thing that is mind-blowing about logic programming, is (a) how powerful the paradigm is, and (b) how concisely you can implement a logic programming language. Take miniKanren [3] which is a full-blown logic language in a few hundred lines of code.

    In my mind, the original article makes a decent case that logic programming is a good fit for authorization. And just generally I love anyone bringing attention to that :)

    But to me, the reason logic programming is such a solid foundation for authorization logic is the pieces you can build on top of it. For Polar, we've added:

    - Types! So you can write authorization logic over your data types and help structure your logic. We've implemented this by simply adding an additional operator into the language that can check types

  • Hey Rustaceans! Got an easy question? Ask here (52/2021)!
    11 projects | /r/rust | 27 Dec 2021
    First time hearing about rhai, but there's a project in that space called Oso that's authored in Rust and uses a different DSL than Rego. You may or may not find it appealing.
  • Hey Rustaceans! Got an easy question? Ask here (44/2021)!
    5 projects | /r/rust | 2 Nov 2021
    Authentication is probably the aspect of it that's the weakest. Authorization has a few nice libs, with Oso probably being the nicest, but authentication is mostly roll your own from what I've seen.
  • We Built a Cross-Platform Library with Rust
    3 projects | news.ycombinator.com | 27 Oct 2021
    > Hopefully Oso open source their library.

    https://github.com/osohq/oso seems to have the core, C FFI, and language bindings.

    1 project | news.ycombinator.com | 25 Oct 2021
    Thanks! PHP is a highly requested language for us and we've been rolling them out based on demand. You can vote for it if you want here https://github.com/osohq/oso/issues/791

What are some alternatives?

When comparing Servo and oso you can also consider the following projects:

tauri - Build smaller, faster, and more secure desktop applications with a web frontend.

CASL - CASL is an isomorphic authorization JavaScript library which restricts what resources a given user is allowed to access

webview - Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows).

node-casbin - An authorization library that supports access control models like ACL, RBAC, ABAC in Node.js and Browser

qtwebengine - Qt WebEngine

OPA (Open Policy Agent) - Open Policy Agent (OPA) is an open source, general-purpose policy engine.

xi-editor - A modern editor with a backend written in Rust.

django-guardian - Per object permissions for Django

xsv - A fast CSV command line toolkit written in Rust.

django-rules - Awesome Django authorization, without the database

Fractalide - Reusable Reproducible Composable Software

Ory Keto - Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models.