- 操作系統基礎與實踐:基于openEuler平臺
- 郝家勝主編
- 1328字
- 2024-12-11 16:41:46
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操作系統的文件描述符相整合,庫用戶可以通過計算機網絡讀寫數據,跟直接在硬盤上操作數據一樣容易。
- 操作系統實用教程(Linux版)
- 每天5分鐘玩轉Kubernetes
- VMware Horizon View 6 Desktop Virtualization Cookbook
- Alfresco 4 Enterprise Content Management Implementation
- Delphi Programming Projects
- Cassandra 3.x High Availability(Second Edition)
- Python UNIX和Linux系統管理指南
- Linux操作系統
- μC/OS-III內核實現與應用開發實戰指南:基于STM32
- 應急指揮信息系統設計
- Zabbix監控系統之深度解析和實踐
- Windows網絡編程(第2版)
- SAP后勤模塊實施攻略:SAP在生產、采購、銷售、物流中的應用
- 從零開始學Windows 7
- Windows XP操作系統5日通