Office Open XML

Office Open XML ya da bilinen adıyla OOXML, XML tabanlı bir dosya sistemi olup, elektronik belgelerin (grafikler, sunumlar, çalışma kitaplar ve metinler gibi) saklanmasını amaçlar.

İlk olarak Microsoft tarafından Microsoft Office programı için ikili dosya sistemi olarak geliştirilen sistem, daha sonra Avrupa Bilgisayar Üreticileri Birliği ECMA'nın uluslararası teknik komitesi TC45 tarafından 376 numaralı standart olarak 2006 senesinin aralık ayında ilan edildi.

OOXML, ECMA tarafından ISO/IEC'e standart olabilmesi için sunulmuş ve DIS 29500 (Uluslararası Taslak Standart 29500) adıyla görüşülmeye başlandı. Taslak, Eylül 2007'de yapılan ilk oylamada ISO/IEC'ye üye ulusal komitelerden yeterli oyu alamamış ve uluslararası standart olarak kabul görmemişti. Bunun üzerine 24-25 Şubat 2008 tarihinde Cenevre kentinde bir çözüm toplantısı yapılması kararlaştırılarak, ikinci oylama mart sonuna bırakılmıştı.

30 Mart 2008 tarihindeki ikinci oylamada, OOXML bir ISO standardı olarak kabul edilmek için yeterli oyu aldı. Bu oylamada Türkiye, bir önceki oylamadaki kabul oyunu çekimsere çevirdi. Polonya, Almanya ve Malezya gibi ülkelerde yerel oylamalara yapılan itirazlar, sonucu değiştirmedi.

MS Office programının 2007 yılı öncesi sürümlerinde firma programın bileşenlerinde saklama için ikili dosya türleri kullanıyordu. Bu dosyalar geliştiriciler için uyumlu programlar yapmayı zorlaştırmanın yanı sıra insanlara bu bilgilere rüçhan payı ödemeden ulaşmayı ve firmanın patentlerini çiğnemeden bu dosyaları kullanmasını engelliyordu. Microsoft her ne kadar bu dosyaların bir kısmını rüçhan bedeli istemeden ve tek taraflı dava açmama akdi yaparak kullanıma açmış bile olsa, 2004 yılında Avrupa Birliği tarafından ofis standartlarını açıklaması ve standart hale getirmesini önerdikten sonra firma Kasım 2005 tarihinde Microsoft Office XML (daha sonra bu biçim ECMA Office Open XML adını aldı) adlı biçimi standartlaştırma kararı aldı.

ECMA'nın standart ilan ettiği sürümden önce firma kendi programında monolitik yapıda tek bir dosya kullanarak dosyanın içinde geçen resim ya da diğer bileşenleri ikili kodlama şeklinde XML dosyasına dahil ediyordu. Office Open XML, tıpkı kendisinden önce var olan ve ISO/IEC tarafından da standart olarak kabul edilen OpenDocument biçimi gibi ZIP dosya sistemini kullanarak tüm bileşenleri ayrı ayrı dosyalarda tutar. Bu sayede PNG, BMP, AVI ve PDF gibi biçimler OOXML ile yaratılmış dosyaların içine eklenebilir.

Bir Office Open XML dosyası Microsoft ürünleri ile haberleşebilecek bir dili (89 şema modülü sayesinde) içerir ve firma sadece kendi ürünleri haberleşen bu dili standart hale getirmeye çalışmaktadır. Bunun dışında standart çeşitli ofis dosyalarının açılması için çeşitli ortak diller de ihtiva etmektedir.

Ortak diller aşağıda yer alan materyaller ile çalışır.

Bu sayede OOXML yukarıda belirtilen standartları kullanarak geliştirilebilir.

OOXML'in XML şeması yükleme ve parçalama zamanlarını düşürdüğü söylenmektedir. 2007 Nisan ayında yapılan araştırma neticesinde ikili dosya tipine göre xml tabanlı daha hızlı yüklenmektedir. OOXML bu durumu aşabilmek için kısa genel öğe isimleri kullanmış ve özellikle çalışma kitaplarında yıllara göre indeksleme yapmıştır. Bu sayede dosya içeriği insanlar tarafından okunacak kadar sadeleştirilmiştir.

ECMA, dosya biçimine ilişkin teknik şartnameyi "ilgilenen gruplar tarafından herhangi bir kısıtlamaya tabi olmadan kopyalanabilir" ibaresi ile sunmuştur. Bir standardın herkes tarafından eşit şartlarda kullanılmasını sağlamak için patent haklarından en azından makul ölçüde ve kimsenin aleyhine kullanmamak şartları ile vazgeçilmesi gerekmektedir. ECMA da standardı yayınlarken bu şartlara değinmiş ve bu yüzden dosya biçiminin asıl ve tek katkıcısı Microsoft olası patentleri için CNS (Dava Etmeme Akdi) ilan etmiştir. Bu ilan hukuk çevrelerinde görüş ayrılığına yol açmış, azınlık görüş problemin çözüldüğünü söylese bile çoğunluk bu durumu dikkat ve kuşku ile karşılamıştır.

Firma, CNS yanında ayrıca kendisinin geliştirdiği OSP (Açık Kaynak Sözü) programına da biçimi dâhil etmiştir. Basit bir söylem ile firma yazılım üreticilerini bu program dahilinde olan biçimleri kullanırken patentlerini ihlal etmesi nedeni ile dava etmeyeceğini tekrarlamıştır. Biçim istenirse CNS istenirse OSP şartları ile kullanabilir.

OSP programına da dâhil edilen metinler, ECMA tarafından ISO onayı için kuruma sunulmuş ve ECMA lisanslama konusuna getirilen eleştirilere şu ilkeler doğrultusunda cevap vermiştir:

Firma, ECMA'nın teknik şartnameleri ücretsiz olarak sunması ve OSP programının karakteristik özellikleri nedeniyle OOXML'in Avrupa Birliği açık kaynak kodu standartlarına uygun olduğunu düşünmektedir.

OOXML'in bakım rejiminin nasıl olacağı şu ana kadar netleşmemiştir. Buna rağmen ECMA bir bakım programı teklif etmiştir.

Bakım ile ilgili hangi usul kabul edilirse edilsin, JTC 1 komitesinin direktiflerine göre aşağıda yer alan maddelerin karşılanması gerekmektedir.

Beş aylık oylama sürecinde ulusal komite süreçlerinde yaşananlar ciddi itirazlara konu oldu. Avrupa Komisyonu OOXML'in birlikte işlerlik (birlikte çalışabilirlik - interoperability ) kapasitesinin ECIS kriterlerine uyumlu olup olmadığını araştırmak için bir soruşturma başlattı. Çeşitli kaynaklar bu soruşturmanın ISO/IEC süreçlerinde yaşananları da kapsadığını söylemektedir.

Konu ile ilgili bazı örnekler şunlardır:

Bağımsız güvenlik uzmanları OOXML ile ilgili çeşitli güvenlik kaygılarını dile getirmekteler.

7.228 sayfalık OOXML belirtim belgesinde makro kullanımı ile ilgili herhangi bir bilgi bulunmaması, bu güvenlik kaygılarının temelini oluşturuyor. Geçtiğimiz 15 yılda gelişen ofis programları kullanıcılarına zengin metin editörleri, çoklu ortam seçenekleri sunmanın yanı sıra ayrıca sayısal belgelerimizi programlama ve onları amaca göre uyarlama şansı da veriyordu. Makro, yeni bir kavram olmadığı gibi pek çok insanın özellikle hesap tablolarında kullandığı bir araç. OOXML metnini içeren ISO DIS 29500 ise makrolarla ilgili hiçbir tanımlama yapmıyor. Belgenin sadece bir makronun "Makro butonu" ile tetiklenebildiği belirtiliyor. OOXML standart belirtim metninde aşağıda yer alan sorular hâlâ cevapsız:

OOXML'in standart belirtim belgesine göre, her üretici makrolar için kendi ikili dosyalarını belgeye ekleyebiliyor. Teorik olarak bir belgeyi açan kişinin sistemde yönetici olması durumunda kötü niyetli bir kod kullanıcının haklarına sahip olarak sistemde istediği değişikliği (dosya yazma, silme, kayıt defteri ayarlarını değiştirme, internetten dosya indirme ya da yükleme gibi) yapabilir. 1997 yılından başlayarak dünyayı saran makro virüsleri (Örneğin, 1999'da çok hızlı yayılan ve çok tehlikeli olan Melissa gibi) OOXML'in standart olması ile beraber çok daha gelişmiş ve tehlikeli bir şekilde yaygınlaşabilirler.

OOXML tabanlı bir üretim yapan üreticinin hangi dilde yazılmış makro API'sini kullanacağı belli olmadığından bu tip virüslerin ve zararlı kodların 3. parti güvenlik yazılımları tarafından yakalanması, OpenDocument'a kıyasla son derece güç. Bunun dışında OOXML ile birlikte çalışabilen programların makro ile ilgili standart bir çözüm olmaması nedeniyle başka üreticilerin programları ile yaratılan dosyaları açması, işlemesi ve çeşitli düzeylerde güvenlik önlemi alması da mümkün değil.

OOXML (ECMA tarafından kabul edilen şekliyle) Microsoft Office ürünleri için temel kaydetme biçimdir. Programın eski sürümleri için uyumluluk kipleri vardır. Aşağıda, OOXML desteği sunan programlar sayılmıştır.