Android 和 Maemo 系统,那个是自由的王者?
by cool99 Wifanr 译,Matri 校,转载请注明 ifanr.com 译文链接。
Android 和 Maemo 的主要吸引力,可能都在于软件的自由度。但是对于我们这些自由软件用户和开发者,更应该支持哪个呢?
现实中的软件自由度有多个层面的含义。尽管理论上只需要一个合适的授权方式,但我们需要考虑很多的东西,例如最简单的就是给终端使用者管理员级别的权限。以下四点在我看来至关重要:
1. 用户的访问权限
2. 协作和交互的程度
3. 闭源软件的存在
4. 实际应用中的自由度
用户访问权限
对于手机来说,完全控制你自己的设备从来都不是理所当然的事情。现在市面上的很多平台确实允许用户运行他们的自制程序,但往往针对恶意软件的安全策略也会影响自制软件。 更让人困惑的是,由于传统手机操作系统功能先天不足,这样的能力是否有用还需要商酌(指运行自制软件)。目前更加强大的硬件使得手机可以在不影响续航能力的前提下运行 Linux,但作为用户应当有更高的期待。
Android 和 Maemo 都可以宣称自己的核心组件是免费的,但是到目前为止我们只讨论用户权限。对于 Android 阵营来说很遗憾,目前没有厂商在自家手机里主动提供获取 Root 权限的方式。因此,尽管不像 iPhone 越狱那么困难,Android 的用户仍然需要八仙过海、各显神通来获取系统的最高权限。
而直接由 Nokia 研发的 Maemo 则会在系统里直接内置获取 Root 权限的方式,用户只需要从官方软件源安装一个包,这个包的作用仅仅是让用户理解开启 Root 权限的危险性。(注:稍微解释下几个名词,所谓的 Root 权限就是管理员权限,事实上用这个权限运行应用软件非常危险,因为它完全不受系统安全策略的影响,你很可能在不知不觉中干掉自己的系统,软件源是源自 Debian 的说法,你可以把它理解为更加强大的 App store。)
如果在 Android 设备上也可以很容易地通过非官方途径获得 Root 权限的话,会出现怎样的问题?以下列举几个:
- 初学者压根就不会动这种念头。专业知识不应该成为自由之路上的绊脚石,谁说初学者一定不会用到 Root 权限?
- 高级用户不该为了获取 Root 权限而被迫破解手机。有些人破解完了以后会有负罪感,但事实上他们只不过是买了一个倒霉的残疾产品。用户不应该被迫和操作系统斗争,在破解手机会让他们失去厂商的安全升级。一个需要破解的操作系统是劣质产品,即便它的用户可以通过非官方的手段获得完全控制设备的自由。
- 软件市场将会被分为已破解和未破解两类。破解手机的用户并不一定能够获得未来的产品更新和服务。
胜者: 跑在 Nokia 设备上的 Maemo。
协作和交互
我们可以开发最迷人的文字编辑工具,但是如果这个软件只能运行在任天堂模拟器上的话,那这东西就几乎没有任何用处。这不是这个编辑器的错误,我们也不会得到更多的协助,在这种情况下,作者都不一定会有热情来推销这么个软件。这就是为什么有时候不能仅仅用 GPL 发布完一个软件就完事了。
在这里我们不准备讨论协作对个人的意义,但我们仍然能看到哪个平台在这方面处于领先地位。
Maemo 是 Debian GNU/Linux 的一个简化版本,它拥有一个在标准 X11 服务上运行的为移动设备优化过的窗口管理器。这意味着 Maemo 的代码实际上可以非常容易地与任何 Unix 类型的自由操作系统共享。(注:这点非常重要,如果 Nokia 能够提供方便易用的转换工具的话,Maemo 可以轻松拥有数万桌面级软件的庞大软件阵容。)这里说一个实际上的例子,Nokia 为了方便创建对移动设备友好的软件而开发的 Hildon 工具已经被 Gnome 接受,并被用在 Ubuntu 移动互联网设备专用版本的开发上。
Android 运行在 Linux 内核上,但是它的应用程序事实上是跑在 Google 自己开发的 Java 虚拟机上。尽管 Google 已经发布了原生的 SDK,但很遗憾,这个 SDK 只允许部分对性能要求极高的软件运行在原生态上。总而言之, Android 根本就不像个跑 Linux 内核的系统,开发者事实上也只能使用非标准的 Java 进行开发。有迹象表明 Google 这么做是刻意为之,目的就是限制软件的能力而迫使用户使用它自己的网络服务。
如果你还是看不明白上面那些东西,那么我们可以这么总结。理论上,Maemo 可以运行任何桌面的 Debian 程序,但在实际操作中,用户界面必须要为移动设备进行优化,而且软件包要修改安装位置来避开 Maemo 的系统盘,Maemo 的系统盘要比其他分区更快。对于开发者来说,这样的工作量相比于移植到 Android 的根本就是小菜一碟,而且用户可以随意安装可以控制运行目录的 Debian 子系统,然后就可以运行未修改过的桌面程序。(注:好吧就是 chroot。。。)
还有更好的事,基于 Qt 的软件同样是跨平台的,它可以运行在 Symbian, Windows 和 类 Unix 系统上。(注:实际上没这么好,除非是纯 Qt,这还要加库的情况下才能运行,也就是说你的程序不能依赖于任何平台特有的东西。)
胜者: Maemo
闭源软件的存在
完全免费的东西当然好,但用户使用免费软件时往往要为了得到一个实用稳定的系统而妥协。显卡驱动就一直是个问题,长期以来,Intel 一直是唯一严肃对待开源驱动的厂商(注:事实上 Nvidia 也做得不错,但前些年确实只有 Intel 稍微厚道点。),可惜 Intel 显卡的性能根本无法应付重度游戏玩家。结果呢,用户只能选择那些硬件性能优异但只有私有驱动的厂商(注:作者表述不当,他的意思是开源系统上的开源驱动没法应付游戏,所以用户只能选择在其他系统上使用他们的硬件。),不幸的是,这样的事情也会发生在手机上。
Android 和 Maemo 其实都包括来自其他方面的闭源模块。 最近有件事闹得沸沸扬扬,那便是 Google 阻止 CyanogenMod 发布大量已破解设备可运行的程序。虽然事情已经平息,但是却恰恰反映了所谓的开源系统中封闭模块的种种问题。
对于 Android 来说,所谓的封闭型应用主要指 GMail,Maps,Gtalks 等等。Maemo 其实跟 Android 类似,也封闭了相应的软件。但这不是一个很大的问题。对于诺基亚来说,它必须在自己的产品上做一些工作以区别于那些同样使用 Maemo 系统但并未参与开发的竞争厂商。由于 Google 自己不开发任何的硬件设备,它通过系统获利更加困难。在这种情况下,闭源软件对于 Google 和诺基亚来说就有了更大的吸引力。
胜者:没有,不过都没什么大问题,为了各自 OS 更好的发展,还需开发更好的图形驱动程序,但是就像免费的电子邮箱那样,免费的驱动程序才会有更多的用户。
现实中的自由
使用者往往根据从移动运营商而非设备制造商那里选购手机,这让手机市场变得更为复杂。尤其是在美国,运营商全力确保用户仅有最低限度的访问权限。(注:指的是手机网络锁,将用户手机锁定在运营商网络上。)(如果这一现状持续下去,会在 Maemo 和 Android 上发生什么还有待观察。纵观历史,诺基亚是唯一一家在美国本土竭力推广无锁手机的大厂商(收效甚微)。
作为一线希望,T-Mobile 推出了它的最新套餐–" Even more" 和" Even more plus“ ,该套餐相较之其他来说每月可以省下 20 美元,而且不用绑定手机。如果在网两年的话总共可节省 480 美元。在此之前,无论用户是手机捆绑套餐抑或是套餐和手机分开支付,都被迫必须支付相同的价款。不过这对于那些普通用户来说,有没有足够的吸引力让他们离开所谓 “本机只售 99 刀” 的陷阱呢。。。
胜利者: 不确定,不过 Nokia 已经表达了站在消费者一边的意愿。
总结
Maemo 并不完美,不过较之 Android 来说还是很超前的。Maemo 的开发可能会令已有的 Linux 发行套件获益,很多桌面端的应用一定会乐于为手机端做专门的优化。 CLI(命令行接口)程序的运行不会有任何问题,熟悉 Linux 的 Geek 可以通过 SSH 和 X11 很简单的连接到他们的台式机上。另外,诺基亚官方声称 N900 支持管理员权限。
Android 可以说自成一派 ,它的源代码的共享很大程度上受其内核的限制。开发人员甚至没法选择他们经常使用的编程语言。你也没法指望 Android 硬件厂商会如用户所愿那样增大应用软件自由度,更别提去争取网络运营商了。