#2 SCO 与 IBM 之间的和解

2021-08-31

开源中国上看到一篇资讯:《18 年后,起诉 IBM 盗用 System V 源码的 SCO 选择以 1425 万美元和解》, 提到 SCO 将要和 IBM 和解,只需要 IBM 向 SCO 托管人(SCO 早破产了,只剩这点官司一直拖着没有结束,根据美国破产法,由托管人代理)支付 1425 万美元。虽然他们继续坚持自己的立场,但是最后都认为这一次的和解协议是符合双方最大利益的,实在是心累,不愿再继续到下一个十年。
这一次总算把这片狗皮膏药彻底给撕掉了,SCO 也可以安心的死去了,Linux 基金会也可以摆酒庆祝一下了。

开源界两件最大的纠纷就是 AT&T Unix 和和这次的 SCO Linux,并且这两个纠纷有很大的渊源。

前者源自 AT&T 管理层所做的一个愚蠢决定,为了一个自己根本不在乎的市场,向一个庞大用户群简单粗暴地发起一场战争。折腾十年(从 1984 年 AT&T 分拆之后向 BSD 提出版权要求,到 1994 年收购 AT&T Unix 资产的 Novell 与 BSD 和解)也没有获得任何好处,BSD 最后也只是做了一点简单的修改就算了事,而发起这场战争的 AT&T 却在官司结束之前,提前抽身去做别的事情去了。但这却直接导致了 Unix 市场长达十年的沉寂,以及 Linux 的诞生,或许 MS-DOS 以及后来 Windows 的诞生都与此有关(我相信如果有合法的、免费的 BSD 可用,IBM 不会选择 MS-DOS,微软可能也会作为一家 Unix 厂商继续经营自己的 Xenix)。

后者也是悬挂在 Linux 厂商头上的一柄达摩克利斯之剑。
SCO 发起诉讼的理由是,SCO 拥有 Unix 版权(可能是部分),IBM 向 Linux 贡献了大量代码,其中有一部分侵犯了 SCO 的版权(IBM 曾经和 SCO 联合开发 X86 架构的 Unix),从而 SCO 拥有 Linux 的部分版权。
不过时代变了,Linux 厂商与 SCO 的体量对比,相较于 AT&T 那会儿完全是反过来的。

SCO 先后多次发起对 Unix/Linux 厂商的诉讼,一旦获胜,就可以在巨大的 Linux 市场撕下来一块巨大的蛋糕。

  1. 最初的 SCO 是一家美国软件公司,因其 Unix 业务而知名。
  2. SCO 一开始是专注于 Unix 的 X86 架构移植
  3. Xenix 是微软开发的 Unix 系统,后来以技术入股的方式,将 Xenix 转让给了合作伙伴 SCO 公司(25% 股份)
  4. SCO 还收购了 UnixWare
  5. SCO 整合手上的 Unix 资源,开发了 SCO Unix,后来又改名为 SCO OpenServer(现在还活着,由 Xinuos 所有,改成基于 FreeBSD)。
  6. SCO 将 Unix 业务(可能包括 SCO 这个名字)出售给了 Caldera Systems,然后就改名了。
  7. 后来,Caldera 更名为 The SCO Group,破产之后又更名为 The TSG Group (后面再提到 SCO 都是指这家公司)。
  8. SCO 的主要业务就是像各大 Linux 厂商发起诉讼
    PS: 一度穷得差点没钱发起诉讼,微软立即宣布花 1300 万美元购买 SCO 许可

SCO 对很多大公司发起了诉讼,包括:

  1. SCO 起诉 IBM:IBM 向 Linux 贡献的代码是否侵权?
  2. Red Hat 起诉 SCO:红帽要求法院禁止 SCO 发起对 Linux 版权的诉讼,被驳回。
  3. SCO 起诉 Novell:Novell 曾经将 Unix 资产打包买给了 SCO,这次的争议是,那一次出售的范围是否包含 Novell 从 AT&T 那里获得的 Unix 版权。最后 SCO 败诉,法院判决 Novell 拥有他那一部分 Unix 版权(后来连带着 Unix 商标一同移交给了 The Open Group)。这个判决直接导致 SCO 在之后的其他官司中胜率大幅降低,可能美国的司法机关也有自己的倾向性,不希望 IT 界遭到重创。

参考资料与拓展阅读

#1 Shell 历史

2020-01-07

参考: https://en.wikipedia.org/wiki/Comparison_of_command_shells

Linux Shell

  • Thompson shell (sh), 1971, Unix v1 - v6
    只存在历史中
    在 Bourne shell 之前,贝尔实验室还出了一个 Mashey shell,只出现在 1976 年的 PWB UNIX 中(所以又叫 PWB shell),没有大范围使用
  • Bourne shell (sh), 1977, Unix v7
  • C shell (csh), 1978 img
  • TENEX C shell (tcsh), 1983 img
    是 TENEX 系统开发的 csh 兼容 Shell
  • Korn shell (ksh), 1983 img
  • Bash, 1989 img
  • Almquist shell (ash), 1989 img
  • zsh, 1990 img
  • Debian Almquist shell (dash), an ash fork, 1997
    主体随 ash 是 BSD 协议,不过,可能是为了保持对 bash 的兼容,采用了 bash 项目的一个文件
  • fish, 2005 img

分类

  • ksh, bash, zsh, ash, dash 都是 Bourne shell 兼容。
  • csh, tcsh 就是 csh 兼容。
  • fish

说明

  1. Unix 上的 sh 有版权问题, 所以 BSD 和 Linux 上的 /bin/sh 都指向某一种兼容 Shell (一般是默认 Shell)
  2. RHEL/CentOS 上,默认 Shell 是 Bash
  3. Debian/Ubuntu 上,默认 Shell 是 Dash
  4. FreeBSD 上默认采用 tcsh, 基于 FreeBSD 的 GhostBSD 采用 fish
  5. OpenBSD 上默认采用 pdksh (pd: Public Domain), 不知道和 tsh 什么关系。可能是 OpenBSD 维护的 tsh 兼容 Shell。
  6. NetBSD 上默认采用 ash
  7. 由于 ash 非常轻量级,BusyBox 采用了 dash fork
    然后 BusyBox 被 Alpine Linux, Tiny Core Linux 或者其他嵌入式 Linux (比如 OpenWrt) 采用,所以这些系统的默认 Shell 应该就是 ash

所以可能使用最广泛的 Shell 是 ash 和 bash。

其他:MacOS 上曾经默认采用 bash, 后来专向了 zsh

Windows 平台

  • command.com, 1980
  • cmd.exe, 1993
  • PowerShell, 2006