「开源之史」系列之二/七:自由软件的商业模式 —— Cygnus 在许可之外的探索

能解决问题是商业的重要因素,相比大部分人能解决别人解决不了的问题,竞争优势就有了,那么采取点市场的策略,运营上用点心,营利并不是件困难的事情,作为第一家采用自由软件(开源的概念尚无)的商业公司——Cygnus Solution 做到了,而且开辟了全新的领域,并以Hacker式的方式碾压竞争对手,在上世纪90年代,这仍然可以称得上一个奇迹。

Mon Jun 13, 2022 | 3000 Words | 大约需要阅读 6 分钟 | 作者: 「开源之道」·适兕 |

在黑客伦理之下,是不可以将信息封锁起来收许可费用的,这样的话,最简单粗暴的商业模式——是行不通的,而是君子约定,不以营利为目的的象征意义上的礼物交换更在这个早期的共同体中颇为流行(上一章专门提到过),随着社会的发展,更多的需求:服务、定制、培训、咨询等产生,和黑客伦理没有任何冲突的生意也产生了。

开发者的生意——Emacs 的起步

从技术的发展看开源,我们知道闭源是来势汹汹,基本在上世纪70年代迅速的占领了软件市场,也确实让很多淘金者崛起,给其它模式并没有留下多少空间,出去高校和学术机构的特立独行的项目之外,商业中很难找到,连MIT AI lab 的LISP 语言都没有被放过[1]。但是,Richard Stallman 还有一个看家本领—— 编辑器—— 开发者编码的工具,在将Emacs重写并以源代码开源的方式发布之后[2]找到了新的模式:Richard Stallman 是如此描述自己如何售卖 Emacs 的 [3]:

我开发GNU Emacs 的工作始于1984年,1985年初GNU Emacs 算是有了第一个可用的版本。这使我可以在UNIX机器上进行编辑工作。而在此之前,因为没有兴趣使用vi 或ed,我的文本编辑工作都是在其他系统上完成的。

这时,人们开始希望能使用GNU Emacs,这就引发了如何发行的问题。我将它放到了我所使用的MIT机器的匿名FTP 服务器上。但在当时,许多有兴趣使用GNU Emacs 的人都不在 Internet 上,也就无法利用FTP获得 GNU Emacs 的拷贝。那么,我应该告诉他们什么呢?

我可以说:“找一个能上网的朋友,他会帮助你获得拷贝的。” 或者按照我最初在 PDP-10上发行Emacs的方式,对他们说:“寄给我一盘磁带和一个邮资已付的回信信封,我会把Emacs寄回给你的。” 但当时我没有工作,正在寻找通过自由软件挣钱的方法。因此我宣布会为所有希望得到它的人邮寄一份,定价是150美元。这样,我开始商业性自由软件的发行任务,这也是当今众多销售完整的、基于Linux的GNU系统等公司的起源。

购买者将钱寄给自由软件基金会(FSF),FSF 就会发送一份Emacs的拷贝,然后,Richard Stallman 就可以雇佣更多的人来进行GNU计划的开发,FSF 没有营利的目标,但是开发了一个有效的,让大家都觉得公平合理的商业模式。

不同架构的移植—— GCC 的需求

编辑器、编译器和调试器这三样东西是程序员每天在编程工作中都必须打交道的, Emacs 可以找到很好的模式,那么如此重要的编译器和调试器也应该有相应的模式, Michael Tiemann 就是想到这个的早期开发者之一,1987年6月,Stallman 推出了GNU C编译器1.0, Michael Tiemann 立即就从网站上下载了它,并如饥似渴的读了起来,并迅速地学会了这个版本的110000行代码,并在两个星期后,将gcc移植到了National Semiconductor 的32032芯片。而此时的GCC 算上Stallman的也不过才支持三个平台:VAX和Sun3 ,市面尚有很多的芯片待支持。

更为重要的是,Michael Tiemann 的商业观念来自于GNU宣言中对于Stallman的一个不认同[4]:

使用、发行、修改软件的自由将任何试图限制该自由的模式,它将不会因为伦理的原因而盛行,而是因为竞争、市场驱动的原因。

在当时的计算机市场上,像今天一样,也是各种架构的芯片,而每一种对应的架构,都需要对应的编译器和调试器,DEC、Sun、Motorola、Intel、MIPS等等,备受诟病的专有编译程序有着开发者难以忍受的各类障碍:

  1. 专有工具的特性出厂时是怎样就是怎样,人们没有办法修改它。
  2. 每当一种特性出现时,经常伴随着内置的种种限制。
  3. 技术支持糟糕,除非你是大客户
  4. 被牢牢地绑在了专有的平台上

这也就意味着GNU计划下的GCC、GDB等有着得天独厚的优势,可以满足这些市场刚需。另外,创始人 Michael Tiemann 还从法律上获得了灵感:

来自法律的感悟

普通法对于所有想使用它的人都是公开得到的,某个人在争论中不需要什么许可就可以利用普通法对原告和被告的是非进行裁定,实际情况也的确如此,一旦做出了某个裁定,无论裁定对开销多大,所有的人都可以沿用这一裁定。正是因为有了所有这种自由,律师这个高度昂贵的职业才得以建立起来。[4]

Michael Tiemann 认为自由软件和普通法有着相似的特性,这是对技术标准有着深刻理解的工程师的结论:创建一种标准并且让它正常工作是非常昂贵的,而自由软件的源代码开放这一特性,终将成为软件世界的事实标准。而维护这些软件如果提供运营的话,就是可以营利的。

于是,三位创始人也是GCC、GDB的主力,Michael Tiemann、David Vinayak Wallace、和 John Gilmore 在1989年11月创建了Cygnus Support 公司,十年后,它雇佣了 120 多名员工,年收入超过 20,000,000 美元。[5]

Cygnus 的竞争优势

Cygnus 始终坚持了Upstream first 原则,也就是在GNU计划中先开发,然后再提供给自己的客户,无论是最开始的定制,还是后来开发出GNUPro包,为此还不惜放弃了其它的市场机会[4]。

至于如何应对竞争对手,Cygnus 占了先机:1989年就开始全方位支持GCC, 而要等到其他人注意到这个项目的时候,已经过去了5、6年,用Michael Tiemann 的描述就是开源再次站在了Cygnus这边[5]:

(Cygnus 提供了GCC、GDB和相关工具的80%以上的改进代码),竞争对手的最高期望只不过是在客户愿意为他们付钱的情况下,为他们增加一些特性。但是由于软件是开源的,所以无论他们增加了什么代码,这些代码还是会回到Cygnus而成为自由软件。…….开源软件厂家更像是在莫比乌斯圈上竞争,而且每一样东西都是朝原创者或者维护人员期待的方向发展。

市场转瞬即逝,编译器的下沉

随着互联网时代的来临,软件市场也在发生着深刻的变化,芯片厂商的格局也在不断变更,芯片厂商和语言提供商提供更多的免费的策略,GCC 付费的需求虽然仍然有,但是消费者不再承担,而是由操作系统解决方案提供商来提供,Cygnus 作为第一家自由软件的商业公司在1999年被正在华尔街新宠RedHat 收购[6]实乃是一件后来看来是皆大欢喜的事情。而两家和开源世界的关系也是非常相近的,RedHat 从此保证了在性能上的技术优势。

The company was sold for about $600 million, making all of its early employees into millionaires.

(注:关于编辑器、编译器、调试器等技术细节,作者在《开源之史》第五章有详细描述。)

参考资料

  1. 《Understanding Open Source and Free Software Licensing 》,Andrew M. St. Laurent, O’Reilly Media, Inc.,2004-08,在线访问地址: https://www.oreilly.com/openbook/osfreesoft/book/
  2. https://www.jwz.org/doc/emacs-timeline.html ,最后访问时间:2022-05-11
  3. 《自由软件,自由社会》,https://fsfs-zh.readthedocs.io/ ,最后访问时间:2022-05-19
  4. 《Cygnus方案的未来》,节选自《开源革命之声》,Chris Dibona 等,中国电力出版社,2000-1
  5. https://web.archive.org/web/20171022105307/http://www.toad.com/gnu/cygnus/index.html ,最后访问时间:2022-06-13
  6. https://www.redhat.com/en/about/press-releases/press-cygnusacquisition ,最后访问时间:2022-06-13

关于作者

「发现开源三部曲」(《开源之迷》已出,《开源之道》《开源之思》撰写中。)作者,「开源之道:致力于开源相关思想、知识和价值的探究」主创,Linux基金会亚太区开源布道者(2022年度团队主席),云计算产业联盟(中国信息通信研究院发起)个人开源专家,Apache 本地共同体北京成员,CCF 开源技术丛书编委会委员 。