OOXML – стандарт?

Вече знаем новината. Приеха го за стандарт. И доказаха, че парите могат всичко. Какво обаче следва от това?

Нищо лошо – един стандарт повече. Особено при положение, че (с доста условности) е свободен. За съжаление обаче подозирам, че следват и един куп лъжи към потребителите. На една от тях съм посветил този запис. А именно – че MS Office 2007 използва свободен формат, който е ISO стандарт, и има широка поддръжка.

Истината е, че OOXML няма никаква поддръжка. Не съществува софтуер, който да може да го чете или пише. Нито пък е свободен. Microsoft са обявили, че няма да съдят използването му за некомерсиални цели, но ще искат такса за използването му за комерсиални цели (Microsoft Open Premise). Освен че е несъвместимо с идеята на световен стандарт (от средство за постигане на интероперабилност стандартизирането се превръща в средство за правене на пари, тоест точно обратното), това условие е несъвместимо и с принципите и лицензите на свободния софтуер. (писал съм за това преди).

Също така, Microsoft Open Premise важи само за сегашната версия на формата. За бъдещите му версии не са поемани никакви обещания. Напълно е възможно сравнително скоро да видим следваща версия на формата, която обаче не е обвързана с това обещание. Резултатът ще е, че разработчиците на приложения, които използват OOXML, ще трябва да плащат на Microsoft за патентите им върху негови елементи. Ако Microsoft изобщо им продаде права по тези патенти. Което те могат и да не направят, по каквито си щат причини. Например ако не им харесва този или онзи конкурент. (Microsoft имат доста история и в отношенията си към конкуренцията.)

MS Office 2007 поддържа формат, който е в някаква степен близък до OOXML, но не е същият. За да не се бъркат двата, бих го нарекъл условно Office 2007 XML. OOXML е базиран на Office 2007 XML, но в него има промени, които правят двата формата на практика несъвместими. Office 2007 XML не е покрит от Microsoft Open Premise – обещанието им да освободят формата – тоест, е несвободен формат.

Най-прости файлове (гол текст, електронна таблица без формули…), записани в двата формата, са до някаква степен сходни – добре написано приложение, което поддържа единия формат, има добри шансове да може да прочете коректно файл от другия. (Без гаранция, че след като го запише обратно, оригиналното приложение ще може да го прочете.) При по-сложни файлове (текстове с рамки и вмъкнати изображения, електронни таблици с формули, и т.н.), каквито са огромният процент създавани днес файлове, разликите обикновено ще са непреодолими.

Оттук е и лъжата. MS Office 2007 НЕ поддържа OOXML, и съответно не е приложение, което може да използва приет от ISO формат. Нито пък форматът му е свободен. OOXML няма към момента НИКАКВА поддръжка, така че използването му като формат е безсмислено. В същото време, конкурентният формат ODF се поддържа в почти пълна степен от OpenOffice.org и StarOffice, и в немалка степен от KOffice и някои други офис-пакети; в усилена разработка е плъгин, който ще позволи на MS Office да работи с ODF.

Възможно е бъдещи версии на MS Office да поддържат OOXML. Като се има предвид обаче многозначността на схемите в дефинициите на формата (едно и също нещо може да бъде описано по няколко различни начина), е възможно имплементацията на OOXML в бъдеща версия на MS Office да бъде непълна – да се поддържат само някои от вариантите за описване. Това отново превръща формата на данни на пакета MS Office в “движеща се цел” – конкурентите ще трябва да губят години, докато налучкат какво поддържа MS Office, и какво не. Дори ако конкурентите реализират пълна имплементация на OOXML (което е почти невъзможно – форматът е изключително сложен и на места неясен), те ще могат да четат записаните от MS Office файлове, но записаните от тях файлове вероятно няма да се четат коректно от възможно непълната имплементация на MS Office. Тоест, Microsoft ще продължават да могат да използват файловия формат на MS Office като средство за “арестуване” на потребителя и налагане на свой монопол – нещото, което стандартизацията на формата цели да предотврати.

Така че, накратко:

  • MS Office 2007 НЕ използва формат, който е приет стандарт, или пък е свободен;
  • стандартът за формат OOXML няма НИКАКВА поддръжка от приложения, и НЕ Е свободен формат.

Това е истината. Когато някой започне да ви лъже, че MS Office поддържа свободен ISO стандарт за файлов формат, или че OOXML има поддръжката на офис-пакет с голямо разпространение, го прекъснете и го попитайте защо ви лъже. Ако “не разбира” какво имате предвид, обяснете му го. И го попитайте как така не го знае. Ще е много неприятно излагане, но ще си го е заслужил.

1 thought on “OOXML – стандарт?

Leave a Reply

Your email address will not be published. Required fields are marked *