And then you do it yourself and your patch is never accepted because it disagrees with the other developers.
So you try to make an extension which implements the behavior you'd like, and it works pretty well for a couple years. But then they decide to completely remove their extension API, and instead give you one that doesn't even offer 0.1% of the hooks that the old extension API offered.
So at the end of the day you're forced to maintain your own private fork. Fortunately, the other developers attention is focused on other areas of the codebase these days (hopefully ones that are irrelevant to you), so you don't have to do a lot of conflict resolution.
Eventually, you switch to a source-based distribution where you can pile patches upon patches on each of the packages you use, and they are auto-reapplied every time you upgrade the package.
Such is the life of the "open-source software user with an itch" these days. It's still better than the alternative... at least on paper.
So you try to make an extension which implements the behavior you'd like, and it works pretty well for a couple years. But then they decide to completely remove their extension API, and instead give you one that doesn't even offer 0.1% of the hooks that the old extension API offered.
So at the end of the day you're forced to maintain your own private fork. Fortunately, the other developers attention is focused on other areas of the codebase these days (hopefully ones that are irrelevant to you), so you don't have to do a lot of conflict resolution.
Eventually, you switch to a source-based distribution where you can pile patches upon patches on each of the packages you use, and they are auto-reapplied every time you upgrade the package.
Such is the life of the "open-source software user with an itch" these days. It's still better than the alternative... at least on paper.