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

BUSL-1.1 license dependency question: is Wasmer open source? #4058

Closed
hishamhm opened this issue Jul 6, 2023 · 5 comments
Closed

BUSL-1.1 license dependency question: is Wasmer open source? #4058

hishamhm opened this issue Jul 6, 2023 · 5 comments
Assignees
Labels
priority-high High priority issue ❓ question I've a question!
Milestone

Comments

@hishamhm
Copy link

hishamhm commented Jul 6, 2023

We are working on developing a product that may include Wasmer as one of the Wasm VM options. While doing the licensing review, we observed that while the main Wasmer repository uses the MIT license, the current master version depends on the webc module, which uses the BUSL-1.1 license, which is explicitly labeled as not open source. The upstream repository for this module as reported in its crates.io page does not seem to be publicly available (though the code is published via cargo and readable via docs.rs).

This module implements WebContainer, which is not something we intend to use. As of Wasmer 3.1.1, an earlier version we have tested, it was possible to build the Wasmer dynamic library without WebContainer support, which removed the webc dependency. However, as of the latest master branch, dropping this dependency requires also disabling support for WASI, which severely limits the usability of Wasmer.

Two points are of concern:

  • BUSL-1.1 restricts the use of the code to non-production use, making the combined Wasmer binary effectively not open source
  • it also includes a clause stating that on the fourth anniversary of the availability of the version, recipients of the licensed work may transition the module's license to GPLv2 — which would effectively cause the entire project linking webc, that is Wasmer, and whatever code is linking Wasmer itself, to become a Derivative Work under the GPL, and subject to that license as well

I see that the BUSL-1.1 license for webc is explicitly mentioned in this repo, so I assume Wasmer authors are aware of its presence. I can understand its use in the context of WebContainer and Wasmer's WAPM initiative, but was it intentional to make it a mandatory dependency for anyone using Wasmer with WASI, effectively changing the licensing terms of Wasmer itself?

@hishamhm hishamhm added the ❓ question I've a question! label Jul 6, 2023
@syrusakbary
Copy link
Member

Thanks for the question @hishamhm, I think it's completely fair to ask for a clarification here.

I can understand its use in the context of WebContainer and Wasmer's WAPM initiative, but was it intentional to make it a mandatory dependency for anyone using Wasmer with WASI, effectively

It was not our intention to make the webc dependency mandatory. Because, as you commented, has unintended side effects on the licensing of Wasmer itself.
We may end changing the license of the webc crate at some moment to something more permissive, but we oped to play the "safe" card while things are in flux.

There are two ways to move forward:

  1. Change the webc dependency to be purely optional on WASI
  2. Change the webc license to something more permissive

It might be worth doing a call to see if the first option may be fully suitable for your use case, as I want to make sure the license doesn't represent a problem for using Wasmer or the Wasmer CLI.
In case interested, I'll drop here a link in case you would like to chat about it further: https://calendly.com/syrus-wasmer

In any case, we will try to resolve this with a path forward asap.

@hishamhm
Copy link
Author

hishamhm commented Jul 7, 2023

@syrusakbary Thank you for the prompt reply — looks like we're on a way to a solution, happy to hear that! I have scheduled a call, looking forward to talk. I'll also make sure to update the outcome here to share with the community.

@ptitSeb ptitSeb added the priority-high High priority issue label Jul 11, 2023
@ptitSeb ptitSeb added this to the v4.1 milestone Jul 11, 2023
@hishamhm
Copy link
Author

@syrusakbary Thank you for the call yesterday, especially for listening to concerns and learning about your use cases! Since I mentioned above I'd share a follow-up here, I thought it would be a good idea to jot down our conclusions. My understanding is that in the upcoming release, the webc dependency license is going to be changed to be more in line with the rest of the Wasmer project, can you confirm?

hishamhm added a commit to Kong/ngx_wasm_module that referenced this issue Jul 13, 2023
Disable Wasmer-based builds temporarily until
wasmerio/wasmer#4058
gets solved.
hishamhm added a commit to Kong/ngx_wasm_module that referenced this issue Jul 13, 2023
Disable Wasmer-based builds temporarily until
wasmerio/wasmer#4058
gets solved.
@syrusakbary
Copy link
Member

We are going to use MIT license (as in the other packages) for the webc package , so this will be resolved officially in 4.1 @hishamhm

@hishamhm
Copy link
Author

@syrusakbary Awesome! This is great news. Looking forward to Wasmer 4.1!

hishamhm added a commit to Kong/ngx_wasm_module that referenced this issue Sep 12, 2023
Since Wasmer 4.1.0, there are no licensing issues.
See wasmerio/wasmer#4058.
hishamhm added a commit to Kong/ngx_wasm_module that referenced this issue Sep 12, 2023
Since Wasmer 4.1.0, there are no licensing issues.
See wasmerio/wasmer#4058.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority-high High priority issue ❓ question I've a question!
Projects
None yet
Development

No branches or pull requests

4 participants