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

sonarqube: remove due to non-free licenses (SSALv1 and Elastic-2.0) #210225

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

cho-m
Copy link
Member

@cho-m cho-m commented Mar 8, 2025

Removing SonarQube based on Homebrew's documented policy1 for
handling core formulae with a non-open-source license.

As of 2024-11-29, SonarQube has been shipping bundled analyzers under
their new "Sonar Source-Available License Version 1.0" (SSALv1)2.

SonarQube also ships a bundled copy of Elasticsearch which is under
Elastic's non-free Elastic-2.0 license.

Due to above, SonarQube is not allowed in homebrew/core. Users who are
interested can either submit a new Cask or extract formula to a tap.

Footnotes

  1. https://docs.brew.sh/Deprecating-Disabling-and-Removing-Formulae#removal

  2. https://www.sonarsource.com/license/

@github-actions github-actions bot added the java Java use is a significant feature of the PR or issue label Mar 8, 2025
@cho-m
Copy link
Member Author

cho-m commented Mar 8, 2025

I wonder if some defaults are different for OpenJDK 21:

  sandbox initialization failed: Operation not permitted
  2025.03.08 11:55:37 ERROR es[][o.e.b.Elasticsearch] fatal exception while booting Elasticsearch
  java.lang.UnsupportedOperationException: sandbox_init(): Operation not permitted
  	at org.elasticsearch.nativeaccess.MacNativeAccess.initMacSandbox(MacNativeAccess.java:120) ~[elasticsearch-native-8.16.3.jar:?]

On side note, still should consider move to Cask due to bundled ElasticSearch (under Elastic-2.0 / SSPL license)

Tricky part is the Formula layout doesn't work well in Cask and would require *flight logic. And I think we may have signing audit failure if we use shim scripts.

@SMillerDev
Copy link
Member

I think we should just disable it since it bundles non-free software. The cask can be made if someone wants to keep it in the official taps.

@cho-m
Copy link
Member Author

cho-m commented Mar 10, 2025

I think we should just disable it since it bundles non-free software. The cask can be made if someone wants to keep it in the official taps.

Main concern is it is somewhat popular ranking at ~#600 most installed

==> Analytics
install: 1,746 (30 days), 4,837 (90 days), 19,710 (365 days)
install-on-request: 1,746 (30 days), 4,837 (90 days), 19,708 (365 days)
build-error: 0 (30 days)

which is why I was looking if possible to make into a Cask.

@SMillerDev
Copy link
Member

I won't stop you, but I feel that cases where upstream decides to package non-free software are way outside of the scope of what I want to support for Homebrew.

@cho-m
Copy link
Member Author

cho-m commented Mar 19, 2025

Having trouble making a Cask so guess will just disable it. Maybe one of the users would be interested enough to submit a Cask or consider a tap.

In addition to Elasticsearch (Elastic-2.0), it looks like bundled analyzers are non-free (source-available license).

https://www.sonarsource.com/license/

binaries for SonarQube Community Build and SonarQube for IDE will continue to be released under the LGPLv3 license, but the bundled analyzers will be subject to a new Sonar Source-Available License Version 1.0 (SSALv1).

@cho-m
Copy link
Member Author

cho-m commented Mar 19, 2025

Though we may need to go for direct removal based on our documented policy.

https://docs.brew.sh/Deprecating-Disabling-and-Removing-Formulae#removal

A formula should be removed if it does not meet our criteria for acceptable formulae or versioned formulae, has a non-open-source license

@cho-m cho-m added license License PRs marked for removal/rejection PR is probably going to be closed or formula deleted labels Mar 19, 2025
@cho-m cho-m force-pushed the sonarqube-jdk21 branch from cdfa15b to d98746a Compare March 19, 2025 15:38
@cho-m cho-m added maintainer feedback Additional maintainers' opinions may be needed CI-syntax-only Change only affects brew syntax, not the install. Only run syntax CI. automerge-skip `brew pr-automerge` will skip this pull request labels Mar 19, 2025
@cho-m cho-m changed the title sonarqube: migrate to openjdk@21 sonarqube: remove due to non-free licenses (SSALv1 and Elastic-2.0) Mar 19, 2025
Removing SonarQube based on Homebrew's documented policy[^1] for
handling core formulae with a non-open-source license.

As of 2024-11-29, SonarQube has been shipping bundled analyzers under
their new "Sonar Source-Available License Version 1.0" (SSALv1)[^2].

SonarQube also ships a bundled copy of Elasticsearch which is under
Elastic's non-free Elastic-2.0 license.

Due to above, SonarQube is not allowed in homebrew/core. Users who are
interested can either submit a new Cask or extract formula to a tap.

[^1]: https://docs.brew.sh/Deprecating-Disabling-and-Removing-Formulae#removal
[^2]: https://www.sonarsource.com/license/
@cho-m
Copy link
Member Author

cho-m commented Mar 19, 2025

May need to remove sonarqube-lts too. Doesn't have analyzers but it still has Elasticsearch issue bundling v7.17.15 under Elastic License 2.0

SonarQube LTS bundles a copy of Elasticsearch v7.17.15 which is under
Elastic's non-free Elastic-2.0 license. This removal aligns with our
decision on removing `elasticsearch` from homebrew/core.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autobump automerge-skip `brew pr-automerge` will skip this pull request CI-syntax-only Change only affects brew syntax, not the install. Only run syntax CI. java Java use is a significant feature of the PR or issue license License PRs maintainer feedback Additional maintainers' opinions may be needed marked for removal/rejection PR is probably going to be closed or formula deleted
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants