MacOS X 上的開源軟件

據粗略的估計,中國使用蘋果系統的人數不多,在出版或者多媒體製作行業裡或許有一些,
在科研領域裡還是比較少的。在這種情況下,去討論 MacOS X 上的盜版,也還是有意義的,因為在這麼少的用戶群中都無法避免盜版,可見盜版之深入人心。南京大學小百合和清華大學的水木清華這兩個 BBS 系統的蘋果版是我經常去的,在這兩個版裡都仍然有許多討論蘋果上盜版軟件的貼子。我本人也曾經在 bittorrent 站點上等待過別人上載盜版的軟件,並且也使用過諸如 Serial Box 之類的工具,並且為尋找這些工具或者盜版的軟件,在網上頗費了一些心力。想來十分慚愧
首先,寫此文的目的是希望大家能夠儘量不要去用盜版軟件,因為這實在是一個不好的習慣。尤其是對於從事科研行業的人來說,應該起一個表率。
其次,無數程序員在為開源文化默默做著貢獻,開發出許多優秀的程序。他們的作品或許無法和有大量資金與人力投入的商業軟件相比,但他們的勞動成果同樣需要得到肯定。如果說你花銀子去買商業軟件是對商業軟件開發者的肯定,你免費下載並使用這些開源軟件也就是對其作者的勞動的肯定。從此意義上來說,盜版之所謂為「盜」,也就是對他人勞動的不肯定,不勞而獲之意。
任何東西都是在逐漸發展的,任何發展都是需要有許多人的參與。你使用開源軟件,並且把發現的問題及時告訴作者,你本身也就參與了這個開發過程。如果你的問題很重要,你就是對這個軟件做出了貢獻。如果你本身精通程序語言,能夠直接對程序做出比較有價值的修改並提交給作者,你或許就成為了一名開源程序的作者。
我們應該牢牢記住:任何自食其力的人永遠都是值得尊重的,任何為推動知識的普及的活動都是有價值的。參與開源,就是對這種價值的肯定。


由於 MacOS X 是基於 FreeBSD 系統開發的,其底層是 Darwin(註:Darwin 是一個 BSD UNIX 系統,它的授權方式是 Apple Public Soure License,而Open Darwin是基於蘋果的 Darwin 開源系統而開發的另一套 BSD Unix,其授權方式為 BSD License), 因此,大部分的 Unix 上的開源程序都可以比較方便地移植過來,這就大大豐富了 MacOS X 上的軟件資源。Steve Jobs 曾經在 WWDC 2004 上自豪地宣布:MacOS X 的用戶已經超過 1200 萬,軟件數量超過 12,000 了。這超過 12,000 的數字其中大部分應該得益於其 Unix 底層平台的選擇。了解一下 MacOS X 的系統結構對於你使用它是有好處的。

目前,在 MacOS X 上的開源軟件主要有這幾個來源:
1. GNU MacOS X Public Archive --- http://www.osxgnu.org/
由 於大部分的 OS X 用戶習慣於用 GUI 工具來安裝軟件,該網站提供了 OS X 的包創建與安裝工具,用於移植那些自由或開源軟件到 OS X 系統中來。我沒有使用過這個網站提供的工具,因為我比較熟悉 Linux 下的操作,對於類似 rpm/dpkg 的包管理也算比較熟練。簡單瀏覽了這個網站提供的一些工具,大多數比較老了。好像它的負責人又生病住院了,很是不幸。如果你比較喜歡圖形,對於命令行式的操作不太熟悉,可以去這個網站試試。
2. Fink Homepage --- http://fink.sourceforge.net/
Fink 工程的目的是把所有 Unix 下的開源軟件都移植到 Darwin 和 MacOS X 上來。它修改源代碼,使它們可以在 MacOS X 上進行編譯,並提供關聯下載。所謂的關聯下載,也就是說,如果你需要編譯安裝 gnome-games,而 gnome-games 這個軟件包同時又需要 libgnome2 等軟件包,fink 系統會自動幫助你編譯安裝所依賴的一切庫、其它軟件等。Fink 使用 Debian 的工具,比如 dpkg 和 apt-get 來管理編譯好的二進制包。你可以選擇使用已編譯好的二進制包或者從源代碼重新編譯。Fink 的默認安裝路徑為 /sw (這是一個類似 /usr 結構的目錄)。
我 使用的就是 Fink,感覺挺好。我不太常從源代碼編譯,主要是太耗時間。使用別人編譯好的包很方便的。雖然有人說 Fink 的穩定版中的包有點舊,但絕大部分的軟件只不過差一個 minor 發行號,比如最新的是 21.3.50,它提供的是 21.3.48,我想這足夠你使用的。對於想嘗鮮的人,何不自己動手從 CVS 中編譯呢?
對於關聯下載再多說兩句。對於從 Windows 平台或者舊的 MacOS Classic 平台過來的人,他們安裝軟件基本上都是點點鼠標,很少去關心軟件是否還依賴其它的東西等問題。對於從 Linux/Unix 下過來的人,常常比較了解,當你使用一個軟件的時候,通常它會依賴許多其它的庫。這並不是說 Windows 或者 MacOS Classic 上的軟件不依賴其它的東西,而是因為在 Windows 平台或者 MacOS Classic 平台,你所安裝的軟件需要的庫基本都是由系統提供了,即使系統沒有提供的,在你的安裝包裡也會自帶一份。Linux/Unix 的設計哲學可以在 Eric Steven Raymond 的著作 The Art of Unix Programming 中找到:Basics of the Unix Philosophy。根據 Unix 的設計哲學,每個程序只專注於一件事情,程序之間提供相互可使用的接口。只專注於一件事情的程序會變得很小巧很精緻,把這些小巧精緻的程序組合起來就可以做許多事情。同樣,每個 Unix 下的庫也只提供它所要提供的功能,善於利用這些庫,你就可以開發出很小巧但功能很強大的程序出來。所以, Linux/Unix 下的庫就顯得很多,當你安裝一個程序的時候,你就會需要同時安裝許多它所依賴的東西。當然,許多經常被使用的庫早就會集成在系統之中,因此你所要安裝的依賴庫也不會很多。關聯下載,更是解決了你去尋找軟件包之間相互依賴關係的麻煩。
3. DarwinPorts Homepage --- http://darwinports.opendarwin.org/
DarwinPorts 提供從源碼編譯軟件的 ports ,即移植軟件時所要做的一些必要的修改,比如修改針對指定平台的編譯選項、修改編譯時的 參數定義等。熟悉 BSD 系統管理的人肯定都熟悉 ports 的使用。我只簡單嘗試過 FreeBSD ,不太了解 ports ,因此不便多言。這兒提供的 ports 都是要求你從源碼編譯起,因此比較耗時間,這也是我最初安裝完 DarwinPorts 之後又轉向 Fink 的原因。如果你總是喜歡一切從頭開始,建議你使用它,因為源碼總會是最新的。
DarwinPorts 的默認安裝路徑為 /opt/local (類似於其它的 Unix 系統上的 /opt 目錄)。
4. i-Installer --- http://www.rna.nl/ii.html
使 用 BSD 授權的 i-Installer 是一個軟件安裝與設置的應用程序,它可以安裝與管理 i-Packages,即以 .ii2 結尾的那些軟件包。有許多網站提供在線的 i-Packages 包信息,只要你連網,就可以非常方便地升級與安裝所需要的 i-Packages: 與 TeX 相關的包、Ghostscript 、各種圖形格式及轉換程序、字體轉換等。i-Installer 默認的安裝路徑為 /usr/local (Unix 的經典路徑)。
在設置 TeX 系統時,我曾經想用這個 i-Installer,但由於我更習慣於 Fink 的方式,i-Installer 對於我來說沒有太大的必要,因此沒有使用。有許多在線的 i-Packages 資源,比如:
(1). http://tug.org/i-packages/iid/gwrelative.iid (i-Installer 的默認地址)
(2). http://www.ntg.nl/macosx-tex/i-packages/iid/gwrelative.iid
(3). http://www.math.utah.edu/ftp/pub/i-packages/iid/gwrelative.iid
(4). http://bloch.ling.yale.edu/i-packages/iid/gwrelative.iid
在這些資源中,你可以找到非常多的開源軟件。


以上談到許多為什麼要用開源軟件、如何在 MacOS X 上找到開源軟件等。現在來談談我們常用的商業軟件有哪些可用的開源替代,按應用分幾個方面進行。

一、辦公類
這類軟件恐怕是大家使用最多的:寫文章、簡單的統計、做幻燈、做報表、畫流程圖、畫示意 圖等等。在 MacOS 平台,大家最常提到的仍然是微軟的 Office v.X for Mac 或者 Office 2004 等。相關的商業軟件也非常多:AppleWorks、MS Office、OmniOutliner、OmniGraffle Pro、Keynote、Adobe Acrobat、專門為劇作開發的 Final Draft 等等。也兒也是各種商業軟件的競爭最激烈的場所。不知道國內的永中 Office 是不是也想在 MacOS X 上再爭一席之地,他們的永中 Office 是基於 Java 開發的,而 Java 環境是 MacOS X 的基本組成之一,移植是沒有太大問題的。這兒也是大家用盜版最多的地方。我們真的不得不用盜版嗎?

1. 字處理程序
1.1 TeX/MetaPost 系統
作 為科研人員,寫論文是最基本的日常工作,而許多國際著名的雜誌是只接收 TeX/LaTeX 投稿的,倒是國內有些雜誌非要接受 Word 文檔。Word 並不是一種在科技界通用的文檔格式,PDF/PS 遠比它要流行得多,我們為什麼非要用它呢?對於寫論文,在 MacOS X 上使用 TeX 可以很好地生成 PDF 這種通用的格式(關於如何在 MacOS X 上配置中文的 TeX 環境,我將另文闡述),並且可以結合 pp4slide 等 TeX 包生成很漂亮的 PDF 格式的幻燈片。
1.2 所見即所得(WYSIWYG)
對於習慣於 Word 操作模式的人,可以使用 OpenOffice.org。有一個 NeoOffice (http://www.neooffice.org/),是基於 OpenOffice.org 開發的軟件包,不需要使用 X11 for Mac 系統,目前也進展得很好。可以見這個屏幕截圖:http://www.planamesa.com/neojava/en/sample.jpg
對於寫英文文章來說,還可以選擇 LyX for Mac (http://www.lyx.org/):這是一個基於 TeX 的 WYSIWYG 字處理軟件。另外,使用 X11 系統,還可以選擇 TeXmacs (http://www.texmacs.org/):它可以生成 tex 文檔,也可以生成 pdf 等。TeXmacs 還可做許多程序的前端,比如在你的文檔中可以直接調用 octave、maxima、R 等程序,運行結束後,這些程序的輸出結果就直接留在了你的文章中。
2. 幻燈片
2.1 TeX + ConTeXt / pp4slide 等
使用 TeX 系統可以生成 PDF 格式的演示文檔,加上 pp4slide 等程序,可以生成具有動態效果的 PDF 幻燈。 PDF 文檔中可以內嵌入 JavaScript 程序、QuickTime 媒體等,其表現力非常之強,你需要的實在只是你的想像力罷了。
2.2 NeoOffice 套件之一:impress
3. 統計表格
NeoOffice 套件之一:math
4. 示意圖、統計圖等
NeoOffice 套件之一: Draw

二、媒體設計類
對於多媒體設計,如果你是專業人員,沒有什麼話說,那點買軟件的投入也是必需的。對於非專業人士,有這些開源軟件可供選擇:
1. 類似於 Photoshop 的圖片處理軟件 ---- gimp
GIMP(http://gimp.org/macintosh/) 是 Linux/Unix 下一個非常經典的程序,有很多的插件可用,處理日常的圖片戳綽綽有餘。
2. 類似於 Maya 的三維場景設計軟件 ---- blender3D
Blender: http://blender.org/

三、網頁編輯與網站設計
在 Fink 中有許多,比如 quanta (http://fink.sourceforge.net/pdb/package.php/quanta)、amaya(http://fink.sourceforge.net/pdb/package.php/amaya) 等。另外,可以編輯 HTML 文件的程序真是太多,比如 Mozilla 中就自帶有 HTML 編輯器。實在不需要多舉例。至於網站設計,普通用戶可能用得不多,個人主頁的服務提供商一般也同時會提供現成的模板和在線編輯功能。如果你是從頭開始設計網站,你的計算機水平已經不需要我來多嘴了。

四、數學、工程設計類工具
1. 矩陣計算
scilab: http://fink.sourceforge.net/pdb/package.php/scilab,主頁為 http://www-rocq.inria.fr/scilab/
octave: http://fink.sourceforge.net/pdb/package.php/octave,主頁為 http://www.octave.org/
2. 符號推演
maxima: http://fink.sourceforge.net/pdb/package.php/maxima,主頁為 http://maxima.sourceforge.net/
3. 統計
R: Fink 的版本在這裡 --- http://fink.sourceforge.net/pdb/package.php/r,主頁在這裡 --- http://www.r-project.org/。由於 R-project 提供了 MacOS X 的版本,其實 Fink 中的 R 已經沒有必要的。
4. 機械設計
Qcad: http://www.ribbonsoft.com/qcad.html

五、個人助理
1. 財務管理
GnuCash: 我很喜歡的一個 GNU 的軟件,Fink 版本在這裡 --- http://fink.sourceforge.net/pdb/package.php/gnucash,主頁為 http://www.gnucash.org/。可惜沒有 OS X 的本地化版本,即 Acqua 界面的。


在 Fink 中有非常豐富的軟件。其實 OS X 平台的開源軟件不少,需要的是發現。如果大家能夠讀完此文之後,在需要用軟件時,首先想到的是能不能找到對應的開源軟件,我的目的也就達到了。
arrow
arrow
    全站熱搜

    Bluelove1968 發表在 痞客邦 留言(0) 人氣()