-
Notifications
You must be signed in to change notification settings - Fork 199
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
Wasmer bindings #306
Comments
Is there a reason you aren't implementing Wasmer bindings in your own repo depending on anything you need from this one through cargo dependencies? I don't see why having your own 3rd-party bindings requires forking the entirety of wit-bindgen. |
There are a few reasons. First one is discoverability: if people search for wit bindgen, it's very likely that they will land on this repo first. Which will make them more likely to use the runtimes supported in the "official repo", and harder for them to search for the one that is not on the main repo. Second one is installation. Right now I frankly don't see any strong technical reason on why Wasmer bindings couldn't be on this repo. But here are some reasons on why I think it will be beneficial to have the Wasmer bindings integrated:
In general, collaboration is usually better than not collaboration. So that's the gist ;) |
There's still not been any material change to the key reasons I gave last time for not adding 3rd-party bindings to this repository. The move to the full component model implementation is still very much in full swing, so lots of churn will necessarily still happen. More importantly, nothing has changed about the more fundamental reasons I gave last time either. Here's the relevant part of my reply from last time:
The stakeholders of wit-bindgen see the bindings maintained in this repository as valuable and furthering the goals we're focused on, which is why they're included here. As @Kylebrown9 points out, you should be able to use wit-bindgen as a dependency instead of forking it. I gave more detail on that last time, too:
If that for whatever reason doesn't work for you, then a fork might indeed be the right choice. That'd also have the added benefit of allowing you to catch up to latest developments at your own pace. Alternatively, you could also consider doing your own completely independent implementation under a different name, which would have two significant benefits: one is that it'd allow you to fully tailor it to your needs. The other is that, as I mentioned to you in a WASI subgroup call a few months ago, having independent implementations of standardized concepts is tremendously useful in a standardization process, so by going this route you'd be able to actually support the process. It'd also solve the discoverability problem, as people intending to use Wasmer would naturally use the bindings generator you're promoting. I hope that answers the questions you had, so I'll go ahead and close this issue. |
I'm not sure if you understood what I meant with a hard fork, so let me clarify with an example. Hard forks are usually not beneficial for the community, that's why I'm trying to steer things towards collaboration before doing it. If you don't want to have Wasmer bindings in Feel free to re-open the issue if at some moment you decide that community interests should prevail :) |
How about providing a link to your project in the README? It is not much effort for this project to list third party implementations of the binding generators. Plus the current implementation of the wit-bindgen binary is also a bit underbaked. For example, it could use the same extension strategy as cargo, e.g. I still don't understand the cause for a fork. Your library is dependent on the wit parser and core generator. If you find issues with these, then a PR would add value to all current and future generators. Is it because you want people to find wasmer's implementation when searching for |
Unfortunately, and as I explained in previous comments on this issue, that will not work. In any case, we just released and open-sourced our hard fork If the time comes when the wit-bindgen project maintainers decide that they would like to integrate support for Wasmer upstream, we would love to aim unifying projects again (assuming we can converge on a stable format, as stability is one of the main golas of WAI). Although, we understand and realize that this decision is not in our realm and we can only hope for others to put the Wasm community first. Here's an article that we have created showcasing WebAssembly Interfaces ("WAI"), as it might be helpful for future readers: |
It looks like @syrusakbary you may be out of the loop a bit with this repository so I'll try to summarize the current state of things:
Overall if you're genuinely interested in collaborating on wit-bindgen I would encourage you to follow issues/discussions here. Chats happen on zulip and there are weekly in-person meetings on zoom to attend as well. The wheels aren't always turning at a lightning-fast pace over here so progress may seem slow sometimes but we're all always trying to march towards the shared vision of the component model. |
I'm opening this issue to follow up on the PR that we created a few months ago adding support for Wasmer bindings: #173, given that the project has already matured a bit.
Right now the wit-bindgen repo is supporting different bindings over runtimes that are actually not maintained by the Bytecode Alliance, namely:
In general, we believe that adding official support for more runtimes is not only desired for the community but also beneficial, as it standardizes all bindings into one repo with one name and place to go for support.
Given the comment from @tschneidereit on the PR, I understood that it might not be on the willingness of the project maintainers to add support for Wasmer bindings, but I want to be clear that this will probably imply a hard fork on the project, which I believe might not be on the best interests of the community.
I also would like to mention that Wasmer will fully cover the maintenance of the its bindings on this repo in case we agree that convergence (of one repo hosting all bindings) is the most optimal path, so no one else will need to assume the maintenance burden.
I'm opening this issue to see if we can converge on an agreement before doing any hard fork, so in the end, the Wasm users are the main beneficiaries.
Looking forward to hearing your thoughts!
Note: for anyone searching for Wasmer support on wit-bindgen in the future, here's the repo! https://github.com/wasmerio/wit-bindgen
The text was updated successfully, but these errors were encountered: