Microsoft got into its initial monopoly position because of an "interesting" deal with IBM. Specifically Microsoft got a contract with IBM to deliver a product, turned around and bought the product from another company that had already developed it, and then delivered that to IBM. Microsoft then hired the person who developed said product because they didn't actually have the expertise to support it themselves. See http://inventors.about.com/library/weekly/aa033099.htm for confirmation.
About charity, Microsoft may have improved, but a few years ago standard operating procedure was for the Bill and Melinda Gates foundation to tie charitable work to large Microsoft purchases. If a government bought from Microsoft, the foundation would come in and start providing assistance. If the government went to Linux, the foundation would pick up and leave.
The use of this tactic has left me with a bad impression of said foundation, despite all of the unquestioningly good work they do. (They may have gut this out more recently. I no longer pay attention to Microsoft now that it is clear that they aren't going to be able to destroy the parts of the IT world that I care about.)