1.3.1 UNIX的繁荣与版权困境
早期UNIX在全世界范围内的推广方式与后来的开源社区有着异曲同工之妙,当时AT&T公司和高校签署了商业保密协议,高校通过支付象征性的“许可费”就能够获取该系统的源码。很多高校对其展开了深入研究,自由地对其进行分析和改进,相互交流意见和成果,由此促进了UNIX的发展。UNIX家族如图1.2所示。
图1.2 UNIX家族
UNIX的发展速度超乎想象,用户群体在世界各地涌现,并出现了许多重大技术革新。开源社区还建立了USENIX这样的UNIX用户组,针对许多主题开展会议演讲并推出教程,大大促进了UNIX的传播。当然,这种推广模式也为后来的版权之争埋下了隐患。
BSD(Berkeley Software Distribution,伯克利软件套件)又称为Berkeley UNIX,诞生于加利福尼亚大学伯克利分校,它以完整源码的形式发布。作为“UNIX家族”举足轻重的一个分支,为UNIX的发展做出了重要贡献,如UNIX V5中包含TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)堆栈等最初由BSD编写的大量代码。BSD还有一个不那么有名的解释“Because Sleep is Dumb”。因为早期的BSD开发者们经常在伯克利分校的计算机实验室里通宵达旦地工作,这种作息导致很多人都开玩笑地说“BSD是在夜间开发的”。这也反映了开发者们对于创造和探索的热情,以及他们对技术的投入。
从1979年的V7版本开始,UNIX的许可证开始禁止高校使用UNIX源码,包括在课堂中学习。如果想要继续使用,就要支付价格不菲的费用获得授权。1984年AT&T公司分解后,终于放弃了“垄断”,立即将UNIX进行商业化。到了20世纪80年代后期,UNIX日益流行,AT&T公司将许可费从最初的99美元稳步提高到250000美元。
UNIX在发展过程中逐步形成了两大流派:AT&T公司的商业化闭源UNIX版本和BSD的开源系列。这种格局在20世纪90年代初期达到极盛,不同的UNIX版本有100多种,其中包括SunOS、IBM AIX、HP-UX、Xenix OS、Solaris等,这些变种均基于UNIX开源版本派生而来,多发展为闭源的商业版。
20世纪90年代初期,伯克利分校的CSRG(Computer Systems Research Group,计算机系统研究组)创立了BSDi公司,销售自己的BSD发行版,这无疑触动了UNIX版权持有者的商业利益,从而引发了一场“专利战争”。1992年,UNIX的版权持有者AT&T公司起诉了BSDi公司,指控他们将UNIX的代码与BSD的代码混合使用,侵犯了AT&T公司的UNIX版权。这场诉讼持续了多年,最终于1994年结案。解决方案包括从BSD代码中移除涉及UNIX的部分,并支付AT&T公司提出的赔偿诉求。从此之后,BSD就成了一个完全重新编写的操作系统。
UNIX的版权争议一直存在并发酵,SCO(Santa Cruz Operation)公司通过购入Novell公司(贝尔实验室的合作方)间接获取了部分UNIX版权,2003年该公司起诉IBM,声称IBM将SCO的UNIX代码非法插入了Linux操作系统,并通过这种方式削弱了SCO UNIX的市场份额,要求IBM支付50亿美元的侵权赔偿。当时,若SCO公司胜诉则可认定该公司拥有对UNIX的版权,IBM自有的AIX、Sun公司的Solaris等一系列操作系统均会受到影响。这场“专利战争”持续了7年之久,诉讼期间这个问题引发了广泛的关注和讨论,直到2010年才以SCO公司败诉而结束。值得一提的是,这场“专利战争”对开源软件运动产生了重要影响,它不仅提高了当时刚诞生的Linux操作系统(一种开源UNIX变种)的法律地位,还为Linux的快速发展提供了重要的历史时机。
BSD开创了现代计算机的潮流。伯克利分校的UNIX率先包含库,以支持互联网协议栈(Stack)、伯克利套接字(Socket)。通过将套接字与UNIX操作系统的文件描述符相整合,库用户可以通过计算机网络读写数据,跟直接在硬盘上操作数据一样容易。