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

License of dependency go-retryablehttp #177

Open
7phs opened this issue Oct 27, 2023 · 2 comments
Open

License of dependency go-retryablehttp #177

7phs opened this issue Oct 27, 2023 · 2 comments

Comments

@7phs
Copy link

7phs commented Oct 27, 2023

Hello,

Databricks SQL driver licensed under Apache-2.0 license.

A dependency - github.com/hashicorp/go-retryablehttp licensed under Mozilla Public License - 2.0.

MPL-2 license has a difference with Apache-2.0 license in requirement of mentioning source code of library.

MPL-2 of github.com/hashicorp/go-retryablehttp is a blocker to use Databricks SQL driver in a commercial project that I'm working on related to compliance.

Could you tell me what is a good way/workaround to use other returnable client with Databricks SQL driver?

Best regards,
Aleksei

@rcypher-databricks
Copy link
Contributor

rcypher-databricks commented Nov 9, 2023

There's https://github.com/ybbus/httpretry
Here's a page listing other similar packages: https://go.libhunt.com/httpretry-alternatives

You could try running without retry and just use the pooled http client, though that's going to really cut down on the robustness of the driver.

@7phs
Copy link
Author

7phs commented Nov 20, 2023

Thanks for looking into it!

We are not going to use databricks-sql-go without retry-able http-client.

I'd like to draw your attention on an issue that we have - the license of databricks-sql-go is not completely compatible with a package of returnable http client github.com/hashicorp/go-retryablehttp.

There are several possible solutions:

  1. databricks-sql-go replaces a current retry-able http client with a package has completely compatible license with databricks-sql-go license.
  2. Making selecting/using retry-able http client optional in the code of databricks-sql-go to make easy changing a package.
  3. Using replace instruction of go.mod on our end.

Could you tell me what is a good option from your point of view?

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

2 participants