我國的國發會推廣開放文件格式(OpenDocument Format,ODF)已經行之有年了,不只政府文件開始要求不要使用 Microsoft Office 的 Word 格式,許多大學也訂定 KPI 要求各系所文件要掛上 ODF 格式、PDF 格式等。這樣才不會被微軟綁架,導致政府、學術機關每年都得繳交龐大的軟體授權費。

(首圖來源:Wikimedia Commons)

而政府也提出解決方案,鼓勵大家使用開源軟體,如 LibreOffice、OpenOffice 等等。這也曾經掀起一股討論風潮,究竟 LibreOffice 能不能取代 Microsoft Office?前些時段恰好聽到某些地方政府已經(幾乎)全面使用 ODF 等開放格式在交換公文,但突然收到外縣市丟過來的 docx、xlsx、甚至是 doc,基本上很難打開不跑版。那這種時候究竟是該縣市政府選用 ODF 的錯,還是其他地方政府繼續用 Microsoft Office 的錯?

為了深入研究這個問題,恰好找到一系列三篇文章。建議繼續閱讀本文前可以看看這三篇:

這幾篇文章其實都在講:不要被商業軟體綁架、不要助長推廣綁架人的商業軟體。

相容性與標準

我們日常生活中有許多標準,有了這些標準才能方便我們使用很多東西。例如電池現在有三號電池(AA)、四號電池(AAA),手機和電腦都可以使用 USB Type-C 規格,甚至是規範時間表示法的 ISO 8601 標準、中文文案排版指北、上網傳輸時的 HTTP 狀態碼 等等。要不是有這些標準,我們可能換一次手機廠牌就要買一條新的充電線、買車子的輪胎還有可能不一樣大......。這些標準不知不覺融入我們的生活,也造就了我們的方便,而這些開放的標準,也才能讓市場自由競爭、而不是靠著自己獨家的規格仗勢欺人、趁勢漲價。

而 doc/docx 檔案、xls/xlsx 檔案、ppt/pptx 檔案,就是由 Microsoft 自己訂的規格,我們稱為 OOXML(Office Open XML)。

不是所有名字有 Open 的東西都是開放的 XD

當初訂定 ODF 時,有參考並重新利用了許多既有的規範,如 SVG、MathML 等既有的 ISO、W3C 標準;反倒是 Microsoft 的 OOXML 有刻意混淆,避免讓其他第三方軟體讀取的嫌疑。舉個例子,在 ODF 的標準中,不論是 LibreOffice 的 Writer、Calc 和 Impress 三個軟體都是用 #FF0000 標準的 RGB 色碼來代表紅色;但 OOXML 中對應的三個軟體,Word 使用 FF0000、Excel 使用 FFFF0000、PowerPoint 則用 FF0000

在這邊並不是要大家去讀懂一份 ODF 文件背後的標記、原始碼到底長怎樣,而是要以實際的例子去解釋 Microsoft 的 OOXML 和開放的 ODF 規格差在哪裡、誰才是標準。想看更多例子,包含下面這段文字:

<start text>To be, or not to be,
this is the problem.<end text>

想知道在 OOXML 中會怎麼標記,甚至更多其他問題的話,歡迎閱讀這兩篇文章:

也就是 OOXML 的奇怪規格,才會導致 Word 檔案在很多第三方軟體都無法正常讀取,如上傳到 Google Docs 後跑版、用 macOS 版的 Word 編輯後也跑版等等。畢竟,當年微軟提到「不能讓其他瀏覽器可完美呈現 Office 文件」(資料來源)。

One thing we have got to change in our strategy - allowing Office documents to be rendered very well by other peoples browsers is one of the most destructive things we could do to the company.
We have to stop putting any effort into this and make sure that Office documents very well depends on PROPRIETARY IE capabilities.
Anything else is suicide for our platform. This is a case where Office has to avoid doing something to destroy Windows.

office_proprietary

改用 ODF、OpenOffice?

讀到這邊或許你可以理解 Microsoft Office 的問題在哪裡。所以我們應該大舉改用 OpenOffice、LibreOffice 嗎?我也曾經試圖改用過這兩個軟體,但實際上打開就是會出很多問題、用起來就是沒有那麼順手。

......更何況,openoffice or libreoffice 都還不是足夠好的替代品。(我自己曾經裝了 open office ,而且以他為主力用了四年。)
我是開源的支持者,但開源不能靠義和團式的推法。—— TonyQ,2017

我們或許沒辦法一口氣做出一套又開源、又能完美支援 OOXML 和 ODF 的軟體,更不可能馬上要求學界、政府馬上停止使用 docx、pptx 檔案。但是,「開放」這個概念從不僅止於軟體和標準,心態也應該是開放的。至少現在能做的事情是,非到不得已的時候──像是一定要排版做論文或報告的時候──不打開 Word 來做檔案,例如做會議紀錄的筆記、整理待辦事項、撰寫軟體文件等,這些都可以透過開放的標準來完成,例如 ODF、Markdown、HTML,甚至使用免費的工具如 Notion、Evernote、Google Docs 等。

免費不等於開放。如上所述 Notion、Evernote 和 Google Docs 仍屬於商業軟體,許多需要訂閱/付費升級的服務都有免費方案。

可以怎麼做?

開放,不是一個技術議題,而是一個管理/社會議題。 就簡報製作的部分,或許短期內還沒辦法脫離 Microsoft PowerPoint,不知不覺中我們對微軟工具的依賴程度已經強到我們把投影片(slides)統稱為 PPT 了。但至少文字上的東西可以嘗試改用其他軟體/服務來製作,而真的怕跑版的文件可以用 PDF 格式來保存、交換。

已經有許多不使用開放標準而造成的悲劇,像是 Adobe Photoshop 系列從 CC 以後就變成了訂閱制(當然訂閱制有好有壞);Facebook 收購行動應用開發服務 Parse 後無預警關閉(類似 Firebase 的服務);還有 Google 用 AMP Pages 壟斷搜尋市場的例子等等。

改變要付出很大的代價,但是長遠看來,不改變會付出更高的代價。二十年來我們歷經了 Office XP、Office 2003、Office 2007、Office 2010、Office 2013、Office 2016、Office 2019,從我們習慣用盜版到現在我們慢慢知道要花錢買軟體(或是用學校、公司授權),不知道花了多少錢。但如果有一天 Office 改為全面訂閱制我們能接受嗎?無論是 Adobe 系列、Microsoft Office 系列、到 Windows 作業系統,當這些軟體的費用越來越高,甚至從一次付費改向了訂閱制。如果我們想要長遠發展資訊交換的制度,就不該使用這種封閉規格當作標準,而是應該嘗試使用自由軟體,跳脫出我們依賴這些商業軟體的框架。

SDG

世界在改變,永續發展是目標。微軟這幾年喊出「Microsoft loves Linux」的口號;GitHub 要將開源程式碼存放在北極的保險櫃(GitHub Arctic Code Vault)至少 1000 年,這些動作也呼應了聯合國永續發展目標(Sustainable Development Goals, SDG)的第十六點「公平、正義與和平」。

最後,分享「好和弦」對 Linux 與自由軟體的看法:

只要你能夠幫助自由軟體得到一點點進步,你就等於是在幫助全世界的人類。

想了解好和弦這句話的脈絡,可以看下面這部影片。