James McGovern first linked to a post about "We Are Microsoft" which apparently is doing some type of challenge to write code for charitable organizations.
It's an interesting idea (though I'm not sure how this really makes MSFT any more "ethical" than Oracle or any other software company as he mentions in his original post) though I think has potential for more problems than help. At the end of the day - writing software is the "easy" part. Maintaining and supporting is where the real work is.
I would rather think that instead of having one-off competition to write something for a charity - which by the way is going to be real good marketing for MSFT dev tools - some type of community formation would be better long term view. You know "teach a person to fish - feed them for life" kind of thing.
Also Oracle like many organizations does many different charitable/philanthropic events. We have Oracle Volunteer Days in September (which happens globally), the company matches our charitable gifts (to a limit) and then there is Oracle Education Foundation. Which is the primary sponsor of ThinkQuest - which helps teach kids around the world.
Personally - I'd rather see more investments made into things like microcredit projects like Kiva or innovative solutions like BoGo Lights (basically replacing kerosene lamps with more efficient, cleaner & safer solar-powered LED flashlights). Those types of projects typically have a larger return on investment. Though in these projects - the ROI is not measured in cash but in turn of people helped. See "Billion Bootstraps" for what I mean of this concept.