People in other professions do that all the time. Doctors go to serve in poor places so that they can have medical care, carpenters volunteer to help make furniture and structures for charity projects, and so on. It simply is not the case that programmers are the only professionals who will donate labor for the sake of the communal good.