Please allow me to ask: After everything you have written here, why do you still use and engage with FPC if it does not seem to meet your requirements?
Because the alternative is using C or C++ and, while I've used C in the past, I very strongly dislike the language.
IOW, even though C has a better feature set and is more powerful than FPC, I'd rather deal with FPC's deficiencies than C's shortcomings (not to mention its sad compilation speed.) To be precise, I use C++ as a C compiler because I get C++ stronger type checking by doing that but, I never use C++ standard libraries or classes (totally out of the question to use that junk.)
I refuse to accept the mediocrity of others as a valid reason to accept it widely and as something "normal".
It's not mediocrity, it's about profusion of resources and how the decisions were done.
I don't see how that justifies all the bugs currently in FPC. FPC wasn't written yesterday, there has been plenty of time to dedicate to them but, it's probably more "fun" to add new features than to fix bugs.
A normal and steady amount of dedication is all it takes to produce bug-free software. Corollary: if the software had been appropriately tested, it's quite likely it wouldn't be as buggy.
We're talking about a project based on volunteering, where people change over time (skills change, interests change, and relationships between volunteers change too).
No one can expect people to be OBLIGED to do or not to do something.
Is it really too much to expect a programmer to correct bugs in their code ? When did it become too much to expect that ? I must have missed that memo.
Lastly, I believe that it is simpler, easier and requires less manpower to produce a bug-fix only release than one that includes new features. If that is correct then it shouldn't take 5+ years to get a new release.
One of the benefits of steady releases that do not require a large amount of work is that the project would, at least give the appearance, of being alive and moving forward.
@Martin,
What I've seen from you is that, when someone reports a bug, you take an active interest in fixing it and, so far what I've seen is that the bug is usually dealt with/solved in a reasonable amount of time.
I understand that some bugs may take longer to fix than others but, there are two things I fully expect, the first one is for a known unfixed bug to be acknowledged and described. This to spare me and/or other people to chase a known bug that is "incognito" in the current release. The second one is for the bug to be corrected in a timely manner. "Timely manner" means a true, genuine effort is dedicated to correcting it (and testing the fix.)
Not only do I believe the above are fully reasonable expectations, I also believe that anyone who calls themselves a programmer would do that much.