chore: document the policy on static libraries

This commit is contained in:
Sean Molenaar 2023-08-15 17:18:33 +02:00
parent 4c87937b98
commit 8d537260af
No known key found for this signature in database
GPG Key ID: AAC1C7E1A4696A9A

View File

@ -73,6 +73,12 @@ Clang is the default C/C++ compiler on macOS (and has been for a long time). Sof
We're a package manager so we want to do things like resolve dependencies and set up applications for our users. If things require too much manual intervention then they aren't useful in a package manager.
### Static libraries
In general, packages should not ship static libraries since these can not be updated without a rebuild of the dependant software.
If a package gets a lot of request to provide static libraries they may be provided by the package.
Applications in homebrew/core linking against libraries should link against shared libraries not static versions.
### Stuff that requires vendored versions of Homebrew formulae
Homebrew formulae should avoid having multiple, separate, upstream projects bundled together in a single package to avoid shipping outdated/insecure versions of software that is already a formula. Veracode's [State of Software Security report](https://www.veracode.com/blog/research/announcing-state-software-security-v11-open-source-edition) concludes: