In the case of that printing thing, I made the patch myself. And I’m not lost.
The problem is the long-term maintenance. Have you noticed how rare “this code is crap, let’s rewrite it all” moments are rare in Haiku? This is because we are very strict about what gets merged. We only accept the right solution, and only if the code is cleanly formatted. From the users point of view, it would seem that this is not needed. There is this less perfect solution getting the work done.
But if we start accepting such things, over time, the overall code quality degrades. People are uncertain why a certain piece of code is written the way it is. Maybe there is some subtle thing they don’t understand. And when they try to make a change, everything falls apart.
Let’s take this concrete example of printing, since you bring it up. The core of the problem is inside app_server. The patch I put in that ticked is in the interface kit, which means the problem is not fixed in app_server, it is just hidden. Now the bug is just waiting to pop in another place. Maybe another edge case when printing, or maybe in something unrelated (such as using the remote app-server). In some years, another developer will hit it again. He will have to investigate it, spend a few hours understanding what is going on, and then try to fix it. Maybe while doing so he will break printing again because the workaround relies on the bug to exist.
Basically, allowing such changes makes the software more brittle and after some time, any attempt to change something makes something else fall apart. Until someone gets frustrated and decides to rewrite it all. Then it usually ends up with the new, supposedly cleaner system having less features and more bugs (because it’s not done), and the old system being ugly code, but still somewhat working, and it is very hard to decide when to move from one to the other, because there could still be regressions. Also, we don’t have enough devs to get started on a rewrite of anything.
The cleanliness and readability of the code is the important part here. Features come only second to that. As for attracting new devs, if they are not willing to go the extra mile in making the code perfect, I’m sorry to say I prefer not to have them messing with Haiku sources.