8 lipca br. na listach OASIS pojawiło się ogłoszenie informujące o dostępności kompletnego projektu standardu OpenDocument 1.2. Aktualnie standard wszedł fazę konsultacji, które potrwają 60 dni, aż do 6 września. Do tego czasu programiści, użytkownicy i osoby zainteresowane mogą składać swoje uwagi. Potem ODF 1.2 zostanie przekazany Międzynarodowej Organizacji Normalizacyjnej do zatwierdzenia jako zaktualizowanej wersji normy ISO/IEC 26300 (ODF 1.0).
Dlaczego ta aktualizacja jest taka ważna? Głównie chodzi o rozdział OpenDocument Format Formula (ODFF), która tłumaczy jak należy opisywać formuły w arkuszu kalkulacyjnym. Gdy w kwietniu 2009 roku, Microsoft wydając Service Packa do Officea 2007 odbębnił wielki sukces, wielu użytkowników naiwnie uwierzyło, że to początek końca problemów z interoperacyjnością. Wielu też przekonało się na własnej skórze, że microsoftowy slogan „użytkownik jest najważniejszy”, jest tylko sloganem, a przenoszenie danych między Excelem a OpenOffice Calc, jak było nieprzyjemne, tak nadal takie będzie.
Rob Weir (przewodniczący grupy OASIS) już miesiąc po „załataniu” Officea udokumentował jego braki, posługując się prostym przykładem.
Stworzył arkusz z danymi, na podstawie których obliczał czas do zaplanowanego wesela. Były to proste wzory polegające na odejmowaniu i dzieleniu. Rob przy okazji wykonał kilka testów, które wykazały brak kompatybilności z jakimkolwiek innym czytnikiem/edytorem ODF, niż Microsoft Office.
OK, ale z czego to wynikało?
Odpowiedź jest bardzo prosta. Excel po prostu zapisywał arkusz w standardzie ODF 1.1, ale funkcje matematyczne zapisywał już po swojemu.
A dlaczego właśnie „po swojemu”, a nie „w ISO”?
I tutaj odpowiedź jest jeszcze prostsza. Bo chłopaki z OASIS-u dali ciała i pierwsza wersja standardu nie zawierała takich wymagań. Sam Microsoft pod płaszczykiem współpracy (w rzeczywistości pijaru) wprowadził jeszcze większe zamieszanie, a w konsekwencji przenoszenie danych z Excela 2007/ODS do Calca było bardziej upierdliwe niż robienie tego samego z formatu binarnego.
To jeszcze nie koniec. Fakt faktem, norma ISO/IEC 26300 (ODF 1.0) nie zawierała opisu formuł, jednak taki opis był w obiegu już od bardzo, bardzo długiego czasu. Mam, tutaj na myli, właśnie OpenFormule, która od początku została przewidziana jako część standardu ODF 1.2.
Już OpenOffice.org 3.0 wydany w październiku 2008 r. korzystał z ODFF@ODF 1.2, a Microsoft w kwietniu 2009 roku wydał implementację nieaktualnej i niezgodnej (bo niepełnej) normy.
Gdy użytkownicy wpadli w pułapkę, a lament rozniósł się po sieci, Microsoft bronił się stwierdzeniem, że implementacja miała dotyczyć i dotyczy zatwierdzonego standardu, a nie szkicu normy.
Oczywiście firma ta miała do takiego stwierdzenia pełne prawo i było ono (tym razem) zgodne z prawdą. Jedyne co można zarzucić Microsoftowi to niedbanie o użytkowników i stosowanie podwójnych standardów. Zdawałoby się, że implementacja czegoś, co za niedługo będzie oficjalnym standardem ISO, jest truizmem i koniecznością, ale nie dla Microsoftu i nie tym razem.
Za to nic złego i niestandardowego nie widział Microsoft w wybiórczej implementacji selektorów CSS3 w Internet Explorerze 8, które – przypomnę – swój status szkicu standardu podtrzymuje już od 2001 r.
Nie widział też nic złego w szumnych (początkowych) zapowiedziach obsługi międzynarodowej normy ISO/IEC 26300 (ODF 1.0), przy jednoczesnym cichym przejściu na normę OASIS (ODF 1.1), nota bene, do tej pory nie ustandaryzowanej.
Co jest jeszcze ciekawe, nie udało mi się powtórzyć błędu na testowych plikach Roba Weira. I naprawdę nie mam pojęcia, czy ma to związek z używaniem Officea 2010, a nie 2007 SP2. Microsoft czaruje i zaskakuje, ale czy nie można było tak od razu? Czy to jest właśnie jeden z tych tzw. „killer feature”, które mają skłonić użytkownika do zakupu aktualizacji?
Cześć działań Microsoftu była zakłamana, ale też pożyteczna dla użytkowników. Część była zakłamana i dalece negatywna. W tym momencie pewnie podnoszą się krzyki, że firma ta ma prawo do działań korzystnych dla siebie. I ja się z tym zgadzam. Niestety to, co dobre dla korporacji, może też być niedobre dla użytkownika. Nikt chyba nie uwierzy, że Microsoft pragnie świata, w którym klient wybiera oprogramowanie na podstawie realnych potrzeb, a nie przez pryzmat zamkniętych i wadliwych, czy quasi otwartych i niepełnych filtrów importu / eksportu. Jedyny świat, jaki widzi Microsoft to świat jego maksymalnej hegemonii i niepodzielnej władzy, w którym dobro użytkownika jest dobrym hasłem promocyjnym.
Wróćmy jednak do wątku wydania specyfikacji OpenDocumentu 1.2. Dlaczego jest to tak ważne? Jest to istotne, gdyż nowa wersja ogranicza microsoftowską fantazję do implementacji po swojemu. Nowa implementacja powinna być bardziej ISO ODF, a mniej MS ODF.
Microsoft także po wielu zawirowaniach i walkach przyłączył się do grupy OASIS, aby rozwijać OpenDocument. Ma w nim swój udział poprzez osoby: Douga Mahugh, Erica Patterson i Stephena Peront. W skład komisji wchodzi także Patrick Durusau, który w środowisku zasłynął z pozytywnych opinii na temat OpenXML-a i krytycznych wobec ODF-u. Wierzę, że dzięki pracy tych ludzi, ODF 1.2 będzie dobrą normą, z której zadowolone będzie jeszcze większe grono odbiorców.
Co jeszcze jest ważne? Microsoft biorąc odpowiedzialność za rozwój normy, sam pozbawił się prawa do krytykanctwa, na czym z pewnością ucierpi jego dział marketingu. Może to też pozwoli na bardziej rzeczową dyskusję wśród nietechnicznych odbiorców.
Co nam pozostaje w tej chwili? Chyba nic oprócz czekania na implementację Otwartej Formuły w Excelu. Już teraz Microsoft ma około dwa lata poślizgu. Można również zgłosić swoje uwagi, do czego zachęca sam Rob Weir. Jestem pewien, że wielu komentujących tutaj specjalistów, w tym „sWeeT-Dżola ;)” bardzo chętnie poprawią pracę inżynierów Oraclea i Microsoftu. Macie na to 60 dni pracy, chłopaki. Powodzenia!
Uwaga:
Microsoft Excel 2010 podobnie jak wersja 2007 SP2 obsługuje ODF v1.1 (sposób kodowania funkcji identyczny z OOXML).
Przykład działa, bo nowe wersje OpenOffice.org „nauczyły się” obsługiwać kolejny (to chyba już czwarty[1]) sposób zapisu wzorów.
[1] W zależności od wersji programu przykładowa formuła „=A1*B1” może być zapisana następująco (parametr table:formula):
KOffice 1.x/OpenOffice 1.x (??)
table:formula=”=[.A1]*[.B1]
OpenOffice 2.x (ODF 1.0/ODF 1.1)
table:formula=”oooc:=[.A1]*[.B1]”
OpenOffice 3.x (ODF 2.x)
table:formula=”of:=[.A1]*[.B1]”
Microsoft Office 2007SP2 / 2010 (OOXML)
table:formula=”msoxl:=A1*B1″
A skąd te dane?
W obecnej edycji ODF (1.1) treść formuły musi być poprzedzona prefiksem przestrzeni nazw. Dla przykładu, który podałem:
– OO.org 1.x, KOffice 1.x, Lotus Symphony 1.x – nie był zgodny ze standardem,
– OO.org 2.x – stosował 'oooc’,
– OO.org 3.x – stosuje 'of’, czyli OpenFormule z ODF 1.2,
– MS Excel – stosuje własną (1)
Z obsługą ODF w MS Office jest tak jak ze zgodnością z POSIX w Win NT (2), czyli ma być, bo takie były wymagania.
Inna sprawa czy ktoś tego będzie używać.
(1) msblog – D. Mahugh
(2) In Office SP2, Microsoft manages to reduce interoperability – J. Allison
(3) OO Calc ODFF
OK, a jak wytłumaczyć to, że Excel 2010 odczytał arkusz Roba Weira? Czyżby tak jak Calc, nauczył się odczytywać kilka rodzajów wzorów?
Btw. Poszukuję informacji o tym jak komisarz/prezes/ktoś ważny z ISO wydawał oświadczenie/publiczne żale na opieszałość Microsoftu w związku z implementacją ISO OpenXML w MS Office. Kojarzysz może niusa?
MS Excel 2010 podobnie do wersji 2007 nie czyta formuł w standardzie ODFF. Nie masz jakieś wtyczki doinstalowanej?
Nie, nie słyszałem.
[…] Wzbogacenie Calca o nowe funkcje matematyczne i opcje do już istniejących, zgodnie ze specyfikacją OpenFormuła (ODFF (OpenDocument Format Formula) jest częścią normy ODF 1.2) […]