我不用 .doc 檔

「我不用 .doc 檔」 其他版本: 1999-2003 版; 2004-2007 版; 2008 版


我不用 .doc 檔

你會看到這篇文章, 可能是因為和我一樣, 經常為了收到 .doc 檔而困擾; 也可能是因為你發出去的 .doc 檔造成了別人的困擾。 這篇文章代表受害者的吶喊: 「我不想買這套品質與價格不相稱的軟體, 請不要逼我非法拷貝!」

「大家都用 MS Word, 收發 .doc 檔怎麼會是困擾呢? 」 首先, 並不是大家都用 MS Word -- 有很多人的電腦裡面連 MS Windows 都沒有, 更不可能有 Word。 其次, 很多人都在做的事情, 未必就傷害不到別人。 廿年前, 「大家」都在密閉的公共場所製造二手煙, 所以每個人都應該乖乖地吸二手煙嗎?

這篇文章的目的不在責難你, Word 的使用者, 因為責任可能不在你身上, 而在教 Word 的老師及寫書的作者身上。 身為專業人士, 他們有義務 (但卻可能沒有) 告訴你: 在徵得對方的同意之前, 就直接將你的「最新版」 .doc 檔寄給別人, 是不道德的。 這篇文章的目的在於:

  1. 向社會大眾解釋, 為什麼有很多重視「資訊內容」 甚於「文件外觀」的資訊專業人員不願意使用 Word;
  2. 呼籲 Word 使用者尊重別人選擇不用 Word 的自由, 不要隨便寄 .doc 檔給別人 (就像其他人應該尊重 Word 使用者關起網路, 在自己的機器上使用 Word 的自由一樣);
  3. 呼籲舊版的 Word 使用者及不使用 Word 的朋友勇敢地站出來, 理性而堅決地拒收最新版的 .doc 檔。
  4. 呼籲已經開始使用 OpenOffice.org 的朋友繼續抵制 .doc 檔, 不要因為 OO.o 可以讀 .doc 檔就停止抵制

不用 .doc 檔, 天空更寬敞

首先, .doc 檔佔用很大的空間。 以這篇文章為例, 如果存成 .doc 檔大約是本來 (.html 檔) 的 5 倍。 「現在的硬碟容量很大, 我們何必在乎浪費一點空間呢?」 平時是無所謂; 但是當你要把檔案備份到軟碟上時, 就有差別了。 雖然壓縮可以解決部分問題 (壓縮後的 .doc 檔還是比壓縮後的 .html 檔要大), 但有很多人正因為嫌多了這一道手續麻煩, 或者因為壓縮後檔案仍舊太大, 而不願意經常作備份。

我不用 .doc 檔, 所以每天可以很輕鬆地把所有文件備份 2 至 3 次, 也因而從來沒有遺失大量文件的痛苦 -- 因為一個月來所有的講義, 考卷, 網頁,..。 等等文件, 可以壓縮在一張磁片上。

其次, .doc 檔會攜帶病毒。 Word 的巨集功能很強, 但也因此讓有心人很容易在 .doc 檔中摻入破壞的指令, 導致收到 .doc 檔的人 "腦毀碟亡", 如果你很少使用巨集功能, 卻因 .doc 檔內的巨集病毒而經常中毒, 更是冤枉。

我不用 .doc 檔, 因此從來不受巨集病毒侵襲。

更糟糕的是, 不同版本之間的 .doc 檔相容性很低。 大家都知道, 新版的 Word 一出來, 所有消費者非升級不可, 因為新版的 .doc 檔在舊版的 Word 中無法讀取。 大家都升級了, 如果我不升級, 收到新版的 .doc 檔就糟了。 「那當然啊, 新版的程式可以讀舊版的檔案, 舊版的程式怎麼可能讀新版的檔案呢?」 如果 MS Word 的推銷員這樣告訴你, 那麼他不是缺乏專業知識就是在欺騙你。 舊版的程式自然無法處理新版中增加的功能;但是至少應該把 新版的 .doc 檔案中舊的功能 顯示出來。 [舊軟體應該要可以讀新檔案的一小部分]

舉例來說, 假設舊版的 Word 只能處理文字與圖片, 而新版的 Word 可以在文件中安插動畫與聲音。 如果別人用新版的 Word 製作出一 份具有聲光效果的 .doc 文件交給我, 舊的 Word 有責任把文字與靜態的圖片顯示出來, 而不是完全拒絕開啟檔案。 當然如果想看聲光效果, 那就必須使用新版的 Word 了。 舊版的 Word 有責任顯示基本圖文, 可是卻拒絕這麼做。 為什麼? 聰明如你者, 應該可以猜到答案。 [1] 撇開政治因素不談, 純綷從技術角度考量, 使用者對 Word 的有這樣的要求絕對是合理的。 就像稍舊的手機無法顯示簡訊中的彩色圖形, 這是合情合理的; 但是如果連文字都顯示不出來, 就不應該了。 我們懂得要求手機製造商, 為什麼不懂得要求軟體製造商呢?

你一定上過一些網站, 上面建議你升級瀏覽器, 要不然看不到最新最炫的功能。 如果我們就是不升呢? 這一頁完全都看不見了嗎? 當然不是, 我們還是可以看到文字和靜態的圖案。 你知道嗎? 自從有 WWW 以來, .html 檔案格式從 2.0, 3.2, 4.0, xhtml 1.0, ..。 升級了許多次。 [2] 可是因為 .html 檔案格式符合上述的要求, 而大部分的瀏覽器在這方面也配合得好, 所以用舊的瀏覽器還是可以看新版網頁中的文字與靜態圖表, 大不了只是少看一些最新最炫的功能而已。 大部分使用者不知道 (也不需要知道) .html 檔案格式的更迭, 不需追逐流行盲目升級, 仍舊可以上網 (這篇文章的原文網頁用的就是比一般 .html 更新的 xhtml 1.0 格式)。 誰說舊版的程式不可能讀新版的檔案呢?

我不用 .doc 檔, 所以不必擔心微軟綁架我的文件, 從來沒有「為誰而升級, 為何而升級」的因擾。

微軟的 .doc 檔還有侵犯個人隱私權的問題。 你所製作的 .doc 檔當中, 含有你的電腦的網卡編號 (就像網卡的身份證或指紋一樣, 全世界每張網卡有獨一無二的 MAC 編號), 如果有必要, 可以由此查出這份文件是在那一部電腦上製作的。 更因為作者姓名公司電郵等身份資訊, 甚至是曾經用 undo 功能刪除掉的舊文字也會出現在 .doc 文件當中, 警局, 公司, 甚至國家都曾因為 .doc 檔洩密而吃過虧。 [3] 雖然微軟如此做的目的或許可能只是在追蹤非法的使用者, 但是對合法使用者而言仍舊是一種隱私的侵犯, 更令使用者暴露於隨時要提心吊膽私密資料是否外洩的恐懼之中。

我不用 .doc 檔, 所以不怕隱私受到微軟侵犯。

公開的檔案格式規格書 (file format specification) 是確保資訊內容可以自由交換/轉換/流傳/保存的基礎。 探究上述問題有一大半原因來自 .doc 檔案格式的封閉性 -- 它沒有公開的檔案格式規格書。 儲存文件如果採用的是沒有公開規格書的格式, 就像將自己的財產放入保險箱中, 卻由他人代管密碼一樣, 任何一次存取, 都要仰賴保管者的善意與配合。

兼顧現況與未來的 .html 檔

不用 .doc 檔, 那麼該用什麼檔呢? 如果你重視文件的內容勝過外觀, 為了確保文件可以攜入任何簡陋的工作環境, 寧可犧牲一些排版的精細微調彈性, 那麼可以考慮使用 .html 檔, 甚或是最簡單的 .txt 純文字檔 (用記事本 notepad 即可開啟的檔案格式) 來取代 .doc 檔。

Html 檔佔用的空間小, 不攜帶病毒 (如果你不隨意打開 scripting 功能的話)。 它雖然不是專門為文書處理而設計的格式, 但是要表達簡單的圖文表格都沒有問題。 例如我的講義/文章/所有文件就全部都是 .html 檔 (或 .txt), 美觀固然不足, 但並無害於傳達意念。 如果你遇到連 .html 檔都無法解決的版面問題, 那麼, 恕我直言, 在大多數情況下, 需要考慮放棄的可能不是 .html 格式, 而是這個僵硬的文件格式規定或排版習慣。 更何況在這個網路時代, 讓所有的文件作隨時可以上網的準備不是比較有前瞻性嗎? 而且隨著 .html 檔案格式與相關技術的進步, 美觀問題總會慢慢改善。 [4] 最重要的是, 它是一個公開的標準, 不受任何單一廠商的控制。

一旦決定改用 .html 格式當做個人或企業內的文件標準格式, 你會發現軟體選擇的道路壑然開朗: 任何作業系統上的任何製作網頁的工具, 都在你的選擇之列, 甚至有許多本非製作網頁用的文書處理軟體, 也都能夠讀寫 .html 檔。 無法立即揚棄微軟軟體的人, 可以繼續使用 FrontPage 與各版本的 Word 來製作 .html 檔 (雖然這二者製作出來的 html 檔不符標準, 連 tidy [5] 都不一定救得動, 但至少是文字格式); 願意嘗試非微軟軟體的人, 可以用跨平臺的 Mozilla Composer [6]; 喜歡新鮮事物的人, 可以上 sourceforge.net 或是 freshmeat.net 底下搜尋 html editor, 找到很多編輯軟體 (有些對於中文及 MS Windows 的支援可能還在發展階段); 極簡主義者還可以像筆者一樣, 用 vim 或其他類似記事本的低需求工具打簡單的 .html, 然後再用 tidy 處理成標準的 .html。 [7] 至於閱讀的彈性就更大了: .html 檔案在任何作業系統或硬體平台上, 只要有瀏覽器都可以讀。 甚至在沒有瀏覽器的系統下, (例如 DOS), 只要用純文字編輯器 (例如 edit) 就可以看到大部分的文字資訊。 對與我交換檔案的人而言, 他不需要為了解讀我傳過去的檔案而購買新的軟體; 對我自己而言, 可以不受時空限制, 在任何有電腦的環境下把自己的檔案叫出來處理。

我不用 .doc 檔, 而使用格式公開簡單的 .html 檔, 所以我的檔案可以讓任何人, 在任何有電腦的環境下閱讀, 甚至做簡單的編輯。

特別強調澄清一個許多人誤解的觀念: 有些人認為應該規定企業內所有員工一律使用相同公司, 相同版本的應用軟體。 這其實是沒有必要也不可行的想法。 軟體工具選擇的多元化是好事不是壞事; 檔案交換格式需要統一, 應用軟體不需要更不應該統一。 就像每個單位都有權利自己選擇電話機品牌, 每個人都有權利選擇手機品牌一樣, 只要所有品牌都支援公開, 一致的電話線接頭與通訊協定, 彼此就能夠溝通。 就像數位相機一樣, 只要所有品牌都支援公開, 一致的記憶卡格式 (例如 Compact Flash), 彼此就能夠交換使用。

採用 .html 格式做為企業/個人文件的標準格式, 不僅考慮到現在軟體工具選擇的多元化, 也考慮到未來文件格式標準化的走向 -- xml。 目前能夠方便處理 xml 的工具還不夠多, 不夠成熟, 但是 xml 的相關標準已逐一出現, 未來通用於世界各國的文件格式, 必然是某種 xml。 例如承先啟後的 xhtml 格式既是 xml 的一種, 又與過去的 html 相容; 再如專為數學式設計的 MathML 及為可縮放圖形設計的 SVG 也都是 xml 的一種。 我們無法精準預測何種 xml 會是最終的標準, 但是可以確定不同格式的 xml 文件可以嵌在彼此之中 (如果都是公開格式的話)。 只要我們現在產生的 .html 檔, 離標準格式不遠, 可以用 tidy 轉成 xhtml, 將來處理 xml 的工具成熟時, 轉換的成本就不會太高。

那麼過去所有的 .doc 檔要如何處理呢? 所幸 Word 7.0 以後的版本提供了 「將檔案存成 html 格式」 的功能。 當然轉換的過程, 可能會打亂版面, 但至少重要的文字, 表格、圖形資訊都還能夠保存。 這裡有一部分原因固然是由於舊的 html 檔案格式的表達能力不如 .doc 檔的表達能力, 但 Word 本身對 html 支援不力也是原因之一。

有沒有其他更好的轉換工具呢? 筆者個人對這方面沒有深入研究。 [8] 然而因為 .doc 格式為微軟一家公司所秘密專有, 其他公司或團體的工程師必須採用逆向工程的方式來猜測它的實際內容, 令撰寫工作加倍困難。 即便轉換工具存在, 恐怕一來選擇不多, 二來價格可能不低 (因為其他公司若要合法讀取 .doc 檔必然需要徵得微軟同意) 或功能不齊全 (例如自由軟體 OpenOffice 與 KWord 都可以讀, 但支援並不完整)。 另外曾有讀者認同筆者觀點, 但發覺沒有可以 「批次處理」的工具, 必須逐一人工轉換, 曠日廢時。 但筆者認為長痛不如短痛: 如果你現在不轉, 只要繼續使用 .doc 檔, 每代 .doc 檔案格式更新, 就要辛苦一次 (除非你的舊檔案沒有保留的價值) 否則有一天連新版的 word 都沒有辦法讀舊版的 .doc 檔, 你的舊文件備份將全部都變成廢物。 換句話說, 轉換不易不是 .doc 轉成 .html 的問題, 而是使用 .doc 檔的「永續問題」。 [9] 辛苦一次, 把它轉成公開的檔案格式, 從此以後你就自由了。

我不用 .doc 檔, 而使用格式公開的 .html 檔, 所以我知道將來軟體科技進步, 我的文件檔案格式必須更新時, 必定有很多良性競爭的轉換工具可以選擇。

下次微軟升級時, 請給自己與 OpenOffice.org 一個機會

雖然筆者個人偏好直接使用 .html 檔編輯軟體, 甚或使用純文字檔編輯軟體來編輯 .html 檔, 但那不是唯一的選擇。 如前所述, 很多文書處理軟體其實也可以存成 .html 檔。 例如 SiagOffice, AbiSuite, KOffice, OpenOffice.org 等等都是跨越作業平台, 程式原始碼開放的辦公室類自由軟體 [10], 功能或許不如微軟辦公室軟體強大, 但若需求不多, 又何妨將就呢?

這其中又以 OO.o 功能最完整, 對 .doc 檔支援最佳 (但也最龐大笨重), 中文教學文件最齊全 [11]。 對於習慣使用類似 MS Office 環境的朋友, 筆者大力建議買一本附光碟, 介紹 OO.o 的書, 認真考慮將 MS Office 換掉。 也許 OO.o 的功能只有 MS Office 功能的 80%, 但是它的價格只有 0%。 更重要的是它的檔案格式公開, 有很多轉換工具可以將 OO.o 檔轉成其他格式。 [12] 即使不急著現在試, 至少在微軟下次升級辦公室軟體時, 我們可以更認真地面對自己真正的需求: 同樣是需要改變使用習慣, 有什麼理由堅持一定要為了這 20% 的功能, 非得升級 MS Office 不可, 而堅持不願意改用 OO.o 呢?

改用 OO.o 以後, 可以將它的 .sxw 檔寄給別人嗎? 它是公開的格式, 理論上任何人都可以用工具轉成其他更方便閱讀的格式 (包含視障者也可以用上述工具將它轉成點字機可以讀的純文字檔), 所以寄 .sxw 檔給別人也不能算錯。 例如筆者雖然不喜歡用龐大笨重的 OO.o, 但是並不排斥收到 .sxw 檔。 不過考量現實狀況, 因為目前使用 OO.o 或懂得轉換的人不多, 暫時最好還是寄純文字或網頁檔比較簡單, 禮貌。 至於企業內部的檔案, 可以放心用 .sxw 存檔。 OASIS 已經著手制訂辦公室文件檔案的 xml 標準, 而 .sxw 就是他們考慮的主要格式。 [13] 即使最後的格式不是現在的 .sxw, 將來絕對會有轉換軟體。

不論是改用 .html 檔或改用 OO.o 製作文件, 我們是否不再拒收 .doc 檔了呢? 因為 OO.o 可以讀 .doc 檔了啊? 筆者認為我們還是應該堅持拒收。 為了以逆向工程解出封閉的 .doc 格式, OO.o 及自由軟體界的其他程式設計師浪費了許多人力 -- 許多原本可以用在其他更有建設性地方的人力 -- 到最後效果還是不完美。 更糟糕的是, .doc 檔的格式說變就變。 如果因為我們可以讀 現在的 .doc 檔, 就姑息它, 那麼 OO.o 就註定要在這場不公平的競賽當中永遠落在追趕者的角色。 即使其他功能再強, 微軟的信徒永遠都會說: 「我不用 OO.o, 因為它讀新版的 .doc 檔時會出問題.」 冤有頭, 債有主, 製造檔案格式問題的是微軟, 不明究裡者卻拿它來質疑其他軟體功能不足, 何其不公啊!

所以無論如何, 請繼續拒收 .doc 檔。 如果有人說: 「我寄 .doc 檔給你有什麼不對? 你難道不能用 OO.o 將它打開嗎? 」 我們可以反問: 「既然你知道有 OO.o 這個東西, 又為什麼堅持非用 MS Word 不可?」 如果你和我一樣選擇網頁排版軟體或其他文書處理軟體, 而不是 OO.o, 還可以加一句: 「你自己堅持不改用 OO.o, 又憑什麼要求我用 OO.o?」 如果聽了本文這麼多解釋, 他還堅持說: 「大家都用 MS Word, 只有你用 OO.o ...」 那我們就知道正在與一個盲從的人交談。 他眼中的是非, 不是靠公平正義, 彼此尊重來衡量, 而是靠人數的多寡來衡量; 在他眼中, 不論事情的來龍去脈如何, 不論製造問題的元凶是誰, 只要看到強凌弱, 眾暴寡, 就知道是非正義站在多數, 有力量的那一方。 這個時候我們只好閉嘴放棄, 承認我們不是耶穌佛陀, 把感化他的工作留給更有耐心的其他人吧。

微軟夢魘何時了, 我從往事學多少?

微軟的辦公室軟體每兩三年就升級一次, 整個臺灣社會也立即花許多錢購買或賠上許多聲譽非法拷貝, 跟著升級一次; 但是我們可曾問過: 為什麼需要每次跟著升級? 真的有必要隨微軟起舞嗎? 社會風氣與公司經濟的成本那麼高, 我們還是堅持非得升級不可, 一定有一些十分有說服力的原因囉? 真的是這樣嗎? 請大家想想: 過去每次的升級, 我比使用舊版多得到了什麼? 這些多出來的功能, 真的沒有其他更便宜, 更簡單的方法可以取代嗎? 較諸十年前的 Word 6.0, 我們經過那麼多次的升級, 花了那麼多的錢, 學過那麼多版本, 辦公室的文書處理效率提升了多少?

還是也許你根本不想升級, 甚至可能還有好幾個不願意升級的好理由, 例如硬體不夠快等等。 只是, 即使你心中有許多個不願意, 你還是不得不升級, 因為..。 這一切的升級為的根本都不是自己的功能需求與工作效率; 升級唯一的目的, 只是為了與別人相容? 我為什麼要升級? 只為了怕不升級就無法讀你寄給我的檔案。 你為什麼要升級? 只為了怕不升級就無法讀他寄給你的檔案。 他為什麼要升級? 只為了怕不升級就無法讀政府公佈在網站上的檔案。 如果你過去不斷升級 MS Word 是因為環境使然, 讓你不曾去質疑或是質疑了之後卻還是不得不升級, 而不是因為盲目地崇拜微軟, 那麼或許這才是你的答案。 除了被環境逼迫之外, 其實你並沒有其他迫切非升級不可的理由。

如果是這樣, 那麼我們非常高興增加一位盟友。 我們不是要盲目地反對微軟 [14] 而是希望能夠靠消費者的聰明選擇讓微軟停止他 以封閉格式綁架消費者檔案 的囂張作弊行徑, 希望他回到座位上與其他公司團體公平競爭。 加入我們, 你需要的不是高深的技術, 而是重視自己選擇權利的決心, 尊重他人選擇權利的同理心, 及期盼社會整體擺脫桎箇的熱心。 即使現在還在用 MS Word 也沒有關係, 以下建議, 可以視決心的大小, 做多少算多少:

  1. 開始學 OO.o 或是 .html 檔編輯器。
  2. 即使有許多理由不想改用 OO.o 或 .html 檔編輯器, 至少可以拒絕再升級 MS Office。 仔細想想, 或許每個不願改用 OO.o 的原因, 其實也都適用於拒絕升級微軟的產品? (除了「被環境逼迫」之外) 既然如此, 就乾脆以不變應萬變, 不但替自己省錢省麻煩, 同時也是功德一件, 因為至少我們已經停止替微軟強迫推銷。
  3. 那麼「被環境逼迫」因素呢? 如果因為沒有升級而讀不出別人寄來的 .doc 檔, 該怎麼辦? 請不要責怪寄件人, 因為他可能不了解 .doc 檔的陷阱。 請把這篇文章的 URL 給他, 把這個 html 檔寄給他, 或乾脆印出來給他看。
  4. 特別是面對 政府單位, 如果看到他們的網站上, 某些重要文件只有新版的 .doc 檔格式, 務必將這篇文章寄給單位首長, 請他們不要一邊喊窮一邊又花納稅人錢作無謂升級, 還強迫民眾購買或非法拷貝新版的微軟軟體。
  5. 往者已矣, 來者可追: 從現在開始, 到全面改用 OO.o 之前, 規定自己企業內所有新製作的文件都存成 .html 格式。
  6. 現在已出現轉換程式 [15], 甚至可以批次作業, 你可以著手開始將過去產生的 .doc 檔逐漸轉換成公開的檔案格式。 但請不要因為我們有能力轉換, 而開始接受別人寄來的 .doc 檔。 改正錯誤的責任, 應該讓它回到問題製造者的身上, 這對我們或對問題製造者才都是好事。

請加入我們, 替自己鬆綁, 幫別人解套, 協助打破這個彼此強迫升級的惡性循環。 勿送 .doc 檔, 是每個人的義務; 拒收 .doc 檔, 是每個人的權利。

後記

參考資料

  1. http://www.cyut.edu.tw/~ckhung/l/index.php#ms_tricks
  2. http://www.w3.org/TR/
  3. http://news.com.com/2100-1040-222673.html?legacy=cnet 報導微軟軟體竊存 .doc 檔文件作者個人隱私; http://www.wired.com/news/print/0,1294,18405,00.html 說明理論上微軟可以拿這些資訊來做什麼; http://news.bbc.co.uk/1/hi/technology/3154479.stm 報導了因此而確實受害的個人與國家 (但這些案件與微軟並無直接關係)。 http://www.findarticles.com/cf_dls/m0COW/1999_March_18/54210971/p1/article.jhtml 以及 http://www.davemathews.com/MicrosoftGUID.html 給了一些技術細節。
  4. 例如 Cascading Style Sheet 技術 http://directory.google.com/Top/Computers/Programming/Internet/CSS
  5. http://tidy.sourceforge.net/
  6. http://www.mozilla.org/
  7. http://www.cyut.edu.tw/~ckhung/a/c021.php
  8. http://www-106.ibm.com/developerworks/linux/library/l-sc9/?t=gr,lnxw02=RTFots
  9. http://www.cyut.edu.tw/~ckhung/a/c020.php
  10. http://www.abisource.com/, http://siag.nu/, http://www.koffice.org/kword/, http://www.openoffice.org/ (台灣映射: ftp://ftp.ussg.iu.edu/pub/openoffice/, http://toget.pchome.com.tw/intro/business_suite/13037.html, http://toget.pchome.com.tw/intro/unix_texteditor/10876.html ) OO.o 的中文討論區: http://ooo.tnc.edu.tw/
  11. http://xml.openoffice.org/filters.html
  12. http://www.oasis-open.org/committees/office/
  13. http://www.cyut.edu.tw/~ckhung/a/c025.php
  14. http://free.tnc.edu.tw/modules/news/article.php?storyid=146
  15. http://slashdot.org/features/99/06/25/1810223.php
  16. http://lwn.net/2000/0504/backpage.phtml, 搜尋 "Protocols, APIs and File Format Libraries"。
  17. http://www.winfield.demon.nl/ antiword
  18. http://www.45.free.net/~vitus/ice/catdoc/ catdoc
  19. http://www.lins.fju.edu.tw/mao/works/nodoc.htm
  20. http://www.goldmark.org/netrants/no-word/attach.html
  21. http://www.linuxinsider.com/perl/story/32110.html
  22. http://taiwan.cnet.com/news/software/0,2000064574,20083108,00.htm