自由软件与商业可行性
Alessandro Rubini [*] 著写于1998年11月12日,发表于1999年2月
幸运的是,Linus 的项目"主导世界"即将成为现实。这一趋势可通过以下几点得到印证:媒体对 GNU/Linux 解决方案的态度,众多教育机构正将自由软件引入校园,以及该系统一贯卓越的技术表现。
时至1998年(没错,我写下这段话时仍是1998年),在我看来,最重要的工作依然是传播自由软件在社会与商业层面的影响。尽管我非常赞赏 Russell Nelson 在七月刊《Linux Journal》上发表的《开源软件模式》一文,但仍感有必要对他简要提及的观点作进一步拓展。
需要说明的是,我并非经济学或政治学专家,只是个习惯自己动手的技术人员。本文的讨论基于我个人在生存竞争中的实践经验,希望能帮助他人适应新的环境变化。文中部分观点曾与友人探讨,或在阅读 Russell 文章后参与的"自由软件商业"邮件列表(fsb-subscribe@crynwr.com)中交流过。
个人咨询的可行性
计算机系统的最大优势在于灵活性——它允许用户根据自身需求定制系统行为。然而这种灵活性往往不为普通计算机用户所知,因为专有软件解决方案倾向于将功能隐藏在僵硬的外部界面之后,这种设计否定了任何偏离预期的行为——即用户的行为。
当采用自由软件时,用户得以发现计算机系统的真正能力。今天我与一位商业顾问交谈,他从未想过程序可以根据个人需求进行调整。他坦言他的公司一直反其道而行——总是让自己的需求去适应所用的软件。大多数用户是自身软件的受害者,却对此浑然不觉。
教育用户群体认识软件的可扩展性将为独立咨询师开辟新的市场,创造新的就业机会。每个用户都有不同的需求,而满足这些需求往往意味着需要寻求技术人员提供支持,对相关软件进行定制或功能增强。这在专有软件领域是难以想象的,但源代码的可获取性使得任何可能出现的问题都能被迅速解决,新功能也能轻松添加。虽然您可能认为这会导致软件包迅速趋向完美,但个体需求的多样性和专业性决定了单一软件包无法满足所有人。
例如,我和几位同事曾为当地一家生理学中心编写了一个程序,用于分析某类典型实验的数据。在两年的使用过程中,医师们提出了大量改进建议,如今这个程序已被评价为优于商业解决方案。尽管这些年客户支付的总费用最终高于某些商业替代品,但这对我的客户而言并不重要——他们获得了完全符合需求的产品,并且清楚未来需要时还能继续扩展功能。这个程序自然是自由软件,其他医疗中心也表示有兴趣获取该程序的副本。
随着越来越多人选择自由软件来满足需求,我相信某些软件公司将会试图妖魔化 GNU/Linux 以及自由软件和开源运动,因为他们正在失去市场份额。这些公司可能会试图证明 IT 就业正在萎缩,并声称自由软件的普及正在损害人类发展。这套说辞完全站不住脚:计算机生来就是为了被编程的,你越允许对它们进行编程,就越能创造就业机会。若统计提供自由软件咨询服务的人数,其规模将远远超过专有软件公司缩减的岗位。以我之前的案例为例:生理学实验室聘请我们公司开发程序,而对该产品感兴趣的其他中心也愿意聘请本地顾问来安装、维护和改进我们的软件包。我刚才说的是"改进"吗?难道程序不能正常运行?不,程序运行良好,但产品确实存在优化空间。本地实验室决定停止开发,"因为我们需要进行实验,而不是发明新软件功能"。众所周知,每个程序都存在漏洞和功能缺失,而这正是我们建立信誉的基石:漏洞可以被修复,功能可以被实现。正如我之前所言,事物越具备可编程性,就越会被不断编程优化。
为何 IT 领域将出现比现在更多的就业机会?首先,正如前文所述,自由软件用户比专有软件用户提出更多新功能需求。其次,任何人都能通过研究源代码和在个人低端计算机上实践来建立专业能力,无需为获取信息源支付费用。我正是通过研究源代码并在自己的低端电脑上反复试验,逐步积累了专业知识。如今我有信心解决客户可能遇到的任何问题,我的客户也深知我能做到(前提是给予我足够的时间来处理问题)。
除了源代码的可获取性之外,另一个关键点是文件格式的标准化——专有产品在这一领域暴露了其最严重的缺陷。试想一个系统中所有文件格式都公开透明的环境:例如,您可以为产生的任何文档创建索引,从而简化后续检索。这个过程可以离线完成,不会给非技术人员带来任何负担。数据的异步复用对许多用户而言犹如"火箭科学",因为他们已习惯使用专有文件格式的程序(以及不具备真正多任务或"定时任务"能力的操作系统)。一旦采用自由标准,用户就会开始提出定制需求,并愿意为任何能提升工作效率的方案付费。更重要的是,自由标准能确保客户不会做出错误选择——即使软件市场发生变化,他们也永远不会陷入数据无法使用的困境。
传统软件分发模式将核心技术集中在少数公司(或单一企业)手中,而开放标准能将技术知识赋予任何愿意学习的人。专有产品只能由有限数量的认证顾问提供支持(其数量和质量受中心化管理),而支持自由软件解决方案的顾问数量实际上不受限制,且市场供给能快速适应需求变化。
在计算机仅是达成其他目标的工具的世界里,易于定制和快速维护已成为高级用户的基本需求。在我看来,自由软件将迅速赢得成为真正市场现象所需的信任。一旦你开始信任某些自由软件产品,便会发现它们值得更深度的投入。GNU/Linux 爱好者需要做好准备,随时提供技术支持,以满足即将到来的咨询需求浪潮。
技术支持公司的可行性
显然,独立咨询师无法满足计算机用户的全部需求。很多工作无法仅由个人完成。Red Hat 和 S.u.S.E.正在证明,即使产品允许自由再分发,创建和维护发行版也能成为可观的收入来源。基于 Debian 的尝试也在推进中,尽管进展相对缓慢——这主要是因为在市场份额较低的时期,Red Hat 和 S.u.S.E. 为求生存将专有产品与自由软件包捆绑发行,而 Debian 则始终完全隔离了专有产品,至今亦然。
除了"开发与封装"或"收集与封装"这类工作,企业还可专注于技术支持领域,专门应对计算机系统至关重要的应用场景。在生产环境中大规模使用计算机系统的企业,往往不满足于仅依赖外部顾问或内部技术人员。他们需要依托外部专业机构,以确保其技术辅助系统能实现全天候稳定运行。
即使 GNU/Linux 或任何其他操作系统被证明完全可靠,高级用户仍需将技术支持公司作为某种形式的保险。计算机在生产环境中越重要,人们就越愿意支付费用来确保一切持续运行,并在发生故障时有"责任人"可联系。这类针对"高级用户"的支持合同甚至可以包含停机退款条款。大型技术支持公司将能有效地处理此类保障,而客户即使从未需要呼叫协助,也乐意支付高额费用。
简而言之,我认为软件公司无需维持对其产品的专有权;技术支持领域足够广阔,完全能在信息技术行业提供优质的商业机会。那些志在顶峰的企业,可以动用部分收益资助自由软件的开发,从而抢先获得最优秀的软件技术,并将自身品牌与软件产品紧密关联。事实上,主流发行版早已践行这一模式。
教育中心的可行性
毫无疑问,中小学和大学最应使用自由软件工具来教授信息技术。由于技术上的优越性,自由软件环境能为学生提供更多学习内容,但同时也需要更专业的技术知识进行管理。我并不认为选择自由操作系统相较于专有系统能节省资金,但教育机构将经费用于雇佣系统管理员,远比补贴某些已然过度富裕的商业软件公司更有价值。尽管我的祖国意大利受限于某些更倾向于支持采购而非雇佣的规章,但其他国家已朝着正确方向迈进——例如墨西哥和法国都已宣布在公立学校推广使用 GNU/Linux 的计划。
教育领域倾向于自由软件还有另一个重要考量:学生就业后,往往会优先使用在校期间掌握的工具,以最大限度减少额外学习成本。这一事实应当引导院校只教授那些非私人专有、属于自由范畴的工具。学校仅在满足以下两个条件时才应教授专有软件:其一,不存在可行的替代方案;其二,发行该软件的公司需为学校教授其产品支付费用。付费使用某产品却还要为其进行宣传,这显然不合逻辑。
社会议题
关于选择何种软件模型,还涉及到一些社会性议题。尽管我将它们归类为社会议题,但同时也蕴含着经济层面的影响。
若将个人时间成本计入,自由软件或许并不比专有软件更廉价,但不同环境对时间价值的换算标准各不相同。大多数新兴国家拥有优质智力资源却资金匮乏,同时往往积存着大量非全新的计算机设备。专有操作系统对他们而言难以负担,而自由软件方案则兼具可行性与实用性。实际上,《万圣节文档》也印证了我的观点,其强调 “Linux” 在远东地区正飞速发展。慈善组织通常面临相似处境——资金有限而人力资源丰富,这自然使其在任何信息技术需求上都倾向于采用自由软件模式。
这些观点或许会让人觉得,信息的自由获取本质上颇具左翼色彩,因为"信息归于大众"与古老格言"权力归于大众"看起来颇为相似。但人们通常忽略了自由软件运动强烈的右翼特质:这个领域奉行严格的能力至上原则,是自由竞争的绝佳环境,市场规律在此确保唯有最优理念和最强者能够存续。相比之下,专有标准往往通过抑制创新、固化既有成果来削弱竞争活力。
自由软件模式的限制
我自然明白,并非所有软件包都能轻易转化为自由软件。这里我并非指办公类产品——我相信迟早会有优秀的项目来满足这一需求。
我所指的,其实是那些产品竞争激烈、但软件仅占其组成部分一小部分的所有领域。以工业设备为例,它可能包含一台计算机和一些通用硬件(机器人、定制 I/O 外设、PLC 等);计算机中运行的软件应用只占整体的小部分,但其功能却极大地影响着设备的整体价值。开发和调试这类应用通常需要巨额投资,因此禁止源代码的自由分发,成为防止竞争对手仿制的一种保护手段。
另一个典型案例是手机。它们内含大量软件,尽管这些软件对终端用户几乎不可见——用户将其视为电话而非计算机。正是这些软件决定了设备的整体功能,由于其在设备中占据核心功能地位,这类软件具有严格的专有性。
遗憾的是,我认为这类代码很难实现自由化。虽然我对手机并不太在意(毕竟我自己不用:),但我真心希望看到自由的工业应用软件出现,因为它们包含的技术成果通常值得被复用并适配于新的问题场景。
[*] Alessandro 以编写自由软件为生,并以推广自由软件为使命。他期盼即将出生的孩子能远离计算机,怀念着那些将此类"怪兽"局限于技术"动物园"的美好旧时光。他的联系邮箱是 rubini@gnu.org,他会尽力回复每一封邮件。
经《Linux Journal》许可转载。