That's almost like saying that Netflix relies on the consumers' goodwill, since pirating is too easy. In reality, people pay for convenience in getting what they want.
In XWiki's case, we know it's not perceived like "I could be having it for free but I'll pay anyway because it's a nice thing to do".
We do explain that our stuff is open source to our customers though. It's a selling point.
In our case, admittedly, it helps that our target customers want our support anyway.
> before someone just undercuts you with a fork.
Absolutely, it is a risk to take into consideration. Now, maintaining a fork has costs too, and someone doing this would rely on continued maintenance and goodwill from the upstream vendor as well.
Downstream vendors actually have an incentive to keep good relationships with upstream, so they can share fixes and have some guarantee that whatever they base their business on keeps being maintained.
I'm not saying it's impossible to survive with that model; lots of organization survive on donations. But you're not gonna be able to build the Free Software equivalent of Microsoft or Google on donations.
That said, I think doing that with business software is a particularly interesting case because it allows low level employees to justify running a donation through the regular software purchasing process without raising too many eyebrows if they care to. I've seen a few other projects with similar models.