WASI VS cargo-crev

Compare WASI vs cargo-crev and see what are their differences.

WASI

WebAssembly System Interface (by WebAssembly)

cargo-crev

A cryptographically verifiable code review system for the cargo (Rust) package manager. (by crev-dev)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
WASI cargo-crev
45 55
4,634 2,041
2.3% 2.0%
6.9 7.7
10 days ago 4 days ago
Rust Rust
GNU General Public License v3.0 or later 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.

WASI

Posts with mentions or reviews of WASI. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-26.
  • WASI 0.2.0 and Why It Matters
    8 projects | news.ycombinator.com | 26 Jan 2024
    WASI Co-chair here. Nothing in WASI is "somehow blocked by Google", or indeed blocked by anyone at all. Graphics support in WASI hasn't been developed simply because nobody has put energy into developing graphics support in WASI.

    At the end of 2023 we counted around 40 contributors who have been working on WASI specifications and implementations: https://github.com/WebAssembly/meetings/blob/main/wasi/2023/... . That is a great growth for our project from a few years ago when that issue was filed, but as you can see from what people are working on, its all much more foundational pieces than a graphics interface. Also, if you look at who is employing those contributors, its largely vendors who are interested in WASI in the context of serverless. That doesn't mean WASI is limited to only serverless, but that has been the focus from contributors so far.

    By rolling out WASI on top of the WASM Component Model we have built a sound foundation for creating WASI proposals that support more problem domains, such as embedded systems (@mc_woods and his colleagues are helping with this), or graphics if someone is interested in putting in the work. Our guide to how to create proposals is found here: https://github.com/WebAssembly/WASI/blob/main/Contributing.m... .

  • WASI Launching Preview 2
    1 project | news.ycombinator.com | 25 Jan 2024
  • Missing the Point of WebAssembly
    2 projects | news.ycombinator.com | 9 Jan 2024
    > As I understand it, it's not even really possible today to make WebAssembly do anything meaningful in the browser without trampolining back out to JavaScript anyway, which seems like a remarkable missed opportunity.

    That's the underlying messy API it's built on. There are specs to make the API more standardized like https://github.com/WebAssembly/WASI

    But overall, yeah, it feels like a shiny new toy everyone is excited about and wants to use. Some toys can be fun to play with, but it doesn't mean we have to rewrite production systems in it. Sometimes, or most of the time, toys don't become useful tools.

  • Running WASI binaries from your HTML using Web Components
    4 projects | news.ycombinator.com | 28 Aug 2023
    Snapshot Preview 1 is the standard all tools are building to right now. The specification is available here: https://github.com/WebAssembly/WASI/blob/main/legacy/preview...

    It's pretty unreadable though!

    Preview 2 looks like it will be a big change, and is just being finalised at the moment. I'd expect that when preview 2 is available there will be an improvement in the quality of documentation. I'm not sure how long it will take after release for tools to start switching to it. I'd expect Preview 1 will still be the main target at least for the rest of this year.

  • WASI: WebAssembly System Interface
    1 project | /r/hackernews | 7 Aug 2023
    1 project | /r/hypeurls | 7 Aug 2023
    6 projects | news.ycombinator.com | 5 Aug 2023
    > Like WTF does this mean? The repo tells me nothing

    Directly above the sentence you quoted:

    "Interposition in the context of WASI interfaces is the ability for a Webassembly instance to implement a given WASI interface, and for a consumer WebAssembly instance to be able to use this implementation transparently. This can be used to adapt or attenuate the functionality of a WASI API without changing the code using it."

    > and I've still yet to see a clear write-up about what WASI is.

    In the same document: [0]

    > WTF is wit?

    The first link in that document ("Starting in Preview2, WASI APIs are defined using the Wit IDL.") is [1].

    > I click on "legacy" and I see preview0 and preview1, which are basically unreadable proto-specs.

    The README for the legacy directory [2] clearly explains what they are.

    > Where's a single well-written WASI spec?

    "Development of each API happens in its own repo, which you can access from the proposals list." [3]

    > Whatever WASI is doing, I don't like it.

    Clearly not - you've gone out of your way to ignore all of the documentation that answers your questions.

    > And neither does AssemblyScript team apparently

    The AssemblyScript team have a bone to pick with WASI based on their misunderstanding of what WASI is for (it is not intended for use on the web) and WASI's disinterest in supporting UTF-16 strings. You can see for yourself in [4].

    [0]: https://github.com/WebAssembly/WASI/tree/main#wasi-high-leve...

  • A Gentle Introduction to WebAssembly
    1 project | dev.to | 3 May 2023
    The Bytecode Alliance initiated a sub-project called the WebAssembly System Interface (WASI). WASI is an API that allows WebAssembly access to system features such as files, filesystems, Berkeley sockets, clocks, and random numbers. WASI acts as a system-level interface for WebAssembly, so incorporating a runtime into a host environment and building a platform is easier.
  • Spin 1.0 — The Developer Tool for Serverless WebAssembly
    17 projects | dev.to | 28 Mar 2023
    We are excited to contribute back to Wasmtime and the component model, as well as to new projects and proposals emerging in this space (such as new Wasm proposals, like WASI Preview 2, wasi-keyvalue, wasi-sql or wasi-cloud).
  • The Tug-of-War over Server-Side WebAssembly
    12 projects | news.ycombinator.com | 24 Mar 2023
    I've been reading the following repositories.

    https://github.com/WebAssembly/WASI/blob/main/Proposals.md

cargo-crev

Posts with mentions or reviews of cargo-crev. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-05.
  • Hard disk LEDs and noisy machines
    7 projects | news.ycombinator.com | 5 Jan 2024
    In other cases it may be more documented, such as Golangs baked-in telemetry.

    There should be better ways to check these problems. The best I have found so far is Crev https://github.com/crev-dev/crev/. It's most used implementation is Cargo-crev https://github.com/crev-dev/cargo-crev, but hopefully it will become more required to use these types of tools. Certainty and metrics about how many eyes have been on a particular script, and what expertise they have would be a huge win for software.

  • Rust Without Crates.io
    5 projects | news.ycombinator.com | 14 Nov 2023
    The main problem the author is talking about is actually about version updates, which in Maven as well as crates.io is up to each lib's author, and is not curated in any way.

    There's no technical solution to that, really. Do you think Nexus Firewall can pick up every exploit, or even most? How confident of that are you, and what data do you have to back that up? I don't have any myself, but would not be surprised at all if "hackers" can easily work around their scanning.

    However, I don't have a better approach than using scanning tools like Nexus, or as the author proposes, use a curated library repository like Debian is doing (which hopefully gets enough eyeballs to remain secure) or the https://github.com/crev-dev/cargo-crev project (manually reviewed code) also mentioned. It's interesting that they mention C/C++ just rely on distros providing dynamic libs instead which means you don't even control your dependencies versions, some distro does (how reliable is the distro?)... I wonder if that could work for other languages or if it's just as painful as it looks in the C world.

  • I don't care about cookies” extension bought by Avast, users jump ship
    2 projects | news.ycombinator.com | 7 Jun 2023
    For instance, the worst company imaginable may be in charge of software that was once FOSS, and they may change absolutely nothing about it, so it should be fine. However, if a small update is added that does something bad, you should know about it immediately.

    The solution seems to be much more clearly in the realm of things like crev: https://github.com/crev-dev/cargo-crev/

    Wherein users can get a clear picture of what dependencies are used in the full chain, and how they have been independently reviewed for security and privacy. That's the real solution for the future. A quick score that is available upon display everytime you upgrade, with large warnings for anything above a certain threshold.

  • I think there should be some type of crates vertification especially the popular ones?
    1 project | /r/rust | 17 Apr 2023
    The metrics on crates.io are a useful sniff test, but ultimately you need to review things yourself, or trust some contributors and reviewers. Some projects, like cargo crev or cargo vet can help with the process.
  • [Discussion] What crates would you like to see?
    16 projects | /r/rust | 11 Apr 2023
    You can use cargo-geiger or cargo-crev to check for whether people you trusted (e.g. u/jonhoo ) trust this crate.
  • Pip and cargo are not the same
    4 projects | news.ycombinator.com | 25 Jan 2023
    There is a similar idea being explored with https://github.com/crev-dev/cargo-crev - you trust a reviewer who reviews crates for trustworthiness, as well as other reviewers.
  • greater supply chain attack risk due to large dependency trees?
    11 projects | /r/rust | 4 Jan 2023
  • Why so many basic features are not part of the standard library?
    3 projects | /r/rust | 31 Dec 2022
    [cargo-crev](https://github.com/crev-dev/cargo-crev) looks like a good step in the right direction but not really commonly used.
  • “You meant to install ripgrep”
    9 projects | news.ycombinator.com | 17 Oct 2022
    'cargo crev' makes this kind of workflow possible: https://github.com/crev-dev/cargo-crev
  • Difference between cargo-vet and cargo-crev?
    2 projects | /r/rust | 22 Sep 2022
    The crev folks themselves are no fans of PGP but need a way to security identify that you are in fact the review author, so that's where the id generation comes in. Ultimately crev is just a bunch of repos with text files you sign with IDs. The nice property is that you can chain these together into a web of trust and it's unfortunate that vet doesn't just use the same signed files on repos model as a foundation because even if they don't trust anyone else, we could turn around and trust them.

What are some alternatives?

When comparing WASI and cargo-crev you can also consider the following projects:

.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

crates.io - The Rust package registry

webgpu-wgsl-hello-triangle - An example of how to render a triangle with WebGPU using WebGPU Shading Language - the "Hello world!" of computer graphics.

stackage - Stable Haskell package sets: vetted consistent packages from Hackage

threads - Threads and Atomics in WebAssembly

crates.io-index - Registry index for crates.io

wasi-libc - WASI libc implementation for WebAssembly

serde - Serialization framework for Rust

node-sqlite3 - SQLite3 bindings for Node.js

cargo-msrv - 🦀 Find the minimum supported Rust version (MSRV) for your project

gpuweb - Where the GPU for the Web work happens!

Rustup - The Rust toolchain installer