---
title: 2021 年春季 Linux 核心設計課程作業 —— culture
image: https://i.imgur.com/robmeiQ.png
description: 理解 GNU/Linux 發展的背景和黑客文化
---
# J03: culture
###### tags: `linux2021`
> 主講人: [jserv](http://wiki.csie.ncku.edu.tw/User/jserv) / 課程討論區: [2021 年系統軟體課程](https://www.facebook.com/groups/system.software2021/)
:mega: 返回「[Linux 核心設計](http://wiki.csie.ncku.edu.tw/linux/schedule)」課程進度表
==[解說錄影](https://youtu.be/a8GwXtrUc6Q?t=9621)==
## 作業目標
1. 探究科技演化的過程中,自由軟體和開放原始碼技術扮演的角色
2. 只要接觸 GNU/Linux,就免不了要接觸充斥各式歷史的術語和「慣例」,學員應該嘗試調整心境,才能更融入 Linux 所繼承的特質
## :question: 問題清單
* free software (自由軟體) 和 open source (開放原始碼) 兩者的理念有何落差?請以創始人的訴求來解讀,儘量引用第一手材料
* 從最初的 Cygnus Solutions (史上首間透過 free software 實現盈利的公司), Red Hat (收購 Cygnus Solutions), 到 IBM (收購 Red Hat 並將其既有業務作為主軸),請解釋公司如何透過 free software 及 open source 來獲利?請列出相關的論文和報告
* 在 21 世紀初期,[Microsoft 一度負面評價 GPL 與 Linux](https://www.zdnet.com/article/microsoft-once-called-linux-a-cancer-and-that-was-a-big-mistake/),但為何一旦該公司主推雲端業務後,即宣布擁抱 GNU/Linux 呢?請討論該公司的態度轉變,以及 Microsoft 如何利用 Linux 提高獲利?
* [Compatible Time-Sharing System](https://en.wikipedia.org/wiki/Compatible_Time-Sharing_System) (簡稱 CTSS) 是史上第一套分時多工作業系統,請簡述其發展背景和關鍵特徵,又有哪些 CTSS 的特徵被 UNIX 或更晚出現的 Linux 所繼承?
* Richard Stallman 建立 GNU 的訴求是 "GNU's Not Unix",儘管 Stallman 博士對於 AT&T 收取 UNIX 高額授權金感到不悅,但為何他採用 UNIX 作為 GNU/FSF 發展的藍圖呢?UNIX 有哪些特徵和文化,很值得延續呢?
* 在 Linux 問世前,BSD 早已席捲作業系統的生態,但為何在 1990 年代後期,Linux 無論是聲勢和開發活躍度都超越 BSD 家族呢?請舉出量化數據和相關研究報告說明
* 儘管 Richard Stallman 成立 Free Software Foundation (FSF) 的初衷是打造 GNU 作業系統,但為何他從 gcc 編譯器著手?為了落實他心目中的 free software 生態,這樣的策略有何考量?
* FSF 所提倡的 "Copyleft" 概念,和 "Copyright" 是否衝突?在實務上如何達成?free software 和 open source 的授權條款是否符合著作權精神呢?
* GNU Hurd 採用 CMU Mach 微核心作為基礎設計,該途徑與 Linux 核心大相徑庭,請說明這兩種核心設計手法的優劣
* 1991 年 Linux 核心推出 `v0.01`,原始程式碼約 1 萬行,到 1995 年的 `v1.2` 則有 25 萬行,並獲得 50 萬名使用者採納,在 1999 年的 `v2.2` 則有超過一千萬名使用者,往後的日子,Linux 更是如火如荼,請解釋何以 Linux 能吸引到開發者目光?又,Linux 獲得商業公司採納的考量是什麼?
* Brian Behlendorf 歸納網際網路是 Apache 與 Linux 得以快速成長的重要因素,請說明自 1990 年代中期,Apache 和 Linux 一類的自由軟體/開放原始碼基礎建設,對整個資訊科技產業帶來什麼衝擊?
* 20 世紀最龐大的開放原始碼專案是 Mozilla,儘管後者無法挽救 Netscape 公司的命運,但卻使後續的 Mozilla Foundation/Corporation 有穩健的基礎來發展 Firefox 網頁瀏覽器和相關的軟體。請從網頁瀏覽器的發展,討論自 1998 年以來,活躍和一度活躍發展的開放原始碼網頁瀏覽器實作,以及這些實作對於 W3C 一類的標準制定有何影響?
* GCC 的發展過程中,一度出現以 Cygnus Solutions 為首的開發者建立 [EGCS project](https://en.wikipedia.org/wiki/GNU_Compiler_Collection#EGCS_fork) 分支,挑戰 FSF 的開發策略,但最終 EGCS 成為 GCC 發展主流方向,請說明時代背景,並援引〈[教堂與市集](http://crazyangelo.github.io/Cathedral-and-Bazaar/)〉的模型來解釋
## :penguin: 作業要求
* 閱讀以下指定報告和材料:
- [從 Revolution OS 看作業系統生態變化](https://hackmd.io/@sysprog/revolution-os-note): 非常珍貴的紀錄片,從早期的黑客挖掘的第一手材料
- 《[The Unix System: Making Computers Easier to Use](https://www.youtube.com/watch?v=XvDZLjaCJuw)》: 來自 AT&T 早期的 UNIX 介紹影片,在 35+ 年前就達到的技術水平
* 編輯「[作業區](https://hackmd.io/@sysprog/linux2021-homework1)」,嘗試回答上方「問題清單」裡頭的問題,儘量引用第一手材料和權威文獻來解說
* 針對上述材料所提到的所有影片、影片解說和對應資料,紀錄自己的疑惑和心得
- 若發現 [從 Revolution OS 看作業系統生態變化](https://hackmd.io/@sysprog/revolution-os-note)共筆中存在失效的超連結 (dead links),請回報和嘗試修正
- 不能只是「摘要」,必須詳述自己研讀上述材料的啟發並且「充分提問」(沒有笨問題,同學的提問彙整後,會成為後續課程的參考)
* 截止日期:
* Mar 7, 2021 (含) 之前