🥳 CNCF LFX Mentorship 2022秋 を通じて WasmEdge プロジェクトに貢献してください

CNCF オープンソース プロジェクトのリモート有給インターンシップの機会がここにあります! 履歴書をより競争力のあるものにする。

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](https://docs.linuxfoundation.org/lfx/mentorship/mentee-stipends) of $3000 to $6600, depending on your location, so that you can focus on the work.

Contribute to [the WasmEdge project](https://github.com/WasmEdge/WasmEdge) via LFX Mentorship. Make your mark in Open Source, and earn a stipend of 3000 USD to 6600 USD!

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](https://www.secondstate.io/articles/wasmedge-joins-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++](https://wasmedge.org/book/en/embed/c.html), [Rust](https://wasmedge.org/book/en/embed/rust.html), [Golang](https://wasmedge.org/book/en/embed/go.html), and [JavaScript](https://wasmedge.org/book/en/embed/node.html). Learn more about [technical highlights of WasmEdge](https://wasmedge.org/book/en/intro/features.html).

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. 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2777985/a296f01c-0763-4070-01c1-afce1d42c6ba.png)
https://mmbiz.qpic.cn/mmbiz_jpg/3rGIVvYeu4CX8ibotv3NXlMrDzvU5tJeSJSZChcmK86HTxaGwc5OYHuvEHjnqMjp3Q9ss9YUoGrOcVctMvFbLzQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1
![](/articles/lfx-mentorship-fall-2022.jpeg)

### 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](https://crates.io/crates/image) 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](https://github.com/WasmEdge/WasmEdge/issues/1747) | [Pretest details](https://github.com/WasmEdge/WasmEdge/discussions/1754) | [Apply this issue here](https://mentorship.lfx.linuxfoundation.org/project/17fc622c-5674-4381-b597-2f49409fda01)


### Node API support for WasmEdge QuickJS

The [WasmEdge QuickJS runtime](https://wasmedge.org/book/en/dev/js.html) 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](https://wasmedge.org/book/en/dev/js/nodejs.html) applications. WasmEdge QuickJS already supports [NPM and CJS modules](https://wasmedge.org/book/en/dev/js/npm.html).

Github issue [WasmEdge/WasmEdge#1745](https://github.com/WasmEdge/WasmEdge/issues/1745) | [Pretest details](https://github.com/WasmEdge/WasmEdge/discussions/1753) | [Apply this issue here](https://mentorship.lfx.linuxfoundation.org/project/4853174a-267d-4cd4-a62d-6e68d0c338b1)


### 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](https://github.com/WasmEdge/WasmEdge/issues/1742) | [Pretest details](https://github.com/WasmEdge/WasmEdge/discussions/1752) | [Apply this issue here](https://mentorship.lfx.linuxfoundation.org/project/d01efa41-87a7-4f34-adfe-63c7bab7c1ca)


### 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](https://github.com/WasmEdge/WasmEdge/issues/1742) | [Pretest details](https://github.com/WasmEdge/WasmEdge/discussions/1751) | [Apply this issue here](https://mentorship.lfx.linuxfoundation.org/project/da1162c6-2aaf-496f-9f23-a96a3e52c277)

---


The next step is to follow [the mentee guide](https://docs.linuxfoundation.org/lfx/mentorship/mentee-guide) to apply for WasmEdge. We look forward to hearing from you!


If you have any question, welcome to join [our Discord](https://discord.gg/uYSJkc5RM2).


### Refernece

1. Learn about [sonder-joker's journey on WasmEdge LFX mentorship](https://www.secondstate.io/articles/lfx-mentorship-wasi-crypto/)
2. Learn about [gusye1234's journey on WasmEdge LFX mentorship](https://www.secondstate.io/articles/lfx-mentorship-wasi-nn/)