There are two sayings in the English language that was used at tonight's dinner table:
"If you are not part of the solution, you are part of the problem"
"You lose the right to complain if you refuse to help improve the situation"
(I have really strange dinner table conversations in my family, i know)
I suppose the truth of both should be taken with a grain of salt; they certainly don't apply in all situations, and using them to make generalizations is risky business. But when taken into perspective within a particular context, they do help you understand your position in the scheme of things. At best, putting yourself as the subject in both leads to self-enlightenment, at worst, it will at least cause you pause.
Personally, i can't stand people who complain, even when they have cause to do so, because more often than not, these are the people who do the least to improve matters. The people who do the most to solve a problem are those who identify the issue quickly and, instead of complaining, bitching and whining, make the best of the situation and, when they can, do their utmost to help.
As a case in point, Malaysian politics are full of people who complain but have no idea how to make things better. In fact, their so-called solutions to contemporary issues are so stupid, it can only make things worse. By all means, ask for reasons, ask to understand, and criticise constructively. But please don't complain.