自由軟體在臺灣資訊教育的應用

(刊載於「資訊與教育」雙月刊, 1999/06)
洪朝貴
朝陽科技大學 資訊管理技術系 副教授
http://www.cyut.edu.tw/~ckhung/
O: (04) 332-3000 x4271/7123
F: (04) 374-2337

摘要

自由軟體 (Free Software) [1] 或稱開放原始碼軟體 (Open Source Software) [2] 不僅可以自網路上合法免費取得, 在技術上更享有一般市售版權私有軟體所沒有的優勢。 然而比價格與技術更重要的, 是它背後鼓勵合作的理念。 本文淺談其理念, 並針對其在臺灣資訊教育上的應用來介紹自由軟體。 從網路教室的管理、電腦輔助教學工具、網路教學應用、盲生資訊教育、到平均教育資源等等問題, 自由軟體提供一個為主流資訊媒體所忽略的全面性解決方案。 從社會整體利益與教育長遠目標來看, 這是臺灣資訊與非資訊教育從業人員都應該共同認真思考的方向。

何謂自由軟體?

自由軟體基金會 (Free Software Foundation) [3] 的創始人 Richard M. Stallman 根據使用者對於軟體的使用權限 (而非軟體的價格) 把軟體分類為: FSF 並且將其理念寫成 GNU Manifesto (筆者姑且譯為「革奴宣言」) [5], 文中在在強調其中心議題為自由而非價格: 「此處的 "自由" 指的是使用者使用、拷貝、授與、研究、修飾乃至改進軟體的權力」。 [1] 換言之, 自由軟體並非反商業軟體。 事實上坊間介紹 Linux 與 FreeBSD 的書籍往往都附有光碟片, 這不僅是合法的, 甚且受到自由軟體基金會的鼓勵。 在臺灣大型電腦書局可以看到的 Perl 套件也是自由軟體商業化的例子: O'Reilly 公司可以自由出售自由軟體作者的作品; 而使用者則可以自由複製光碟上的程式與文件。

這樣的觀念與現在政府致力推廣的智慧財產權背道而馳, 但是筆者誠懇邀請讀者捐棄成見, 深入思考智慧財產權法的由來, 從道德、社會整體利益、弱勢團體公義等等多層面思考這個問題, 或許會有與 Richard Stallman 的相同結論。 [6] 畢竟智慧財產權觀念的產生乃在促進社會進步, 它是一個工具, 一個手段, 而不是一個神聖不可侵犯的教條; 如果工具不符合時代的需求, 當然可以尋求替代的方案。

以網路技術管理電腦教室

隨著資訊教育往下紮根, 中小學內網路教室的設立勢必越來越普遍。 這除了在設立初期需要大量的電腦軟硬體投資之外, 還需要長期投入管理的人力。 目前一般電腦教室 (不論是否上網) 的管理工作中, 單單是維護軟硬體的正常運作就是一項相當耗費人力的業務。 滑鼠鍵盤等耗材的損毀固然無可避免, 更常發生的狀況是使用者操作錯誤, 導致軟體不正常運作, 或是收到電腦病毒感染, 因而要由系統管理員重新安裝作業系統與應用軟體。

資源比較豐富的機構或單位多半在每部電腦裡面安裝特殊的介面卡來解決這個問題。 管理員必須保留一半的硬碟空間不作一般使用, 而用以儲存原始系統與設定的備份資料。 每次重新開機時或系統因為軟體問題而無法正常運作時, 這片介面卡可以把備份重新複寫回一般使用區域, 讓系統恢復至最原始的標準設定狀態。 這樣的解決方案最主要的缺點是:

  1. 成本耗費高: 每部電腦都要安裝特殊介面卡。
  2. 資源使用率低: 可用的硬碟空間減少一半。
  3. 硬體相容性問題: 安裝特殊的介面卡提高與未來其他硬體衝突的機率。

事實上可以使用自由作業系統 GNU/Linux [7] 來解決這個問題。 以每部電腦 2GB 的硬碟空間為例, 只要切割出大約廿分之一的空間就可以安裝這個作業系統。 目前的電腦教室以 Microsoft 公司的 Windows 95/98 作業系統為主, 剩下的空間可以完全由 Windows 95/98 及其上的應用軟體充分利用。 GNU/Linux 附有多重開機管理程式, 平常自動開機進入 Windows 95/98; 一旦 Windows 95/98 發生問題或中毒, 使用者可以在開機時選擇 "回置" 功能, 然後逕行離去使用其他正常的電腦。 這時 GNU/Linux 透過區域網路從主要伺服器處取得 Windows 95/98 的原始系統與標準設定, 寫回這部機器的使用區域, 再自動把控制權交還給 Windows 95/98, 下一位使用者又有正常的 Windows 95/98 系統可以使用, 整個過程完全不需要系統管理員參與。

較之於特殊介面卡的解決方案, GNU/Linux 方案除了降低成本, 提升資源使用效率, 減少硬體相容性問題之外, 更增加了系統管理的彈性。 它不僅能用於回置出問題的系統, 如果在伺服器端放上新的原始系統, 這也可以用來整批更新系統軟體。 當然比起特殊介面卡解決方案, GNU/Linux 方案有其缺點:

  1. 對於蓄意破壞的使用者較缺乏防禦力。 但是一般而言使用者的無心之失的頻率遠遠超過蓄意破壞; 反過來說, 如果遇到真的有心人士, 就是介面卡也解決不了問題。
  2. 使用介面卡以硬體回置系統的速度快很多。 但是隨著網路硬體速度的提升, GNU/Linux 方案將越來越有競爭力。

與桌上型電腦系統回置不太相關, 但也非常適合使用 GNU/Linux 系統的地方, 就是校內各類型伺服器的架設。 過去伺服器是大型電腦的專長; 隨著硬體技術的進步, 現在連一般的個人電腦也可以用以架設伺服器。 目前有許多機構誤以為只有視窗 NT 可以作為個人電腦上的伺服器作業系統; 事實上 GNU/Linux 不僅比 NT 支援更多的公開標準, 也可以透過 SAMBA 模組成為 Windows 95/98/NT 的網路芳鄰, 成為這些系統的檔案與印表伺服器。 隨著 SAMBA 2.0 的出現, 伺服器的管理甚至可以透過瀏覽器進行。 [8] 筆者認為在網頁/檔案/列印伺服器這三項功能上面, 不論從短中長期的經濟效益、對公開標準的支援程度、與其他作業系統的相容性等等角度思考, GNU/Linux 才是最佳的選擇。

1998 年初筆者以五萬元以下的經費購買一部普通的 Cyrix 200 個人電腦, 安裝 GNU/Linux 後供系上師生教學使用, 目前已開設 600 餘帳號, 而同時使用的人數也往往 50 人 上下, 卻不常需要人員維護。 它不僅作為 www, ftp, telnet, nfs, 等等伺服器, 並供本系學生架設 BBS。 事實上這部機器尚未完全發揮 GNU/Linux 的功能: 如上所述, 它不僅可以作為各個版本的 Windows 的伺服器, 更與 Novell 網路及 Apple 電腦網路相容, 可謂支援公開標準的最佳網路公民。

有人稱 GNU/Linux 為「網際網路的作業系統」 (The Internet's Operating System), 這指的不僅僅是 GNU/Linux 可以自網路上自由下載, 或是它高度的網路相容性, 更深刻的意義是它獨特的發展模式: 伴隨著網際網路的發展, 其研發者也透過網路互助合作, 使得這個成品在高度異質 (heterogeneous) 的 Internet 環境底下與其他作業系統產生良好的互動。 未來不論資訊協定如何更新, 使用 GNU/Linux 作為伺服器必定可以與新出現的公開標準相容, 避免國家教育資源由於受限於封閉介面而竟淪為單一廠商的行銷工具。 再者, GNU/Linux 的研發特性保証其對未來新型硬體的支援 [9], 降低未來升級時技術人員重新訓練與系統移植的負擔。

電腦輔助教學: 巧思為主, 軟體為輔

有些人認為電腦輔助教學僅僅限於播放多媒體影片; 事實上電腦輔助教學主要好處在於其提供高互動性。 更具體地說, 它允許學生依據自己的程度主動實驗, 卻不增加教師逐一回答的負擔。 又有人認為要達到這個目的, 必須購買昂貴的專業軟體, 又需要教師接受複雜的專業訓練; 其實教師的巧思或許比電腦軟體扮演更重要角色。 就像傳統教學當中, 教師的巧思往往可以讓簡單的傳統教具甚至非教具發揮意想不到的功能一樣, 只要教師願意使用網路上既有的資源, 其實已經有很多本非為電腦輔助教學而寫的自由軟體可以拿來激發學生的思考能力了。

筆者在教育理論方面並未涉獵, 僅能根據個人相當有限的教學經驗提出幾個應用實例供讀者參考, 相信有興趣的讀者必能想出更多、更有趣的其他方面應用。 如果讀者在其他方面有明確的軟體需求, 筆者也非常樂意協助尋找適合的自由軟體。

  1. 使用 Gnuplot 認識數學函數圖形.
    Gnuplot [10] 是跨作業平臺的數學函數繪圖程式, 使用者下 "plot sin(x)" 或 "splot x*x-y*y" 之類的簡單命令, 即時可在螢幕上看到函數或曲面圖形。 適合用來教解析幾何。
  2. 使用 RlaB 瞭解矩陣運算.
    RlaB [11] 也是跨平臺的自由軟體, 使用者可以下 "x = [3, -2, 1] + [2, 3, -4]*2" 之類與數學運算式相仿的簡單命令做向量與矩陣的運算。 其運算功能遠超過大學程度線性代數課程的需求; 但是光是向量的四則運算就足以協助學生在列運算的層次學習高斯消去法, 而不至迷失於個別元素運算的細節。 筆者為 RLaB 的 Linux 版及 OS/2 版寫了一個小型的介面讓 gnuplot 可以繪出 rlab 的運算結果; 新版可能有整合的繪圖功能。
  3. POVRay [12] 是一套跨平臺的光跡追蹤軟體, 使用者以類似 VRML 的場景描述語言描繪景象, 再以它畫出具有真實感的畫面, 甚至製作動畫。 這套自由軟體對於使用者的數學觀念要求較高, 但是產生出來的效果不比時下流行的 3D Studio 等軟體遜色。
  4. Xpaint 可以用來學習顏色合成及簡單的繪圖; 如果需要強大的影像處理軟體, 可以使用 Gimp (類似 PhotoShop)。 [13]

導正網路教育的重心

目前的網路教育似乎過分強調美麗的畫面與動態的視覺效果, 筆者憂心我們的年輕學子在這樣的文化之下忽略了網際網路提供文字資訊的重要功能。 在這同時或有軟體廠商借此迷思推銷表面華麗但不遵守網路公開協定的軟體, 與網際網路發展的合作歷史背道而馳, 長遠看來對臺灣資訊發展有相當負面的影響。 自由軟體的發展方式延過去續網際網路發展的傳統, 在理念層次是最佳的網路文化教材; 在應用層次則是最佳的網頁瀏覽與建構工具。

從瀏覽者的角度來看, 網路教育應強調「資訊取得為主, 休閑娛樂為輔」。 一方面, 教師可以使用的網路資源非常多, 除了自由軟體之外, 網路上尚有許多文字及媒體資料, 甚至上課講義, 例如 Project Gutenberg [14] 搜集了許多歷史名著; IFCSS [15] 搜集了許多中文資訊或與中文相關的軟體; 國外有許多教學網頁諸如行星教室 [16] 等等。 另一方面, 我們應該鼓勵學生多多上網路擷取經過前人思考整理的有用資訊 [17], 同時可以提升學生的國際觀, 而不只是鼓勵他們在酷炫華麗的網頁之間穿梭。 至於大家普遍擔心的網路塞車問題, 其實不難降低其阻礙: GNU/Linux 上除了 Netscape 瀏覽器之外, 還有文字瀏覽器 lynx (皆為自由軟體)。 同時開啟數個 lynx 視窗, 配合穩定的多工環境, 讓筆者得以使用一般的硬體及電信局普通的帳號經常到國外取得最新的資訊。

從製作者的角度來看, 網路教育應強調「尊重公開標準, 揚棄封閉檔案格式與協定」。 在過去, 要使資訊流暢地傳遞, 有賴於共通的語言或精準的翻譯; 最近一二十年網際網路的迅速發展, 靠的則是公開的檔案格式與通信協定。 Internet 架構之下所使用到的所有重要技術, 都是先經過大家公開討論才定案的。 這些 RFC (Request For Comments) [18] 文件在定案之後成為所有廠商研發相容軟體的標準, Internet 異質性如此高的環境也因此才能夠有今天的榮景。 我們應該教導學生在製作網頁時依循公開的標準與協定 [19], 拒絕使用某些廠商為圖私利所積極推銷的版權私有格式或協定。 [20] 也是自由軟體的 Apache [21] 不但是最受歡迎的網頁伺服器, 也提供一個網頁是否符合公開標準的測試環境。 更進一步, 正確的網頁設計應該強調讓所有重要資訊可以不必透過圖形瀏覽器取得。 對於網頁製作者而言, 尊重瀏覽者對於瀏覽器的選擇, 才能吸引更多的瀏覽者 [22]。 這同時是教師與技術人員尊重盲人、支持網路無障礙空間活動最容易做到的具體行動。

還給視障生公平的起跑點

隨著圖形介面的發達, 資訊科技的門檻對視障人士而言似乎越來越高了。 他們不但被摒拒在任何視窗環境之外, 連瀏覽網頁都有困難。 筆者目前負責輔導盲生學習電腦, 經常感慨盲生花了八萬元買電腦與點字機, 卻只能使用十年前的單工作業系統與應用軟體。 政府確實已投入資源, 邀請學界研發適合視障者使用的軟體; 然而另一方面在可以不花大錢, 輕易解決問題的非技術層次, 卻顯得不夠積極, 例如文字瀏覽器到了教育部的網頁就非常吃力了。

其實只要相關單位願意公開點字機的驅動介面, 就可以用很少的資源先解決大部分的問題。 在國外有一個 Blinux 計劃 [23], 致力於搜集適合盲人使用的自由軟體, 已有相當的成效。 一旦國產的點字機支援 GNU/Linux 作業系統, 盲生立刻可以使用其虛擬終端機的功能達到文字模式下的多工效果; 而文字模式下有許多自由軟體包含了瀏覽器、試算表、計算機、音樂播放程式等等工具, 豐富程度並不亞於視窗系統。 或許過去相關單位不知道 Blinux 計劃的存在, 或是不信任自由軟體, 所以捨近求遠; 現在筆者誠摯地邀請所有有心的教育從業人員一方面摒棄成見, 正視自由軟體與 Blinux 計劃, 另一方面把這樣的訊息傳遞給相關教育單位, 讓我們共同為還給視障生公平的起跑點而努力。

平均資教資源一併解決環保問題

我們處於一個很有趣的時代: 一方面我們看到偏遠地區缺乏教育資源, 以至於學童無法接受網路教育; 另一方面我們看到舊電腦堆積如山, 甚至連報廢的動作都需要授以獎金鼓勵。 如果能夠把回收的舊電腦重新整理, 交給缺乏電腦資源的學校使用, 是否可以一舉兩得, 既環保又經濟呢?

首先, 所謂舊電腦其實當中有很多都還可以使用, 只是因為速度不敷使用者需求而遭淘汰。 至於真正損壞的電腦當中, 其實有很多只是因為少數幾個零件損毀, 如果把搜集起來的電腦重新整理組裝, 可能有相當高的百分比可以繼續運作。

其次, 我們考慮軟體的問題。 自由軟體由於沒有商業競爭的負擔, 對於資源的使用效率遠遠超過一般版權私有軟體。 同樣的配備的硬體, 安裝 GNU/Linux 自由作業系統的電腦比起安裝其他流行作業系統的電腦運作要來得順暢許多。 [24] 單純以上網路瀏覽的簡單功能來說, 486 的機器配合 16MB 的記憶體與 200MB 的硬碟即綽綽有餘, 如果關閉圖形功能, 還可以同時開啟數個瀏覽器呢! 這樣的機器還可以同時使用上述的 gnuplot, rlab, xpaint 等數學與繪圖程式。 (Gimp 資源需求較高, 至少要 32MB 以上記憶體才比較順暢.) 更何況現在的「過時電腦」其實都已超過上述標準。

技術上看來, 這樣的建議是沒有問題的; 比較困難的是人力的配合。 收集舊電腦、整理組裝、分送至各校, 乃至安裝 GNU/Linux 及其上豐富的自由軟體, 都需要大量人力。 如果林立各處的電腦硬體零售商可以把營業方向轉投入這類服務, 揚棄單純強調削價競爭的經營模式, 不僅可以替學校與環保單位同時解決兩個問題, 也可以降低業者本身對於硬體銷售額的倚賴。 當然這需要消費者, 也就是各級學校提出需求, 並認同自由軟體下「軟體自由拷貝; 技術服務收費」的經濟運作模式。 目前的狀況是: 大部分硬體銷售商即使知道安裝 GNU/Linux 不需要增加其成本, 更可以合法向消費者收取安裝設定費用的情況下, 仍然不願意安裝微軟視窗系統以外的任何作業系統, 而其理由即是市場沒有需求; 只有很少數的例外。

讓資訊教育更健康

資訊科技如果妥善運用, 可以提升生產力, 增進生活情趣, 啟發思考能力。 簡單地說, 善用資訊科技, 可以提升物質與精神層面廣義的生活品質; 而這不也正是教育整體的目的嗎? 筆者認為我們的資訊教育應該要強調其服務個人與社會的角色, 而不要本末倒置, 誤以追求技術本身為目標; 畢竟資訊教育不過是教育的一部分而已。 自由軟體不論在實用與理念的層次都可以提供臺灣的資訊教育很多省思與改進的機會, 以下謹將個人對於臺灣資訊教育的建議提供給讀者先進參考:
  1. 強調善用電腦軟硬體的巧思, 避免鼓勵炫耀文化
    擁有昂貴新穎的電腦不是壞事, 但也不是什麼值得驕傲的事情; 不過現在年輕學子之間比較硬體等級與軟體版本的風氣似乎非常興盛。 這或許只是大人比較汽車等級的翻版, 但另一方面, 我們是否也應該反省一下目前資訊教育當中是否有些鼓勵的成分呢? 自由軟體人人可以低廉的價格取得; 至於如何設定與操作, 使它在落伍的硬體上發揮超越高級硬體的效用要靠的則是使用者的巧思。 這樣的價值觀是否比較符合教育的理念與目標? 事實上國外已有學者提出類似的觀點, 認為像是 GNU/Linux、FSF 所創作的文字檔案處理工具、regular expression、vi 編輯器 ..。 等等自由軟體與相關觀念, 才應該是學校資訊教育的重點; 資訊教育不應該停留在「只會操作, 不會思考」的層次。 [26]
  2. 使用公開檔案格式
    上文已提及網際網路的建立, 有賴於公開的通信協定 (例如 http) 與檔案格式 (例如 html)。 更廣泛地說, 不論資料是否公開上網, 在個人或機關團體之間公開交換資料時, 必須使用大家都可以讀取的檔案格式。 這個檔案格式應該是公開於網路之上, 任何軟體研發廠商都有權力可以支援的; 使用版權私有的檔案格式不免有強迫推銷特定軟體、圖利單一廠商, 或間接鼓勵非法拷貝之嫌。 例如政府機關學校在公佈資訊或收集稿件時, 應該要求大眾使用諸如純文字檔或 html 檔案等等格式。 對於目前流行軟體的使用者而言, 這並不困難: 任何品質在水準以上的文書處理軟體都會支援 html 檔案格式的讀寫。 使用自由軟體則更是完全符合這樣的觀念, 因為自由軟體連程式原始碼都是公開於網路之上的, 所支援的檔案格式當然也是任何軟體研發廠商都有權力可以支援的。 尊重他人對於軟體的選擇, 使用公開檔案格式交換資料, 是一項非常重要的資訊倫理。 如何讓我們的下一代不論貧富、不同理念、或身心狀況都在自然條件允許的範圍之內, 不被摒拒在資訊的大門之外, 有賴於我們 (資訊與非資訊) 教育從業人員共同努力。
  3. 學校協助組織自由軟體研發的人力
    自由軟體的文化是 "贈予的文化" (gift culture) [27], 簡單地說, 受到使用者的肯定是貢獻者重要的動機之一。 這個文化應運網路科技而生: 少數人貢獻智慧與心力, 資訊成果透過網路以低廉的成本無限放大, 讓眾多使用者享受, 而貢獻者得以成名。 不僅個人可以從貢獻當中獲得名譽, 學校組織也可以。 學校組織所能做的最簡單的貢獻, 就是映射國外的自由軟體站台, 同時可以提升本身的知名度。[28] 在這方面, 日韓領先臺灣很多。 另外, 像 Linux 文件中譯計劃 (CLDP) [29]、 中文 Linux 延伸安裝套件計劃 (CLE) [30] 等等都是值得各學校考慮投入人力、經費協助的計劃。 或者甚至可以發起精神相同但內容獨立的計劃, 例如建立簡單的中文字典, 或協助軟體中文化等等, 並將成果施以革奴大眾公有版權以嘉惠大眾。[4] 這同時也提供倫理道德教育的實例。 自由軟體的文化正是「付出就是收穫」、「團結就是力量」最好的例証。

結論

不論從長遠的經濟效益、軟體的品質、對社會風氣的影響等等角度來看, 自由軟體所提供的解決方案都勝過版權私有軟體。 這也是為什麼法國教育單位決定鼓勵 GNU/Linux 的使用 [31]; 而墨西哥更在聯合國教科文組織的推薦 [32] 之下決定中小學將全面使用 GNU/Linux 與自由軟體。

教育是國家社會的百年大計, 教育從業人員也因此更能以社會整體、歷史長遠的宏觀與深度去探究技術現象背後的社會動力, 進而分析其未來的展望。 筆者認為中小學採用自由軟體的解決方案, 不僅符合國家社會的長期利益, 提升互利共榮的善良社會風氣, 也可為參與推動的個人或學校帶來特色, 當是國家社會之福。

參考資料

  1. http://www.fsf.org/philosophy/free-sw.html
  2. http://www.opensource.org/
  3. http://www.fsf.org/
  4. http://www.cyut.edu.tw/~ckhung/a/c_83.php
  5. http://www.linux.org.tw/CLDP/other/gnu-manifesto.html
  6. 請參考美國憲法 http://Constitution.by.net/ 另外有一篇詼諧的文章, 描述一個原始人對於剛通過的「火的智慧財產權法」的看法。 內容雖然不太正式, 但卻很能發人省思: http://www.brunching.com/copyfire.html
  7. http://linux.cis.nctu.edu.tw/
  8. http://lwn.net/1999/0121/samba.html
  9. http://www.cyut.edu.tw/~ckhung/l/linux_ports.html
  10. http://www.gnuplot.info/
  11. http://rlab.sourceforge.net/
  12. http://www.povray.org
  13. http://www.gimp.org/
  14. http://promo.net/pg/
  15. ftp://ftp.ifcss.org/pub/software/
  16. http://chandra.astro.indiana.edu/astronomy/nineplanets/nineplanets.html
  17. http://www.cyut.edu.tw/~ckhung/a/c013.php
  18. http://www.cyut.edu.tw/~ckhung/l/mr/index.cgi?major=RFC
  19. http://www.webstandards.org/
  20. http://www.opensource.org/halloween/
  21. http://www.apache.org
  22. http://www.anybrowser.org/campaign/
  23. http://www.leb.net/blinux/
  24. http://www.cyut.edu.tw/~ckhung/a/c_80.php
  25. http://linuxtoday.com/news_story.php3?ltsn=1998-12-24-003-05-OP
  26. http://www.catb.org/~esr/writings/cathedral-bazaar/
  27. http://www.cyut.edu.tw/~ckhung/l/index.php#fs_cat
  28. http://www.linux.org.tw/CLDP/
  29. http://cle.linux.org.tw/
  30. http://linuxtoday.com/stories/515.html
  31. http://www.unesco.org/webworld/portal_freesoft/