Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: decouple WasmEdge plugins from the WasmEdge core repository #3840

Open
18 tasks
hydai opened this issue Oct 17, 2024 · 2 comments
Open
18 tasks

feat: decouple WasmEdge plugins from the WasmEdge core repository #3840

hydai opened this issue Oct 17, 2024 · 2 comments
Labels

Comments

@hydai
Copy link
Member

hydai commented Oct 17, 2024

Summary

WasmEdge plugins are a set of extensions that empower the wasm ecosystem, including the following proposals and specific experimental features:

  • wasi_crypto
  • wasi_http
  • wasi_nn
  • wasi_poll
  • wasm_bpf
  • wasmedge_ffmpeg
  • wasmedge_image
  • wasmedge_llmc
  • wasmedge_ocr
  • wasmedge_opencvmini
  • wasmedge_process
  • wasmedge_stablediffusion
  • wasmedge_tensorflow
  • wasmedge_tensorflowlite
  • wasmedge_zlib

However, the number of plugins is growing quickly, and updates for each plugin are becoming more frequent. Keeping the plugins in the WasmEdge core repository will lead to the following drawbacks:

  1. It will complicate the CI matrix.
  2. It will create a strong connection between the WasmEdge core version, especially requiring the plugin maintainers to update the plugins along with the unreleased WasmEdge master codebase.
  3. It will require maintainers to have standalone LTS branches for applying the latest plugin changes and manually renewing the release assets for some LLM/AI plugins.

To reduce this issue, as we have already done for the Rust-based plugins, I am proposing a significant change: to decouple these plugins into a new repository called WasmEdge/plugins or WasmEdge/cxx-plugins. This way, we can allow plugin maintainers to focus on the plugins themselves and delegate to a stable WasmEdge version such as 0.14.1. The only time that the plugin maintainers need to sync up with the latest API changes is when WasmEdge is going to have a new release.

Details

  • Create a new repository for the plugins.
  • Move the following plugins into the new repository:
    • wasi_crypto
    • wasi_http
    • wasi_nn
    • wasi_poll
    • wasm_bpf
    • wasmedge_ffmpeg
    • wasmedge_image
    • wasmedge_llmc
    • wasmedge_ocr
    • wasmedge_opencvmini
    • wasmedge_process
    • wasmedge_stablediffusion
    • wasmedge_tensorflow
    • wasmedge_tensorflowlite
    • wasmedge_zlib
  • Modify the installer to retrieve the assets from the new repository.

Appendix

No response

@hydai hydai added the enhancement New feature or request label Oct 17, 2024
@hydai
Copy link
Member Author

hydai commented Oct 17, 2024

/vote

Copy link

git-vote bot commented Oct 17, 2024

Vote created

@hydai has called for a vote on feat: decouple WasmEdge plugins from the WasmEdge core repository (#3840).

The following users have binding votes:

User
@hydai
@ibmibmibm
@q82419
@juntao

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
👍 👎 👀

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 5days. It will pass if at least 75% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant