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

Is ureq's MIT license legal? #516

Closed
sycured opened this issue May 9, 2022 · 6 comments
Closed

Is ureq's MIT license legal? #516

sycured opened this issue May 9, 2022 · 6 comments

Comments

@sycured
Copy link

sycured commented May 9, 2022

Hello,

I'm actually doing a big check (SBOM, licensing & co) on my different work, and obtain a red line about one dependency used by ureq: chunked_transfer which is Apache-2.0 only, a license that I can't use inside 3 projects.

ureq is dual-licensing Apache-2.0 and MIT, so can you confirm that your MIT isn't violating Apache-2.0?

For example, I can mention:

I want to add code from apache 2.0 to MIT license. How does one do that?
request that the copyright owner of the apache 2.0 licensed works also release what they did under MIT license. OTHERWISE, you will have to maintain the apache 2.0 license
source: https://law.stackexchange.com/questions/6081/can-i-bundle-mit-licensed-components-in-a-apache-2-0-licensed-project#comment157333_6758

If MIT Licensed code is combined with Apache License 2.0 code, then the derivative code might be Apache License 2.0.
source: https://techlib.fr/app/1274/is-apache-2-0-compatible-with-mit

Thanks a lot for your help

@algesten
Copy link
Owner

Can we solve this with feature flags?

Keep chunked_transfer as a default dependency, but point out in the README that the project can't be MIT licensed if the dependency is enabled?

@sycured
Copy link
Author

sycured commented May 22, 2022

Yes, it'll work

Is it possible to have ureq working without this dependency?

@algesten
Copy link
Owner

Well. It won't be as good :)

Chunked transfer is used in HTTP/1.1 when the length of a body is not known. Many requests would work without it, but not all.

Another option is to talk to the upstream maintainer.

A third option is to implement this ourselves – I have done it once before https://github.com/algesten/hreq-h1/blob/master/src/chunked.rs – we could remove async from this code and use that.

@jsha
Copy link
Collaborator

jsha commented Jul 5, 2022

Posted on frewsxcv/rust-chunked-transfer#2

@pinkforest
Copy link

PR's up at chunked-transfer:

@algesten
Copy link
Owner

Closing since we're moving to ureq 3.x. This is however solved in 2.x too.

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

No branches or pull requests

4 participants