Should we congratulate the new Microsoft premise to offer freely documentation about its protocols and interfaces, and to not sue developers who use it to create code for non-commercial goals, even if they violate Microsoft patents? Yes, I think – even if cautiously. It is falling short of the freedom we are used to, but is a step in the right direction. Unless it is a part of some sinister plan, we should commend Microsoft for it.
Whether this premise is actually useful in the FOSS world, however, is a completely different question. The legal foundation of FOSS are the FOSS licenses. A contribution is only useful to us if it helps creating software that is under a FOSS license. The free documentation from Microsoft can be used in creating FOSS, so it should be useful. However, there is an important “but” – the Microsoft patents over the documentation subjects.
Unhappily, the world is full with software patents. Every piece of software over 100 lines possibly infringes some of them. The good part here is, if a company known to almost nobody sues you over a patent of theirs, you can safely pretend that you didn’t knew about the existence of this patent (it is obviously impossible to know about every software patent in existence). Then, you can request an opportunity to either stop using the software, or to have it rewritten to avoid the patent violation.
The Microsoft premise is a different case. Since it is the Redmond company who release this documentation, it’s them who will be responsible, at least partially, for its violation of third-party patents. With this, Microsoft turns into a guardian angel of the FOSS. 😉 However, it also means that there is only one owner of patents you, the programmer, should be concerned about. It is easy, hence reasonable that you must check with them, and make sure that your code doesn’t violate their patents. If they sue you, or a client of yours, there may be no grace opportunity or period.
Every free license states that you have the right to use the software as you like, even for commercial goals. However, if a software violates some of their patents, MS may require a payment from its commercial users. This discrepancy comes to show that a software violating Microsoft patents cannot be really free, even if it is created according to the Microsoft open premise. (Software that is created according to it, and does not violate Microsoft patents, can be free – as long as Microsoft don’t register a patent after the creation of your software…)
The reason for the discrepancy is simple: in order to license the right to use a software as you like (incl. commercially), you must control this right yourself. If a software violates some patent, you may license it for a free use only if it is you who controls this patent, or if its owner allows for this. In the case of the Microsoft open premise, they control their licenses, and they don’t allow their commercial usage without a payment. You simply cannot license a software that may violate a patent of theirs under a FOSS license, because you can’t give someone rights that you don’t control.
So, a software created under the Microsoft Open Premise may not be licensed under a free license, if it violates, or may violate a Microsoft patent. In other words, one should excercise extra care when FOSS-licensing such a software. MOP is only partially compatible with the free licenses, and it could be safer to regard it as generally incompatible with them.