If I might review your scenario from a slightly different perspective, we might see why Linux has still not taken over the desktop.
The programmer has implemented something that doesn't fully work, because it's "good enough" and/or the programmer can't be bothered to make it right. The writer, like a normal user, is surprised when a casual experiment fails dismally. The programmer might (in a dream world) be embarrassed by the poor quality of his/her work, or (more likely) reacts with anger at the implied accusation of low quality (rather than accept the input as a feature request/prioritization), which anger is reflected back by the writer inferring that the programmer is not just uncaring but incompetent.
Someone offering to handle documentation *is* offering an altruistic gift of time and effort, just like any other open source contributor, though expecting gratefulness is sort of hopeless, mainly because most programmers would *not* see the documentation as an aspect of the project at all, but as a separate afterthought.
Normal people want stuff to work, and they don't want to remanufacture stuff first to make it work. Normal people assume that "published" or "released" stuff is ready to be used, not an experiment or a hobby project. Yes, they're getting stuff for free; but they're still comparing it against other stuff where people worked on the dull parts as well as the fun parts.