Hacker News new | ask | show | jobs
by linguae 361 days ago
There is another factor at play: different users value different things. For example, there are some people who don't like systemd, not because they are enamored with classic startup scripts, but because they take issue with systemd's design. It's not that they dislike coherent, consistent platforms: they just take disagreement with the design decisions of that particular platform. For example, I like the classic Mac OS and Jobs-era Mac OS X, but I don't like GNOME. All of these are coherent platforms, but they have different philosophies.

The difference between open source software versus proprietary software is that if users don't like the changes made to proprietary software, there choices are limited to the following:

1. Dealing with the changes even though they don't like it.

2. Sticking to an older version of the software before the changes took place (which can be difficult due to needing to deal with a changing environment and thus is only delaying the inevitable).

3. Switching to an alternative product, if available.

4. Writing an alternative product (which can be a massive undertaking).

Open source software provides additional options:

5. Fork the older version of the software. If enough people maintain this fork, then this becomes a viable alternative to the changed software.

6. Use the new version of the software, but modify it to one's liking.

This is the blessing and the curse of open source software; we have the power to make our own environments, but some software is quite labor-intensive to write, and we need to rely on other people's libraries, systems, and tools to avoid reinventing wheels, but sometimes those dependencies change in ways that we disagree with.

I think the best way to mitigate this is making software easier to develop and more modular, though inevitably there are always going to be disagreements when using dependencies that we don't directly control.