UP | HOME

MacOS X 上的开源软件

Table of Contents

据粗略的估计,中国使用苹果系统的人数不多,在出版或者多媒体制作行业里或许有一些,在科研领域里还是比较少的。在这种情况下,去讨论 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 的基本组成之一,移植是没有太大问题的。这儿也是大家用盗版最多的地方。我们真的不得不用盗版吗?

字处理程序

TeX/MetaPost 系统

作为科研人员,写论文是最基本的日常工作,而许多国际著名的杂志是只接收 TeX/LaTeX 投稿的,倒是国内有些杂志非要接受 Word 文档。Word 并不是一种在科技界通用的文档格式,PDF/PS 远比它要流行得多,我们为什么非要用它呢?对于写论文,在 MacOS X 上使用 TeX 可以很好地生成 PDF 这种通用的格式(关于如何在 MacOS X 上配置中文的 TeX 环境,我将另文阐述),并且可以结合 pp4slide 等 TeX 包生成很漂亮的 PDF 格式的幻灯片。

所见即所得(WYSIWYG)

对于习惯于 Word 操作模式的人,可以使用 OpenOffice.org. 有一个 NeoOffice , 是基于 OpenOffice.org 开发的软件包,不需要使用 X11 for Mac 系统,目前也进展得很好。可以见这个屏幕截图: sample.jpg

对于写英文文章来说,还可以选择 LyX for Mac: 这是一个基于 TeX 的 WYSIWYG 字处理软件。另外,使用 X11 系统,还可以选择 TeXmacs: 它可以生成 tex 文档,也可以生成 pdf 等。TeXmacs 还可做许多程序的前端,比如在你的文档中可以直接调用 octave、maxima、R 等程序,运行结束后,这些程序的输出结果就直接留在了你的文章中。

幻灯片

TeX + ConTeXt / pp4slide 等

使用 TeX 系统可以生成 PDF 格式的演示文档,加上 pp4slide 等程序,可以生成具有动态效果的 PDF 幻灯。 PDF 文档中可以内嵌入 JavaScript 程序、QuickTime 媒体等,其表现力非常之强,你需要的实在只是你的想象力罢了。

NeoOffice 套件之一:impress

统计表格

NeoOffice 套件之一:math

示意图、统计图等

NeoOffice 套件之一: Draw

媒体设计类

对于多媒体设计,如果你是专业人员,没有什么话说,那点买软件的投入也是必需的。对于非专业人士,有这些开源软件可供选择:

类似于 Photoshop 的图片处理软件 -— gimp

GIMP 是 Linux/Unix 下一个非常经典的程序,有很多的插件可用,处理日常的图片戳绰绰有余。

类似于 Maya 的三维场景设计软件 -— blender3D

网页编辑与网站设计

在 Fink 中有许多,比如 quanta, amaya 等。另外,可以编辑 HTML 文件的程序真是太多,比如 Mozilla 中就自带有 HTML 编辑器。实在不需要多举例。至于网站设计,普通用户可能用得不多,个人主页的服务提供商一般也同时会提供现成的模板和在线编辑功能。如果你是从头开始设计网站,你的计算机水平已经不需要我来多嘴了。

数学、工程设计类工具

统计

R: Fink 的版本在这里 –

由于 R-project 提供了 MacOS X 的版本,其实 Fink 中的 R 已经没有必要的。

个人助理

财务管理

GnuCash: 我很喜欢的一个 GNU 的软件,Fink 版本在这里

可惜没有 OS X 的本地化版本,即 Acqua 界面的。

在 Fink 中有非常丰富的软件。其实 OS X 平台的开源软件不少,需要的是发现。如果大家能够读完此文之后,在需要用软件时,首先想到的是能不能找到对应的开源软件,我的目的也就达到了。

88x31.png

版权所有 ©2012-2018: 心蛛 | 日期: 2004-10-03 日 02:45

Generated by Emacs 25.3.1 (Org mode 9.1.7), Validate