I think at this juncture I should give my 2 cents' worth.
Eraser's code bears the signature of 3 people: Sami Tolvanen, the original founder who designed the initial Eraser, Garrett Trant, who took over from Sami after he finished school and didn't have time to maintain code, and myself who took the liberty to rewrite Eraser from scratch. Along the way, we've also had many contributors: Overwriter who did a splendid job answering support questions, Dennis van Lith who helped with the design, Chris Wagers who did testing and David who's helping with the forums today. We've had many other people who contributed in a very small (but not insignificant) way through questions, pointing out bugs and helping to see them get fixed. If you were you compare this to commercial software houses, we run a very tight ship, especially considering that we are doing this without cost to the user AND that we are doing this in our spare time. In other words, Eraser is striving for excellence against the odds. In my opinion, biased as it may be, Eraser 6 has done a very good job thus far but this would not have been possible without the effort and feedback from the community. As much as I cannot implement features and bugfixes as fast as I wish to, to the fullest of my capabilities and circumstances allowing, I try. Having said that, the OSS development cycle is not possible without input. Commercial software companies rely on hired beta testers who are paid for their feedback. Eraser doesn't have this luxury.
All software are in "perpetual beta." It's simply a matter of terminology: problems are always found in code, without exception. The main thing which differentiates so-called "stable" software and "beta" software to most users is the amount of time for a problem to be recognised, and thereon the amount of time it takes to be fixed (I would like to point out that one school of thought among software engineers, myself included, think of "alpha", "beta", "RC" and "stable" differently). Even the very operating system you run is not devoid of bugs. An extreme example: blue screens of death are usually cryptic, except to the driver engineer. Users have no idea what's going on except that their work is gone. Would one consider Windows to be beta software then? I do not think so. So why is there a distinction between that and software which runs atop the Windows platform, or any other platform for that matter? I would therefore conclude there is no such thing as a software perfected. The closest a program comes to perfection is when it is retired from active maintenance, ironically as bugs are no longer being found by developers and users alike -- the death sentence. One may be quick to point that Eraser 5 has been retired -- would you say it's perfection? I don't think so: it doesn't deal with changes in Windows as well as it should be. The code has aged significantly, and features just don't scale to modern operating environments. Users' workflows also change with time; while users primarily did tasks sequentially in the past, we see users multi-tasking more often than not today.
So where do we go from here? I urge all users of Eraser, and all other OSS, to be proactive users. Even if users cannot contribute code, spend time debugging, or even contribute financially to the running costs (yes -- they exist even if we OSS devs do not charge for our work), the least they can do is to give constructive criticism. Do not just bury applications just because they don't work for you. Chances are, if you provide steps to replicate your problem or give a particular environment, your problem will not only get solved, it would prevent it from occurring on other users with the same environment. Commercial software houses don't fix bugs autonomously unless they bump into it in the course of them using it; why should users be frustrated at software when they refuse to work when they do not voice it out (or take proactive steps to solve it?) Support contracts involve user participation, too.
Richard, if you are of the opinion that this is a waste of time, I apologise.