1. because it costs them a lot of money to maintain/improve the product, by open-sourcing it, they'll get contributions from the community
2. it costs money to train, now students will leave college trained on this
- finding software vulns to exploit with 0days
- figuring out what malware/viruses do against us
- hacking games
- discovering competitor's trade secrets
- bypassing copyright.
The last is a no-no (DMCA).