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.
Yeah but, if code is created under MS Open Premise and does have a commercial use, and it is something very useful then, what is to stop Microsoft using the code for their own commercial ends, nothing as far as I can see.
So it just seems to be another of those clever MS tricks to get some more free development, but this time without having to pay litigation costs for what amounts to stealing it..
@Stomfi: This depends on the code license. If it allows commercial use, then MS are welcome to use it. And if it is under a copyleft license, eg. GPL, then they will have to open also the code they included it in. Double victory: 1. More free code; 2. Microsoft is gradually moving from our enemy to our friend… That is what freedom is – not good for revenges, but good for making friends.
As far as I’m concerned, this is another case of “Beware of Greeks bearing gifts”. Microsoft only does what is good for Microsoft, and never let that fact slip your mind. They are only saying that they won’t sue any one using their API’s or protocols for non-commercial purposes. That leaves the door wide open to them for anything that THEY construe as commercial. Caveate User!
It’s Microsoft, so it is a trap.
It is in fact part of a conspiracy, we all know this because we’ve read the Halloween Documents.
The most effective conspiracies are the ones that are run right out in the open.
@wboyle, Bob Robertson: Yes, this could very well be a trap. Given Microsoft history towards FOSS, it almost surely is. But still, everyone has the right to change. If we are truly on the freedom’s side, we are obligued to give MS the chance, even if we are sure they won’t. That is what makes us “the good guys”, not the fact that this is “us”, and MS is “them”. 🙂
Pingback: Grigor Gatchev - A Weblog » Blog Archive » OOXML - стандарт?