Open Standards

It all starts with one simple question.

Who owns your data?

If you wand the answer to be "I do", then you need vendor neutral, open standards.

An open standard are basically a published technical document which describes as unambiguously as possible the precise make-up of a format or some other needed specification so that anyone can implement it without a problem.

A good standard is clear, comprehensive, unambiguous and unrestricted, and a very good one has an Open Source Reference implementation, and test suite, proving it can be implemented, and giving something to refer to.

Not only must the document be technically up to the job of clearly specifying such a document format (like .Gif) or transmission protocol (like ftp), but it must also not have encumbrances like patents or licence fees.

Standards can fail this test in a number of different ways. Microsoft's Office Open XML format is a good example of a number of these failure modes. For Example:

It is insufficiently clear. terms like 'AutoSpaceLikeWord95' doesn't tell anyone without a copy of word95 how it should look, and even if you have word95, it doesn't give enough details to implement it.

It is patent encumbered. While there is a general exemption for the core functionality, anything not covered in detail in the specification is not covered, so even if you could figure out the details that are missing, you could still be sued.

Because of the patents, Microsoft basically becomes the gatekeeper of the standard. only people able, willing and aware enough to pay whatever Microsoft ask are able to implement the standard in full

Everyone else is vulnerable to being sued out of competing with Microsoft's implementation of these standards. If you think I am exaggerating, this is exactly what happened to TomTom.

Even worse is when the patents in question are hidden, until the standard becomes embedded enough that you have to implement it. These Submarine Patents are a definite problem, as was seen with the Gif and mp3 formats.

Even when the fee is specified as "Reasonable and Non-discriminatory terms" or "reasonable and customary consideration", it is usually neither reasonable or non-discriminatory,
as it usually is a per-seat fee and not Open Source friendly.

Of course the best combination is open standards, implemented as open source code, running on an open platform.