4 ms·
> "unnecessary code adds to both vulnerability surface & footprint" I wholeheartedly agree with this. If there is unnecessary code, there's no reason to keep
by nikisweeting 7y ago
> "unnecessary code adds to both vulnerability surface & footprint"
I wholeheartedly agree with this. If there is unnecessary code, there's no reason to keep it.
I'm more directing my gripes towards packages that have highly desirable, well-audited add-ons / modules that package maintainers choose not to include in the default distributions (under the reasoning that "users want small binaries").
Take for example nginx, caddy, certbot, or postfix (there are many others too).
All of these require recompiling from source with build flags to enable the inclusion of even their most common add-on modules, e.g. nginx_http_lua_module, nginx_http_perl_module, caddy:http.cache, cerbot dns plugins, etc.
Recompiling from source breaks the ability to use a package manager for install and automated updates, which drastically reduces usability for the majority of users. There are ways around this of course, but for the average user, having to compile a package from source is a major hurdle.
Instead, why not distribute the binary with no add-ons as "apt install packagename-minimal" for the users with bad internet / low-resource requirements, and make the default "apt install packagename" distribution the "batteries included" version?
(If you're interested, here's an old blog post of mine that goes into detail on why I think package manager distributions are worth the effort to maintain in general, even for static binaries or packages with dylibs: https://docs.sweeting.me/s/against-curl-sh https://docs.sweeting.me/s/against-curl-sh)
- human20190310 7y agoChoosing to include nothing by default is easier than having the argument about which modules meet the "highly desirable" standard.
- coryrc 7y agoInstall nginx-extra then?
- deleted 7y ago[deleted]
- nikisweeting 7y agoBut why not have that default and the non-extras version 'apt install nginx-minimal'? What about caddy which doesn't offer module support at all in the package manager verserion? Certbot and postfix also don't include their most commonly used modules out of the box.
- mholt 7y agoIf apt and others could simply allow us (package authors) to construct a URL from which the binary can be downloaded, and then plop it into the user's PATH for them, this would not be a problem. (What I'm getting at is that all it takes to install a custom build of Caddy -- with any number of plugins you want -- is a GET request.)