Existem vários motivos possíveis que, em geral, não podem ser válidos. O software de tamanho maior pode ter mais recursos. Ou mais cruft. Ou ambos. Ou o software de código aberto é muito mais engenhosamente projetado do que o seu equivalente. Alguns ou todos estes podem ser os motivos em qualquer caso dado. Ou não.
Uma razão geral seriam os benefícios da distribuição centralizada de software e resolução de dependência. Na maioria dos ambientes de sistemas operacionais baseados em código aberto, quando um software é instalado, o que depende de outros pacotes de software (como é o caso, por exemplo, um executável depende de bibliotecas, etc.), essas dependências também são instaladas. já foi. Então eles são instalados uma vez, no máximo.
Sem a distribuição centralizada de software e a resolução de dependências (por exemplo, no Windows), essas dependências podem geralmente ser empacotadas com o software que precisa delas. Então, a dependência X pode ser empacotada com o software A, assim como com B (e C e D e assim por diante) - > mesmas dependências instaladas várias vezes (ou até mesmo vinculadas estaticamente ao executável) - apenas para estar no lado seguro.
Isso pode explicar algumas das diferenças de tamanho. Certamente não todos embora.