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

Consider switching to org.json implementation without "don't be evil" license restriction #3189

Open
philwebb opened this issue Oct 31, 2022 · 6 comments
Labels
dependencies Pull request that updates a dependency

Comments

@philwebb
Copy link

philwebb commented Oct 31, 2022

Expected behavior

It should be possible to use Jedis without needing to have lawyers accept the "don't be evil" clause of org.json.

Actual behavior

As of commit 858c805 Jedis has a mandatory dependency on org.json:json. This library has an unfortunate "don't be evil" clause added to its MIT license which causes legal problems for some organizations.

See https://wiki.debian.org/qa.debian.org/jsonevil and https://www.apache.org/legal/resolved.html#json for additional background.

Perhaps the library could be optional (similar to #2961) or replaced with com.vaadin.external.google:android-json which is a clean room implementation of the API without any license issues.

Steps to reproduce:

n/a

Redis / Jedis Configuration

n/a

Jedis version:

4.0 and above

Redis version:

n/a

Java version:

n/a

@sazzad16
Copy link
Collaborator

sazzad16 commented Nov 1, 2022

@philwebb Thank you for creating this issue including possible alternates.

org.json:json cannot be made optional because the integrated APIs are exposed. It is possible with Gson because it is used only internally.

It can only be replaced. The idea of com.vaadin.external.google:android-json is interesting as we may not have to break our APIs.

@sazzad16 sazzad16 linked a pull request Nov 1, 2022 that will close this issue
@sazzad16
Copy link
Collaborator

@philwebb WDYT about breaking Jedis in release 4.4.0 to resolve this issue?

References:

@vpavic
Copy link

vpavic commented Nov 18, 2022

I just learned that org.json:json recently changed their license to remove the The Software shall be used for Good, not Evil clause. Unfortunately, the replacement is something that appears to be ambiguous. See here for more details:

@chayim
Copy link
Contributor

chayim commented Nov 23, 2022

In the ideal world, we would not make any changes - because changes like the ones contemplated, mean API changes. API changes like this break users, and I'll err on the side of not doing this.

Prior to choosing a path, it would be great to at least see what the response to [the JSON issue][https://github.com/stleary/JSON-java/issues/706] will be.

@vpavic
Copy link

vpavic commented Nov 23, 2022

I agree, waiting to see what's the outcome of org.json licensing discussion seems to be like the most reasonable approach.

Until then, users that are affected by org.json's present license can exclude that dependency and pull in com.vaadin.external.google:android-json as a workaround.

@vpavic
Copy link

vpavic commented Feb 16, 2023

With stleary/JSON-java#706 now closed it appears that org.json:json is sticking with the current public domain license.

Since #3256 this project already depends on org.json:json release publish under the current license.

@sazzad16 sazzad16 added the dependencies Pull request that updates a dependency label Mar 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull request that updates a dependency
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants