Contribute and Extend WasmEdge
Contribution is always welcome! The WebAssembly ecosystem is still in its early days. Hosted by CNCF, WasmEdge aims to become an open source “reference implementation” of WebAssembly and its edge-related extensions. WasmEdge is developed in the open, and is constantly being improved by our users, contributors, and maintainers. It is because of you that we can bring great software to the community.We are looking forward to working together with you!
To help new contributors understand WasmEdge development workflow, this guide will include
- Build WasmEdge and WasmEdge plug-in from source on different platforms
- WasmEdge Plug-in system introduction
- Test WasmEdge
- WasmEdge Fuzzing
- WasmEdge internal explanation
- WasmEdge installer system explanation
- WasmEdge installer v2 system explanation
- contributing steps
- WasmEdge release process
- Join WasmEdge community
Contribution Flow
To contribute to WasmEdge
Signing-off on Commits (Developer Certificate of Origin)
To contribute to this project, you must agree to the Developer Certificate of Origin (DCO) for each commit you make. The DCO is a simple statement that you, as a contributor, have the legal right to make the contribution.
See the DCO file for the full text of what you must agree to and how it works here. To signify that you agree to the DCO for contributions, you simply add a line to each of your git commit messages:
Signed-off-by: John Doe <john.doe@example.com>
In most cases, you can add this signoff to your commit automatically with the -s
or --signoff
flag to git commit
. You must use your real name and a reachable email address (sorry, no pseudonyms or anonymous contributions). An example of signing off on a commit:
git commit -s -m “my commit message w/signoff”
To ensure all your commits are signed, you may choose to add this alias to your global .gitconfig
:
[alias]
amend = commit -s --amend
cm = commit -s -m
commit = commit -s
Or you may configure your IDE, for example, Visual Studio Code to automatically sign-off commits for you:
Ideas for contributions
If you're looking for something to contribute, we have issues
labeled with
good first issue
, which are recommendations for developers to contribute to WasmEdge by working on some easy tasks. These tasks will help contributors to learn the WasmEdge development workflow.labeled with
help wanted
, for which are we need suggestions and opinions from the community.Roadmap for every year, which elaborates the new features in the coming days. You are also welcome to pick one.
If you find something is missing, don't hesitate to create an issue and let us know. Again, WasmEdge is open in development.
Mentoring
WasmEdge maintainers can provide mentoring for WasmEdge, WebAssembly, C++, Rust, compiler, etc. If you are interested in fixing one open issue, just let us know by commenting under the issue. WasmEdge maintainers will reply to your question in time.
Besides the regular GitHub issues, the WasmEdge project will participate in some open source mentoring projects like Google Summer of Code (GSoC), Google Season of Docs (GSoD), LFX Mentorship, and Open Source Promotion Plan (OSPP). Join our Discord server or follow @realwasmedge on Twitter to get alerts on the application details.