It's frustrating when distributors change things without discussion with upstream developers, even when it's a bugfix.
A number of distributions patched Gutenprint 5.0.0 (which project I lead) to add margins for certain paper sizes (Gutenprint 5.0.0 with CUPS simply chopped off anything that wouldn't fit in the printable area of the page, and the way it was explained to me by one distributor was that their management got frustrated with printing letters that were chopped off) -- specifically, this patch forced margins for A4, letter, and legal size paper. This patch had the unfortunate side effect of making it impossible to print borderless to these page sizes even on printers that had no problem with it.
The problem is that they didn't consult with us first. We weren't aware of the level of impact this was having (arguably we should have, but it just happened that what I was printing wasn't causing me problems severe enough for me to care about). We only found out about it when people started complaining to us about not being able to print borderless; I had to look at the source RPM to figure out what was going on.
We wound up fixing this issue in a very different way in 5.0.1, and we release noted it extensively. Unfortunately, distributions never bothered removing the patch, so the broken behavior continued.
Finally, in 5.2, as part of a source code rearrangement, we were able to do something about it: we moved the file to a different location in the source tree, and I inserted some comments into the offending parts of the XML source that guaranteed that any attempt to apply the patch would break, forcing someone to take a look at it and (hopefully) reading our instructions that this was a really bad thing to do, and in any event, the problem underlying this was solved.
We've always had a section in our README specifically targeted to packagers and tried to make it very visible at the top of the file that they should read that section. Among other things, we request that distributors join our development mailing list and discuss changes with us. In this case, it would have raised the urgency of a real fix, and even if distributors decided to temporarily go with the fix, we would have known what was going on, would have known who to redirect bugs to, and would have told them very clearly that in 5.0.1 that patch should go away. I tried beefing it up. I don't know what more we can do. When users complain about problems on prepackaged bits that look fishy to me, I often do tell them to install from source to see if the problem goes away -- not too different in principle from what Joerg Schilling did -- because I don't want to try to debug someone else's patches. I don't agree with everything that he's done, but I certainly sympathize with the kind of frustration this can engender.
The reality is that under the GPL (and most other FOSS licenses), there is nothing legally we could do (I believe -- IANAL) to prevent this, and people do have a right to modify the code. However, from a *pragmatic* point of view, distributors should work with upstream developers and try to understand why developers make the decisions we do. That would also help developers understand the issues distributors face.