It's not perfect, but it works very well. None of my contributions to open source projects happened because they were required by license. On my own projects I've had people give generously of their time and expertise out of community spirit. Are some people jerks anyhow? Sure. But a different license wouldn't have changed that.
I think it worked with Microsoft. They have a much better image now with regards to open source.