Skip to content

Avoid duplicate names/"shadowing" in homebrew/core and homebrew/cask #17560

Open
@MikeMcQuaid

Description

@MikeMcQuaid

Verification

Provide a detailed description of the proposed feature

Doing brew install docker will install the Docker formula (and output a warning). brew install --cask docker will install the Docker cask. This may make sense to Homebrew maintainers but, to many of our users, this is unnecessarily confusing. It also has resulted (and will, most likely) continue to result in many bugs over the years.

We now have the ability to rename both formulae and casks. We should make use of this to pick a better name for each of the formulae and casks with overlapping names and add an audit/cop to ensure that we do not backslide and accidentally add more in future.

More often than not, this should involve renaming the cask. Casks are (generally) much less popular than the formula. If the cask has higher analytics usage (or perhaps just "higher in the rankings" than the formula, however, it may make more sense to rename the formula. Docker has half the cask installs in 365 days than formula but: it's the 4th highest installed cask and the 38th formula. Possible renames could be docker-cli or docker-desktop.

Note: this will almost certainly require making changing to existing audits, documentation and name/token format.

CC @Homebrew/maintainers @Homebrew/core and @homebrew/cask for thoughts

What is the motivation for the feature?

Less confusion and fewer bugs on overlapping formulae/casks.

How will the feature be relevant to at least 90% of Homebrew users?

Removing the ability to fully understand the concept of formula and cask to just use Homebrew.

What alternatives to the feature have been considered?

  • Do nothing
  • Keep the shadowing but don't default to the formula and always require disambiguation.
  • Only rename formulae.
  • Only rename casks.
  • Remove all shadowing casks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featuresNew featureshelp wantedWe want help addressing this

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions