用十分鐘瞭解 《開放原始碼的世界》
TRANSCRIPT
![Page 1: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/1.jpg)
用十分鐘瞭解
《開放原始碼的世界》
陳鍾誠
2016 年 9月 10 日
程式人《十分鐘系列》程式人《十分鐘系列》
本文衍生自維基百科
![Page 2: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/2.jpg)
開放原始碼
![Page 3: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/3.jpg)
對於大部分人而言
![Page 4: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/4.jpg)
就是有一堆軟體
●可以讓你免費使用!
![Page 5: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/5.jpg)
但是
●這樣的認知
純粹是軟體使用者的層次!
![Page 6: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/6.jpg)
開放原始碼
●英文是 Open Source
![Page 7: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/7.jpg)
開源軟體
● 英文可以用 Open Source Software
● 但也有人喜歡用 Free software 來稱呼
![Page 8: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/8.jpg)
對於程式人而言
![Page 9: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/9.jpg)
Free 這個詞
●絕對不是《免費》
●而是《自由》!
![Page 10: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/10.jpg)
就是《自由軟體》
●裡面說的那種自由!
![Page 11: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/11.jpg)
但是為甚麼
●軟體需要自由呢?
![Page 12: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/12.jpg)
關於這點
●其實是搞錯對象!
![Page 13: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/13.jpg)
想要自由的
●不是軟體
![Page 14: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/14.jpg)
因為軟體
●不會知道自己到底自不自由
![Page 15: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/15.jpg)
只有人
●才會想要讓自己自由!
![Page 16: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/16.jpg)
問題是
●《自由軟體》到底讓誰自由!
![Page 17: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/17.jpg)
答案很簡單
![Page 18: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/18.jpg)
就是讓程式人自由
![Page 19: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/19.jpg)
問題是
●可以讓程式人得到甚麼自由呢?
![Page 20: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/20.jpg)
關於這點
●必須要深入的解釋一下!
![Page 21: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/21.jpg)
想要知道自由到底是甚麼?
●必須先能體會甚麼是《不自由》
![Page 22: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/22.jpg)
你知道
●我們程式人每天上班
![Page 23: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/23.jpg)
辛苦的寫程式
![Page 24: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/24.jpg)
背後的原因
●其實通常和大家一樣!
![Page 25: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/25.jpg)
那就是
![Page 26: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/26.jpg)
老闆有發薪水!
![Page 27: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/27.jpg)
然後
![Page 28: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/28.jpg)
我們還領了那些錢
![Page 29: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/29.jpg)
領了錢
![Page 30: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/30.jpg)
就必須辦事
![Page 31: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/31.jpg)
辦甚麼事?
![Page 32: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/32.jpg)
老闆交代的事!
![Page 33: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/33.jpg)
問題是
●老闆會交代甚麼事呢?
![Page 34: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/34.jpg)
這個問題
![Page 35: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/35.jpg)
答案又很簡單
![Page 36: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/36.jpg)
那些事
●一定是老闆自己不想去做的事!
![Page 37: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/37.jpg)
所以
●老闆需要一些奴隸
來幫他完成工作!
![Page 38: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/38.jpg)
而程式人的工作
●通常就是完成那些
![Page 39: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/39.jpg)
老闆想要
●但是自己卻不想做的程式!
![Page 40: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/40.jpg)
換言之
![Page 41: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/41.jpg)
程式人的工作
![Page 42: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/42.jpg)
就是當老闆的奴隸
●寫老闆想要的程式 ...
![Page 43: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/43.jpg)
身為奴隸
●當然就沒有甚麼自由可言!
![Page 44: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/44.jpg)
因為
●你寫出來的程式
![Page 45: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/45.jpg)
是公司的
![Page 46: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/46.jpg)
而不是自己的!
![Page 47: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/47.jpg)
於是
●在 198x 年的某一天!
![Page 48: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/48.jpg)
有一個
●寫了很多程式的奴隸
![Page 49: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/49.jpg)
他的名字是
●Richard Stallman
![Page 50: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/50.jpg)
翻譯成中文就是
●《理查、死拖慢》!
![Page 51: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/51.jpg)
基本上
●他們一群人,寫了當初 UNIX
系統裡的大部分工具程式。
![Page 52: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/52.jpg)
但是有一天
●UNIX 的老闆 AT&T 說
![Page 53: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/53.jpg)
這些程式
●通通都是我的
![Page 54: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/54.jpg)
如果你們拿去隨便用
![Page 55: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/55.jpg)
那我就會
![Page 56: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/56.jpg)
告你
●告你
●告你
●告死你!
![Page 57: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/57.jpg)
於是
●《死拖慢》不爽了!
![Page 58: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/58.jpg)
就在他很不爽的時候
![Page 59: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/59.jpg)
發生了一件事情
![Page 60: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/60.jpg)
那就是
![Page 61: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/61.jpg)
他們的印表機壞了
![Page 62: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/62.jpg)
那台印表機
●一直印、一直印、一直印
●都停不下來!
![Page 63: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/63.jpg)
那時候
●印表機還很貴!
![Page 64: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/64.jpg)
於是
●他打電話去向印表機公司
要那台印表機的原始碼!
![Page 65: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/65.jpg)
結果、印表機公司說
![Page 66: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/66.jpg)
印表機的原始碼
●是我們公司的智慧財產
不能隨便給你!
![Page 67: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/67.jpg)
死拖慢說
●那我們那台故障的印表機怎麼辦?
![Page 68: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/68.jpg)
於是對方說
●請你和我們的維修部門聯絡
你的印表機壞了!
![Page 69: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/69.jpg)
問題是
●出狀況的是軟體
而不是硬體阿!
![Page 70: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/70.jpg)
死拖慢心想
●這家該死的印表機公司
![Page 71: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/71.jpg)
這個該死的產業
![Page 72: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/72.jpg)
這個該死的國家
![Page 73: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/73.jpg)
這個該死的世界!
![Page 74: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/74.jpg)
於是
![Page 75: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/75.jpg)
死拖慢終於決定
![Page 76: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/76.jpg)
要搞一場革命
![Page 77: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/77.jpg)
革誰的命
![Page 78: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/78.jpg)
革那些
●軟體公司的命!
![Page 79: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/79.jpg)
他找了律師
●擬了一份《法律聲明》
![Page 80: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/80.jpg)
這份聲明
●稱為 General Public License ,
簡稱 GPL!
![Page 81: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/81.jpg)
GPL 授權聲明上寫著
●我這份程式,可以免費給你用!
![Page 82: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/82.jpg)
但是假如你的程式
●呼叫了我的程式
![Page 83: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/83.jpg)
那麼
●你的程式也必須要
採用 GPL的方式授權
![Page 84: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/84.jpg)
於是
![Page 85: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/85.jpg)
這場稱為開放原始碼運動的革命
●就被啟動了!
![Page 86: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/86.jpg)
死拖慢開始整理
●自己所寫過的那些程式
![Page 87: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/87.jpg)
然後分享給朋友們用
![Page 88: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/88.jpg)
朋友們又寫了更多程式
![Page 89: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/89.jpg)
分享給更多朋友
![Page 90: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/90.jpg)
接著
● 這些採用 GPL 授權的程式越來越多!
![Page 91: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/91.jpg)
像是 gcc編譯器
●就是這群程式裡,最為人所
知的一組!
![Page 92: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/92.jpg)
於是程式人
●又開始得到自由了!
![Page 93: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/93.jpg)
但是
●還有一些小問題!
![Page 94: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/94.jpg)
那就是
● 死拖慢他們當年
都曾經做過貢獻的 UNIX
現在被 AT&T 的邪惡老闆收回去了!
![Page 95: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/95.jpg)
而且那個可惡的老闆
●還告了他那些把 UNIX改版為
BSD 並開放的朋友們!
https://en.wikipedia.org/wiki/Berkeley_Software_Distribution
![Page 96: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/96.jpg)
是可忍
●孰不可忍!
![Page 97: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/97.jpg)
但是
●最後還是要忍!
![Page 98: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/98.jpg)
因為你知道
![Page 99: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/99.jpg)
法律
●都是站在有錢人的那邊
![Page 100: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/100.jpg)
而不是正義的這邊!
![Page 101: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/101.jpg)
所以
●死拖慢決定
![Page 102: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/102.jpg)
那我們就
●自己來寫一個作業系統好了!
![Page 103: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/103.jpg)
而且
● 不要和 UNIX 有任何授權上的糾葛!
![Page 104: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/104.jpg)
所以他決定發起
●一個叫 GNU Hurd 的計畫
寫一個《自由的作業系統》!
![Page 105: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/105.jpg)
問題是
●要寫一個和 UNIX 完全沒關聯的
作業系統,那還真的是件很麻煩
的事情!
![Page 106: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/106.jpg)
就在這個時候
● 有一個住在芬蘭的死白目大學生出現了!
● 那個大學生叫做托瓦茲 (Linus Torvalds)
![Page 107: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/107.jpg)
那個大學生說
●我想在自己的 386 電腦上跑
UNIX 。
![Page 108: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/108.jpg)
但是我找不到這種 UNIX
![Page 109: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/109.jpg)
所以、我決定自己來寫!
![Page 110: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/110.jpg)
但是、我只是個大學生
![Page 111: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/111.jpg)
而且
●沒有寫過任何作業系統!
![Page 112: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/112.jpg)
那我要怎麼才能
●寫出一個作業系統呢?
![Page 113: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/113.jpg)
那個大學生沒辦法
![Page 114: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/114.jpg)
只好去找老師
![Page 115: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/115.jpg)
他發現
●有個叫 MINIX 的作業系統,基本
上就是小型的 UNIX 。
![Page 116: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/116.jpg)
這個 MINIX 系統
●是由荷蘭阿姆斯特丹自由大學的
Tanenbaum教授所寫的!
![Page 117: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/117.jpg)
於是、那個大學生
●很認真地讀了 Tanenbaum教授
的書,並且架起了 MINIX 來用。
![Page 118: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/118.jpg)
然後、開始閱讀程式碼
![Page 119: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/119.jpg)
問題是
●托瓦茲想要的功能,很多在
MINIX 中沒有實現!
![Page 120: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/120.jpg)
於是
●托瓦茲決定自己來加!
![Page 121: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/121.jpg)
加著加著
●發現有些程式接起來不順,
寫起來太囉嗦,就乾脆順手
改掉了!
![Page 122: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/122.jpg)
改著改著
●他發現自己把《微核心》的
MINIX ,改回了《巨核心》
的老路!
![Page 123: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/123.jpg)
而這個巨核心版本的 UNIX
●後來被稱為 Linux !
![Page 124: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/124.jpg)
更厲害的是
●托瓦茲一邊改就一邊放上網
![Page 125: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/125.jpg)
居然還吸引了
●一些粉絲使用者!
![Page 126: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/126.jpg)
這些使用者
●也大部分都是程式人,有時
也會幫忙寫些功能,並傳回
給托瓦茲放進去整合。
![Page 127: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/127.jpg)
結果有一天
●Tanenbaum教授發現了托瓦茲把
MINIX 改成巨核心的 Linux ,覺得
這種架構根本就是倒退十年!
![Page 128: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/128.jpg)
於是發了訊息說
● Linux 很爛,因為不是微核
心,這樣會很難擴充,很難
維護!
● 還好你不是我的學生,否則
一定會得到很爛的成績!
https://groups.google.com/forum/#!topic/comp.os.minix/wlhw16QWltI%5B1-25%5D
![Page 129: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/129.jpg)
當托瓦茲看到這個訊息
![Page 130: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/130.jpg)
開始不爽了起來!
![Page 131: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/131.jpg)
於是開始細數 MINIX微核心的問題
●像是很慢,一層又一層的包裝與訊息
傳遞,只是為了那個高遠的《微核
心》理想,卻忘記了使用者在意的是
速度,而不是你到底包裝得有多美!
https://groups.google.com/forum/#!topic/comp.os.minix/wlhw16QWltI%5B1-25%5D
![Page 132: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/132.jpg)
還有、你 Tanenbaum教授寫的 MINIX
●根本就是功能不全的玩具作品,拿來
玩玩可以,真的拿來用就不行了!
● 而且 MINIX連遵循 UNIX相容 POSIX規
格都沒有,還敢誇說移植性有多好!
![Page 133: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/133.jpg)
這個爭吵事件
●反映了兩人的性格!
●一個追求完美的龜毛教授,對上一
個凡事講求實際可行的工程師。
![Page 134: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/134.jpg)
但這件事
●只是開放原始碼發展中的一
個小插曲!
![Page 135: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/135.jpg)
追求實用的 Linux
●終究大步甩開了 MINIX ,逐
漸成長為一個影響力遍及全
球的作業系統!
![Page 136: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/136.jpg)
幾年之後
● Linux 結合 Apache Server 、 MySQL、
PHP,成為全球 web 伺服器最愛的平台
●但是桌上型個人市場,還是由微軟
所獨佔壟斷!
![Page 137: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/137.jpg)
有趣的是
●在法庭上, Linux竟然被微
軟拿來當成自己沒有壟斷的
證據!
![Page 138: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/138.jpg)
當微軟因收購 Novell被告上法庭時
●比爾蓋茲辯稱說,我們沒有壟斷,因
為伺服器上是以 Linux 為大宗 ...
http://www.net.dicp.ac.cn/temtext/showtext.php?id=253
![Page 139: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/139.jpg)
但是微軟
●一邊用 Linux 來解救自己的官司
●一邊啟動萬聖節文件計畫,開始
著手準備打擊 Linux
![Page 140: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/140.jpg)
還好
●Linux並沒有因此被打死
●反而逐漸的壯大起來!
![Page 141: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/141.jpg)
又過了近十年之後
●Google 在 2007年釋出了建構在
Linux 上的 Android手機開發平
台,後來 Android 於吃下了 80%以
上的智慧型手機市場!
![Page 142: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/142.jpg)
現在
●開放原始碼已經和軟體工業
密不可分!
![Page 143: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/143.jpg)
除非你是 100%使用微軟工具的程式人
●否則很難不去接觸到開放原始碼!
![Page 144: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/144.jpg)
Linux 所採用的授權
● 就是而那個《死拖慢》所創造的 GPL 授權,但是
加上了透過《系統呼叫》不須開源的條款!
● 這讓 Linux 上層的應用可以不用開放原始碼,排
除應用程式《被強制開源》的問題!
● 這也是 Linux 得以慢慢成長茁壯的一個重要原因
![Page 145: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/145.jpg)
除了 Android 使用 Linux 之外
●蘋果 iMac 作業系統 Mac OS 也是
以 FreeBSD做為系統核心的。
![Page 146: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/146.jpg)
早期 Apple採用了 gcc 工具
● 後來卻發現 GNU組織常常不想處理
Apple 在 Objective C 語言上的需求。
● 於是後來 Apple 開始扶植另一個以 BSD
條款授權的 LLVM 編譯器
●現在 LLVM也已經可以和 gcc匹敵了!
![Page 147: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/147.jpg)
開源的世界
●從 1980 年代 GPL開始算起,已
經過了三十幾年!
![Page 148: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/148.jpg)
現在開源的世界
●非常的眼花撩亂!
![Page 149: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/149.jpg)
因為開源專案有數百萬個
●隨時你都可以自己加一個!
![Page 150: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/150.jpg)
甚至每個程式語言
●都會有自己的開源社群
●以及開源軟體發布方法
![Page 151: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/151.jpg)
舉例而言
● JavaScript 在 node.js 出現之後就開
始蓬勃發展。
●透過 node.js 的專案管理發布套件
npm ,我們可以輕易的對全世界發布專
案,並設定授權方式!
![Page 152: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/152.jpg)
就算不透過 npm 這種工具
●我們也可以用《托瓦茲》創造的
git 工具,輕易的將專案發布在
像 github這樣的開源平台上。
![Page 153: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/153.jpg)
於是現在的程式人
●面對的是一個五花撩亂的世界
![Page 154: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/154.jpg)
我們得從
●數百萬個專案裏挑出自己要用的
套件,然後安裝、學習、開發、
上傳、然後發布自己的專案!
![Page 155: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/155.jpg)
而且還要注意到
●專案的授權與相容性等問題!
![Page 156: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/156.jpg)
像是
●如果你用了 GPL的套件就得要用
GPL 授權釋出自己的專案!
●但是若用 BSD 授權的套件,則只需
要標示該套件的 BSD 授權就行了!
![Page 157: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/157.jpg)
另外還有像
● Mozilla, Apache, CC, MIT ... 等各
種授權方式,您必須仔細分辨,以免
誤用授權而導致違反授權的問題。
![Page 158: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/158.jpg)
現在的程式人
●感覺比較像處在一個,充滿各種《不
同自由》的自由世界當中,而且必須
要小心的不要超越這些自由!
![Page 159: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/159.jpg)
當你懂得這些自由的限制
●才能真正的享受用他人的程式來
組合並開發自己程式的自由!
![Page 160: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/160.jpg)
如果你懂得使用開源套件
●或許會逐漸發現
寫程式不再是一種手工業!
![Page 161: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/161.jpg)
而比較像是
●一種組裝業
![Page 162: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/162.jpg)
程式人的責任
●逐漸轉變成從數百萬的專案中,挑出
對自己有用的東西,然後想辦法《組
裝》使用
● 我們只要用很少得程式碼將這些專案
黏合起來就好了!
![Page 163: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/163.jpg)
當然
●不是每個領域都有適合的專案,也
不是每個專案都可以完全符合使用
●所以必要時我們得挖開專案內部,
進行修改或重新打造!
![Page 164: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/164.jpg)
這就是
●我這個程式人,面對現在這個
五花八門世界時的看法!
![Page 165: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/165.jpg)
希望
●你也能在開源的世界裡
![Page 166: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/166.jpg)
得到真正的
![Page 167: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/167.jpg)
自由!
![Page 168: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/168.jpg)
這就是我們今天的
![Page 169: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/169.jpg)
十分鐘系列
![Page 170: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/170.jpg)
我們下回見!
![Page 171: 用十分鐘瞭解 《開放原始碼的世界》](https://reader030.vdocuments.site/reader030/viewer/2022021418/5882398d1a28ab31228b5b9d/html5/thumbnails/171.jpg)
Bye Bye!