Developers Warned over OOXML Patent Risk
Tendraes brings us a story about legal experts who are warning that Microsoft's "covenant not to sue" over use of the OOXML specification is both ambiguous and untested. Developers wishing to make use of OOXML are unlikely to understand the complex legal language of the Open Specification Promise, and such a document - being neither a release nor a contract - has never been tested in court. From ZDNet Asia:
"David Vaile, executive director of the Cyberspace Law and Policy Center at the University of New South Wales, said that Microsoft participants at a recent symposium on the issue found it challenging to explain how an ordinary person 'or even an ordinary lawyer' could easily determine which parts of the specification were covered. 'This lack of certainty would mean a cautious lawyer may be reluctant to advise any third party to rely on the promise without extensive and potentially quite expensive analysis, and even that could be inconclusive,' Vaile said. 'In turn, this could restrict its viability as a usable standard for less well-resourced users, including small developers and many public organizations.'"
The trick is to stay away from Microsoft if you don't want trouble with the law, with licences or with vendor lockin.
This is a good read... Ron Yu's background paper on patent approaches in OOXML.
The GPL has been tested in court, and in more than one jurisdiction too.
I wouldn't be so sure about that. The predecessors to lawyers caused this mess by arguing "but it doesn't SAY that!" so everything had to be spelled out in an unambiguous way to prevent people from arguing about the rules.
Justice is the sheep getting arrested while an impartial judge declares the vote void.
Microsoft's document on the other hand seems obfuscated on purpose, so that they can claim OOXML to be open and freely available to speed its adoption as a standard and alleviate fears of lock-in... then go to court and assert a different interpretation whenever their interests are sufficiently challenged. Given where Microsoft's interests lie, that's not a farfetched scenario.
If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
Mainly I think the problem people have is that Microsoft has not made a clear commitment to make this an open standard that anyone may implement in their software. Personally, I would expect no less from Microsoft, and wouldn't be surprised if their intention was to scare third party developers away from OOXML. This is the company that has fought tooth and nail to make sure that nobody ever uses third party software, after all, and now they are in a market that increasingly demands open standards and interoperability. What better way to kill two birds with one stone?
Palm trees and 8
It appears that Microsoft has about 280 patents around OOXML and related technologies. It also has a large number of patents that read on ODF. We're making a list of these and hope to be able to publish them soon.
There are also several patents from third parties that read on OOXML, and in theory ISO should halt the process while these are examined and cleared. It looks like ISO won't do that.
Microsoft has several techniques to keep OOXML a captive standard controlled by a single vendor. Complexity is one. But patents are the very best technique.
Note also that OOXML's complexity is mostly because it's a dump of a legacy format. Some upcoming MS ISO proposals are very clean technically, but also very heavily patented.
It seems clear that the OSP is worthless for GPL implementations, the biggest threat to Microsoft.
At the same time it's worth noting that the format being voted on by ISO is not the format implemented by Office. There are over 2,300 changes and the two formats are not compatible. The reason for pushing for ISO standardisation is to let MS market their formats as "standard", while in fact implementing non-standard vendor-specific formats. And then, using patent threats against anyone who tries to reverse-engineer those.
It's a nice con trick. Many national bodies have realized what's going on but many are too corrupted or too ignorant to understand.
My blog
For starters, MS' "promise not to sue" is in no part friendly with the GPL (now that you mention it) And the mere fact that you need MS' to decide not to sue you for implementing their "open" standard is quite ridiculous (really...) What on earth prevents MS to suddenly decide to stop the promise?
Copyright infringement is "piracy" in the same way DRM is "consumer rape"
* (i) an unequivocal promise by words or conduct,
* (ii) evidence that there is a change in position of the promisee as a result of the promise (reliance but not necessarily to their detriment),
* (iii) inequity if the promisor were to go back on the promise. Microsoft's words are clearly unequivocal. There is clearly a change in position on the part of a developer who, having read Microsoft's promise, decides to incorporate this format into their software. It would clearly be inequitable then for Microsoft to take action against them.
Untested in court my ass. The first case to use it was 131 years ago.
Is *anyone, *anywhere, just aching to get their hands on the OOXML spec 'cause then they can springboard off of a bunch of the cool innovative things that MS formats can do?
Or is everyone, like me, just kinda hoping it's open enough so that we can sorta-promise clients that the software we develop will sorta-work with their piles of legacy, cruft-infested data. (At least, it'll sorta work until MS changes their document spec again and force-upgrades everyone through Genuine Windows YoureScrewed.)
My turnips listen for the soft cry of your love
Good question.
The key characteristics and innovative features of the Sun agreement in the OASIS context are: The declaration:(1) constitutes a blanket promise connected with ODF that's not restricted to particular facets or features;
(2) is irrevocable;
(3) is global valid in all countries and all jurisdictions insofar as Sun is concerned;
(4) is not time-limited with respect to the past, present, or new features added to future versions of ODF [insofar as Sun is obligated under OASIS IPR rules];
(5) is reciprocal, allowing Sun to be able to take action to protect itself and the community, providing rock-solid safety for developers and end-users;
(6) has no bureaucracy or paperwork;
(7) is simple and clear;
(8) makes no reference to essential claims which sometimes govern whether a waiver is applicable: the Sun statement applies regardless. As opposed to: The Microsoft Open Specification Promise is ambiguous
Moreover, in the OSP we find additional language limiting rights:
Microsoft Necessary Claims" are those claims of Microsoft-owned or Microsoft-controlled patents that are necessary to implement only the required portions of the Covered Specification that are described in detail and not merely referenced in such Specification."I've got more toys than Teruhisa Kitahara."
The objections are irrelevant in this case. If a party writes a contract, covenant, deed or other legal document that could be reasonably misinterpreted the ambiguity goes against the party that wrote it. That is why lawyers try to get the other side to draft contracts, its less risky.
Since we are talking patents here the enforceability of the patent is an issue. Given the nature of the problem I somewhat doubt that if the patents are enforceable against OOXML implementations that they would not cover ODF as well.
Microsoft's general approach to patents has been to 1) assert that company A infringes its patents, 2) sign a cross licensing deal with company A in which each company gets access to the patents held by the other 3) write company A a large check being the balance owed.
Of course it is quite possible that Microsoft might start demanding royalties at some point in the future but at this point they seem to care a lot more about not being sued than actually raising net revenue.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
Why stop at decimation, which would still leave us with 9 in 10 lawyers?
Microsoft have really lowered the barrier to making games on Windows and Xbox 360. XNA and C# have made it really easy to make games but they're so tied to Microsoft that there is no hope of a port. Most code includes look like this..
using System;
using System.Diagnostics;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;Simple, but Microsoft specific.
Making a cross platform game is a lot harder if you are trying to port something written from Windows because you don't even realise until it happens how non-standard you code can be between operating systems. Perhaps you're using the Windows registry or you're using DirectX. Your only hope really is to score an xbox arcade contract with the publisher Microsoft and if you have written your game in C# and XNA you can give up hope of a port unless you're going to go back and re-write some code in c++.
If you want to make a cross platform game then my advice is to write your code on a different platform (Mac, Linux, etc) and then port it to Windows. You'll find the port much easier this way around as it forces you to write your code to be cross platform and it leaves you open to some great debugging tools such as LatencyTop to help you figure out why your game is losing FPS.
That said you can't do all your game programming on Linux because the tools just aren't there. RenderMonkey for shader programming is a good example, but you can easily just do your shader programming on one machine and use the shaders in Linux. Ogre 3D for example has a shader exporter from RenderMonkey.