> Yes, the OSP is legally binding upon Microsoft. The OSP is a unilateral promise from Microsoft and unilateral promises may be enforced against the party making such a promise. Because the OSP states that the promise is irrevocable, it may not be withdrawn by Microsoft. The OSP is, and will be, available to everyone now and in the future for the specifications to which it applies. As stated in the OSP, the only time Microsoft can withdraw its promise against a specific person or company for a specific Covered Specification is if that person or company brings (or voluntarily participates in) a patent infringement lawsuit against Microsoft regarding a Microsoft implementation of the same Covered Specification. This type of "suspension" clause is common industry practice.
If the new patent owner tries to sue people who relied on Microsoft's prior promises not to sue, it might be possible to accuse them (Microsoft) of promissory estoppel and force them to cover any damages. It's probably not in Microsoft's interest to play games like this.
To be concrete: If you license the reference code as apache2, that would grant patent rights to people if they used reference code, and they'd be SOL otherwise. Licensing the spec as apache2 would do nothing, as it's not software.
So if you want something apache2 like, you have to use a grant that tries to talk about granting rights to implementations of the spec, and that, for example, terminates if people sue people for implementing the spec.
The first pass i took at this was in https://www.webmproject.org/license/bitstream/
(but i'm sure there are better approaches now)