Tweak Acceptable Formulae

- make clearer how self-updates should be handled
- move from OSI to Debian approved licenses
- don't allow open source software to depend on proprietary software
This commit is contained in:
Mike McQuaid 2020-03-20 14:08:47 +00:00
parent cc05c3df5c
commit 69066d3087
No known key found for this signature in database
GPG Key ID: 48A898132FD8EE70

View File

@ -13,7 +13,7 @@ We now accept versioned formulae as long as they [meet the requirements](Version
### We dont like tools that upgrade themselves ### We dont like tools that upgrade themselves
Software that can upgrade itself does not integrate well with Homebrew's own Software that can upgrade itself does not integrate well with Homebrew's own
upgrade functionality. The self-update functionality should be disabled (if possible without complicating the formula). upgrade functionality. The self-update functionality should be disabled (while minimising complication to the formula).
### We dont like install scripts that download unversioned things ### We dont like install scripts that download unversioned things
We don't like install scripts that are pulling from the `master` branch of Git repositories or unversioned, unchecksummed tarballs. These should use `resource` blocks with specific revisions or checksummed tarballs instead. Note that we now allow tools like `cargo`, `gem` and `pip` to download specifically versioned libraries during installation. We don't like install scripts that are pulling from the `master` branch of Git repositories or unversioned, unchecksummed tarballs. These should use `resource` blocks with specific revisions or checksummed tarballs instead. Note that we now allow tools like `cargo`, `gem` and `pip` to download specifically versioned libraries during installation.
@ -21,10 +21,19 @@ We don't like install scripts that are pulling from the `master` branch of Git r
### We dont like binary formulae ### We dont like binary formulae
Our policy is that formulae in the core tap Our policy is that formulae in the core tap
([homebrew/core](https://github.com/Homebrew/homebrew-core)) must be open-source ([homebrew/core](https://github.com/Homebrew/homebrew-core)) must be open-source
with an [OSI-approved license](https://opensource.org/licenses) and either built with an [Debian Free Software Guidelines license](https://wiki.debian.org/DFSGLicenses) and either built
from source or produce cross-platform binaries (e.g. Java, Mono). Binary-only from source or produce cross-platform binaries (e.g. Java, Mono). Binary-only
formulae should go to [homebrew/cask](https://github.com/Homebrew/homebrew-cask). formulae should go to [homebrew/cask](https://github.com/Homebrew/homebrew-cask).
Additionally, [homebrew/core](https://github.com/Homebrew/homebrew-core) formulae must also not depend on proprietary software/casks except the following:
- macOS
- Java
- OSXFuse
- XQuartz
This includes automatic installation of casks at runtime.
### Stable versions ### Stable versions
Formulae in the core repository must have a stable version tagged by Formulae in the core repository must have a stable version tagged by
the upstream project. Tarballs are preferred to Git checkouts, and the upstream project. Tarballs are preferred to Git checkouts, and