2. Yes, people are free to create brew taps. But you know humans are divided into 'I will do this' and 'I wont do this'
3. There are there roles: [software developer], [package maintainer], [user].
3. Most cases, [the software developer] is not the [package maintainer]. The software developer only push code, test code , build code. Like we know, build binary is a step of the software developer, but they don't like to create much more packages with apt-get/brew/pacman/etc, so many packages in the centralized PM are outdate. Examples are endless.
4. [User] is people who using software, they like less concepts thing. They just a user, not developer, not maintainer.