🥳 Contribute to the WasmEdge Project via the CNCF LFX Mentorship 2022 03-Sept-Nov

• 4 minutes to read

Do you ever feel it's hard to contribute to an open source project? You may not know where to get started. You may be a little shy to share your insights with other people. If you were, the LFX mentorship program (similar to GSoC) is for you!

If accepted as a mentee, you will be assigned experienced mentors from the WasmEdge team, and learn valuable software development skills. You will also receive a stipend of $3000 to $6600, depending on your location, so that you can focus on the work.

Contribute to the WasmEdge project via LFX Mentorship. Make your mark in Open Source, and earn a stipend of $3000 to $6600!

You will also gain

  • a remote learning experience
  • a chance to get hired by leading software companies using WasmEdge
  • learn new developer skills via one-to-one mentoring
  • Join one of the most exciting open source communities

A brief introduction of WasmEdge

WasmEdge is a cloud-native WebAssembly runtime hosted by the CNCF. It is widely used in modern web application architectures (Isomorphic & Jamstack applications), microservices on the edge cloud, serverless SaaS APIs, embedded functions, smart contracts, and smart devices.

WasmEdge is written in C++, and has SDKs for C/C++, Rust, Golang, and JavaScript. Learn more about technical highlights of WasmEdge.

We welcome all types of contributions — code, docs, integrations, specs, examples!

Issues for LFX Mentorship 2022 03-Sept-Nov

We have four mentee positions open same as the previous term. Each mentee will be expected to accomplish one of the following tasks. Those are high-impact work that can go on your professional resume for years to come. :)

For better collaboration, we set up a pre-test for each issue.

OpenCV SDKs for Wasm

WasmEdge supports AI frameworks such as Tensorflow, OpenVINO, and PyTorch. A compelling use case is computer vision applications on edge.

Computer vision applications need to pre-process images and videos into tensor formats before applying the AI model. They then often need to overlay the tensor results onto the original image. Our existing demos use the Rust image crate to process images. However, the crate only has limited features and is inadequate for many computer vision applications.

In the Python-based computer vision applications, the image pre-processing is often done with the Python wrapper for OpenCV library. The OpenCV library itself is written in C and can be compiled into WebAssembly. We would like to create an OpenCV SDK that allows WebAssembly applications to call OpenCV functions.

Github issue WasmEdge/WasmEdge#1747 | Pretest details | Apply this issue here

Node API support for WasmEdge QuickJS

The WasmEdge QuickJS runtime is a secure, fast, and lightweight JavaScript runtime for cloud-native applications. Compared with more established JavaScript runtimes like Nodejs and Deno, the WasmEdge QuickJS runtime provides runtime isolation and security at a very low overhead.

For WasmEdge QuickJS to be more widely adopted, it needs to support nodejs applications. WasmEdge QuickJS already supports NPM and CJS modules.

Github issue WasmEdge/WasmEdge#1745 | Pretest details | Apply this issue here

Porting OpenVINO on multiple platforms for the WASI-NN proposal in WasmEdge

The OpenVINO official release supports various platforms. WasmEdge supports the WASI-NN proposal with OpenVINO backend now, but only in Ubuntu 20.04. In this project, we want to port and integrate the OpenVINO installation for multiple platforms such as macOS, Windows, or manylinux with the WasmEdge WASI-NN plugin.

Github issue WasmEdge/WasmEdge#1742 | Pretest details | Apply this issue here

Support serialize and deserialize in WasmEdge

WasmEdge can load the WASM binary and instantiate it into WASM module instances for execution. In a use case, we need to serialize the loaded WASM data structure back into the encoded WASM binary, or deserialize the serialized one into the WASM data structure in WasmEdge. With the serializing mechanism, WasmEdge can control the WASM binary wisely, such as caching or snapshotting.

Github issue WasmEdge/WasmEdge#1741 | Pretest details | Apply this issue here


The next step is to follow the mentee guide to apply for WasmEdge. We look forward to hearing from you!

If you have any question, welcome to join our Discord.

Refernece

  1. Learn about sonder-joker's journey on WasmEdge LFX mentorship
  2. Learn about gusye1234's journey on WasmEdge LFX mentorship
WebAssemblycontributorLFX MentorshipC++Rust
A high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications