A lot of the dialog around systemd and Wayland ends up with someone saying at least one of the following:
- You don’t get to decide what devs work on.
- You are free to do something else if you don’t like it.
And both of these are true. Indeed, the second is a core idea of Free Software. Free Software is about empowering users so that they are not beholden to the decisions that their software vendor made and are able to make different choices.
But most people (even most programmers) can’t decide they don’t want to use Wayland or systemd and write something different. These components are large monolithic entities. Even systemd, which is made of a bunch of coopretating daemons, has so much tight coupling between them that you can’t replace one of them without reimplementing 90% of its functionality. And each of these projects is too complex for a single person to create a replacement for unless they treat it as a full-time job.
To me, that really highlights the failure of the Free Software movement. It obsessed over licenses that prevent downstream developers from taking away rights (and making it harder for end users to exercise them) while never thinking about how to design software so that exercising these rights was easy and natural.
In a real Free Software system, option 2 should be so easy that a large fraction of users do it. Systems should be easy to shape around users’ requirements and preferences.