I realize that this is a very old convo but I have only just stumbled across it today. I disagree with working for free for any organization - including "non-profits"/NGOs for the following reasons:
Those who are riding the NGO gravy train as part of the whole Non-Profit Industrial Complex are already enjoying tax-exempt status and are not really held to any serious degree of accountability. You can also see that often they are quite lax in even filing their IRS Form 990 by doing a cursory check on Charity Navigator or Guidestar.
That means that everybody else who does not have that privilege is making up for footing these charities/NGOs portion of the total tax bill. And in the case of anti-trafficking and other poverty relief NGOs, the overwhelming majority of those whom these charities claim to be helping are not getting helped.
If you want to work for free writing code to help anyone, do it for disadvantaged people who have no income/money who really need some help and support with their coding project - not for the benefit of well-heeled executives of "non-profit" organizations that are nothing but slush funds for overprivileged grifters.
It is extremely exploitative and unfair, and has a disparate negative impact on women, minorities, disabled people, and career-changers/job0seekers over age 40, and the poor - all whom are traditionally marginalized and disadvantaged people that are trying to enter/re-enter the workforce out of dire economic necessity.
Those who face the most barriers to entry into the field due to systemic economic/job discrimination are also the very same people who can least afford to work for free. You can't buy food, keep themselves housed, pay for an emergency car repair (or doctor visit), or keep the Internet and the electric on with nothing but an "IOU" and get your basic living needs met with only social justice cool points and no money.
This is one of the best comments on the matter I've seen yet!