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

Remove mongodb #43770

Merged
merged 6 commits into from Sep 2, 2019

Conversation

@fxcoudert
Copy link
Member

commented Sep 2, 2019

To our users: if you came here because mongodb stopped working for you, we have removed it from the Homebrew core formulas since it was migrated to a non open-source license. Upstream maintains their custom Homebrew tap for it at https://github.com/mongodb/homebrew-brew, which due the modular nature of Homebrew is very easy to use. We will no longer provide support for mongodb.


  • Newer mongodb versions are not published under an open-source license, so they are not acceptable in Homebrew core.
  • mongodb and mongodb@3.6 do not build from source anymore (Homebrew/linuxbrew-core#12582)
  • It makes little sense to keep older, unmaintained versions (assuming they even build… I have not tested)
  • Upstream has an “official” tap for the latest versions: https://github.com/mongodb/homebrew-brew
  • See prior discussion in #43676

MongoDB is our 45th most popular formula, with 25k installs per month. We probably want to announce its removal (at least through Twitter) and link to this announcement.

@fxcoudert fxcoudert force-pushed the fxcoudert:mongodb branch from 3d281d4 to a325b24 Sep 2, 2019

@fxcoudert

This comment has been minimized.

Copy link
Member Author

commented Sep 2, 2019

Is percona-server-mongodb actually trying to build parts of mongodb behind our back? It's failing with the same error as mongodb:

Building mongoreplay...
# github.com/google/gopacket/pcap
vendor/src/github.com/google/gopacket/pcap/pcap.go:173:7: identifier "_Ctype_struct_bpf_program" may conflict with identifiers generated by cgo
vendor/src/github.com/google/gopacket/pcap/pcap.go:384:13: identifier "_Ctype_struct_pcap_stat" may conflict with identifiers generated by cgo
vendor/src/github.com/google/gopacket/pcap/pcap.go:421:49: identifier "_Ctype_struct_bpf_program" may conflict with identifiers generated by cgo
vendor/src/github.com/google/gopacket/pcap/pcap.go:444:10: identifier "_Ctype_struct_bpf_program" may conflict with identifiers generated by cgo
vendor/src/github.com/google/gopacket/pcap/pcap.go:462:41: identifier "_Ctype_struct_bpf_insn" may conflict with identifiers generated by cgo
vendor/src/github.com/google/gopacket/pcap/pcap.go:538:66: identifier "_Ctype_struct_bpf_program" may conflict with identifiers generated by cgo
vendor/src/github.com/google/gopacket/pcap/pcap.go:551:19: identifier "_Ctype_struct_bpf_insn" may conflict with identifiers generated by cgo
vendor/src/github.com/google/gopacket/pcap/pcap.go:659:34: identifier "_Ctype_struct_pcap_addr" may conflict with identifiers generated by cgo
vendor/src/github.com/google/gopacket/pcap/pcap.go:662:56: identifier "_Ctype_struct_pcap_addr" may conflict with identifiers generated by cgo
Error building mongoreplay
@igas
igas approved these changes Sep 2, 2019
@fxcoudert

This comment has been minimized.

Copy link
Member Author

commented Sep 2, 2019

Found out that percona-server-mongodb is also under the Server Side Public License (see https://github.com/percona/percona-server-mongodb/blob/master/LICENSE-Community.txt), so removing as well.

@fxcoudert fxcoudert force-pushed the fxcoudert:mongodb branch from a325b24 to 77a208f Sep 2, 2019

@fxcoudert

This comment has been minimized.

Copy link
Member Author

commented Sep 2, 2019

@fxcoudert fxcoudert merged commit b60f4c6 into Homebrew:master Sep 2, 2019

1 check passed

continuous-integration/jenkins/ghprb Build finished.
Details

@fxcoudert fxcoudert deleted the fxcoudert:mongodb branch Sep 2, 2019

@djanowski

This comment has been minimized.

Copy link
Contributor

commented Sep 2, 2019

FYI it's unfortunate that brew suggests running brew cask install mongodb which will not do what users expect.

@SMillerDev

This comment has been minimized.

Copy link
Member

commented Sep 2, 2019

FYI it's unfortunate that brew suggests running brew cask install mongodb which will not do what users expect.

@djanowski I agree. Could you make a pull request to rename it to mongodb-app? (I'm not currently near a PC)

@vitorgalvao

This comment has been minimized.

Copy link
Member

commented Sep 2, 2019

@djanowski Wait, please don’t submit the PR. We no longer do the -app suffix thing, it was too confusing. Let me do the change, I’ll need a quick think about it.

@vitorgalvao

This comment has been minimized.

Copy link
Member

commented Sep 2, 2019

Here’s the problem with renaming: in casks, we follow a strict token reference to avoid duplicates (it was an issue in the past). One of the rules that changed was the -app suffix: initially you could never use it, then we made a special case for it, then we reverted to the original rule. For this to be renamed to mongodbapp makes it an outlier which will cause confusion. We’d be making the brew users less confused at the expense of the brew cask users.

brew search mongodb has a specialist message:

$ brew search mongodb
==> Casks
mongodb                                  mongodb-compass-readonly
mongodb-compass                          mongodbpreferencepane
mongodb-compass-beta                     nosqlbooster-for-mongodb
mongodb-compass-community                orelord-mongodb
mongodb-compass-isolated-edition

If you meant "mongodb" specifically:
mongodb was deleted from homebrew/core in commit 2c2e57c9:
  mongodb: delete

To show the formula before removal run:
  git -C "$(brew --repo homebrew/core)" show 2c2e57c9^:Formula/mongodb.rb

If you still use this formula consider creating your own tap:
  https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap

If having the mongodb cask referenced in brew install mongodb is an issue, I’d prefer if a note about it were added in install, just like it was in search.

kbd added a commit to kbd/setup that referenced this pull request Sep 2, 2019
@rcrichton

This comment has been minimized.

Copy link

commented Sep 3, 2019

Isn't this a bit of an overreaction? The new license (from October 2018) retains all the same freedoms:

It should be noted that the new license maintains all of the same freedoms the community has always had with MongoDB under AGPL - they are free to use, review, modify, and redistribute the source code. The only changes are additional terms that make explicit the conditions for offering a publicly available MongoDB as a service.

Are you talking about some other change? Does this really affect your ability to include Mongo.

Reference: https://www.mongodb.com/licensing/server-side-public-license/faq

@MikeMcQuaid

This comment has been minimized.

Copy link
Member

commented Sep 3, 2019

Isn't this a bit of an overreaction?

No.

The new license (from October 2018) retains all the same freedoms
additional terms that make explicit the conditions for offering a publicly available MongoDB as a service.

This is the removal of a freedom. We defer to the OSI's open source licence definition who do not approve this license.

FYI it's unfortunate that brew suggests running brew cask install mongodb which will not do what users expect.

@djanowski Can you elaborate on why this won't do what they expect?

@fxcoudert

This comment has been minimized.

Copy link
Member Author

commented Sep 3, 2019

@rcrichton A few sentences after your quote:

MongoDB software licensed under the SSPL is not considered open source by the OSI

Moreover, the application to OSI was retracted by MongoDB:

based on SSPL’s reception by the members of this list and the greater open source community, the community consensus required to support OSI approval does not currently appear to exist

Which summarises well, in the words of MongoDB's own CTO, that the open source community does not consider the license to be open source.

@jonchang

This comment has been minimized.

Copy link
Member

commented Sep 3, 2019

Are you talking about some other change? Does this really affect your ability to include Mongo.

Reference: https://www.mongodb.com/licensing/server-side-public-license/faq

As your link states, SSPI is not OSI-approved and therefore cannot be included in homebrew-core. Please see previous discussion on the Discourse forum regarding mongodb licensing.

@rcrichton

This comment has been minimized.

Copy link

commented Sep 3, 2019

Sure, I mean I'm not disputing any of that. Just seems like quite a loss to the community. As was mentioned mongo was the 45th most popular formula. Seems more damaging than appropriate. Seem like a moral stand over an inconsequential change (for most users).

Anyway, the guidelines and views here are made clear, thanks.

@MikeMcQuaid

This comment has been minimized.

Copy link
Member

commented Sep 3, 2019

Seem like a moral stand over an inconsequential change (for most users).

Open source (and moreso free) software has an inherently moral component. Our non-profit foundation requires us to only distribute open source software in this repository.

bouthilx added a commit to bouthilx/orion that referenced this pull request Sep 11, 2019
Use mongodb-community for OSX
Why:

Because of it's new (controversial) license mongodb is not supported by
brew anymore. We need to use mongodb's `tap` to install it with brew instead.

For reference: github.com/Homebrew/homebrew-core/pull/43770
bouthilx added a commit to bouthilx/orion that referenced this pull request Sep 11, 2019
Use mongodb-community for OSX
Why:

Because of it's new (controversial) license mongodb is not supported by
brew anymore. We need to use mongodb's `tap` to install it with brew instead.

For reference: github.com/Homebrew/homebrew-core/pull/43770
bouthilx added a commit to bouthilx/orion that referenced this pull request Sep 12, 2019
Use mongodb-community for OSX
Why:

Because of it's new (controversial) license mongodb is not supported by
brew anymore. We need to use mongodb's `tap` to install it with brew instead.

For reference: github.com/Homebrew/homebrew-core/pull/43770
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
8 participants
You can’t perform that action at this time.