本書(shū)深入闡釋了自由軟件如何成為開(kāi)源軟件以及如何銷售開(kāi)源軟件。本書(shū)從開(kāi)源如何徹底改變軟件的編寫方式、合作方式、溝通方式、組織結(jié)構(gòu)以及商業(yè)價(jià)值等多個(gè)方向展開(kāi)論述。內(nèi)容涉及開(kāi)源所創(chuàng)造的機(jī)會(huì)和隨之而來(lái)的挑戰(zhàn),公司如何創(chuàng)造商業(yè)模式來(lái)成功地銷售“自由”軟件,如何從創(chuàng)建社區(qū)到銷售商業(yè)產(chǎn)品應(yīng)用開(kāi)源開(kāi)發(fā)模式,審視與開(kāi)源項(xiàng)目和產(chǎn)品管理及許可相關(guān)的重要問(wèn)題,以及開(kāi)源原則如何更廣泛地適用于DevOps和其他組織實(shí)踐。
本書(shū)不僅適合對(duì)開(kāi)源軟件感興趣的人員、IT從業(yè)人員以及致力于開(kāi)源健康發(fā)展的人員閱讀參考,而且適合作為高等院校相關(guān)專業(yè)的開(kāi)源教育通識(shí)讀物。
·內(nèi)容特色性。本書(shū)從免費(fèi)軟件和開(kāi)源軟件的區(qū)別開(kāi)始講起,內(nèi)容涉及作者在Red Hat公司多經(jīng)歷過(guò)的開(kāi)源產(chǎn)品及開(kāi)源社區(qū)的籌建、創(chuàng)立、發(fā)展與演變等多個(gè)方面。
·內(nèi)容前沿性。本書(shū)中就開(kāi)源軟件的合規(guī)性問(wèn)題進(jìn)行了深入剖析,幫助開(kāi)發(fā)人員及企業(yè)管理人員少走誤區(qū)。同時(shí)針對(duì)開(kāi)發(fā)技術(shù)、熱門技術(shù)、開(kāi)發(fā)社區(qū)的新技術(shù)與研究進(jìn)行了闡釋。
·內(nèi)容的完整性。本書(shū)內(nèi)容涉及免費(fèi)軟件到開(kāi)源軟件的發(fā)展歷程,并就開(kāi)源軟件的商業(yè)模型進(jìn)行了探討,內(nèi)容豐富,架構(gòu)完整,可以幫助讀者詳細(xì)了解開(kāi)源軟件。
Gordon Haff,商業(yè)開(kāi)源軟件的領(lǐng)先供應(yīng)商Red Hat公司的技術(shù)傳播者,負(fù)責(zé)新興技術(shù)產(chǎn)品戰(zhàn)略;撰寫有關(guān)技術(shù)、趨勢(shì)及其業(yè)務(wù)影響的文章;經(jīng)常向客戶和在行業(yè)活動(dòng)中發(fā)表演講。他研究的主題包括邊緣計(jì)算、區(qū)塊鏈、人工智能、云原生平臺(tái)和下一代應(yīng)用程序架構(gòu)。他為多家媒體撰稿,包括The Enterprisers Project、opensource.com、Connections和TechTarget。曾出版圖書(shū)From Pots and Vats to Programs and Apps。
目錄
第 1章 開(kāi)源軟件的起源 1
1.1 開(kāi)端 1
1.1.1 啊,UNIX操作系統(tǒng) 2
1.1.2 不再有免費(fèi)的午餐了嗎 4
1.1.3 PC是一種不同的文化 5
1.1.4 打破社區(qū) 7
1.1.5 自由軟件進(jìn)入混戰(zhàn) 8
1.1.6 建立自由的基礎(chǔ) 9
1.2 零散的硬件和軟件 10
1.2.1 垂直筒倉(cāng)無(wú)處不在 10
1.2.2 筒倉(cāng)轉(zhuǎn)向自己的一邊 11
1.2.3 大眾市場(chǎng)的哪種操作系統(tǒng)將會(huì)勝出 13
1.2.4 Microsoft公司放手一搏 14
1.2.5 Windows NT操作系統(tǒng)蓄勢(shì)待發(fā) 15
1.3 互聯(lián)網(wǎng)進(jìn)入主流 16
1.3.1 從縱向擴(kuò)展到橫向擴(kuò)展 16
1.3.2 互聯(lián)網(wǎng)服務(wù)器需要操作系統(tǒng) 17
1.4 加入Linux操作系統(tǒng)陣營(yíng) 18
1.4.1 一個(gè)新的*NIX 18
1.4.2 Linux操作系統(tǒng)越來(lái)越流行 19
1.4.3 黯然失色的UNIX操作系統(tǒng) 20
1.5 Linux操作系統(tǒng)無(wú)可避免嗎 20
1.6 開(kāi)源加速 22
1.6.1 新的企業(yè)IT模型 22
1.6.2 誕生于網(wǎng)絡(luò) 23
1.6.3 是構(gòu)建還是購(gòu)買 24
1.6.4 打破現(xiàn)狀 24
1.6.5 從顛覆到創(chuàng)新發(fā)生的地方 26
1.6.6 生態(tài)系統(tǒng)的崛起 27
1.6.7 打破單體應(yīng)用 27
1.6.8 Linux操作系統(tǒng)和開(kāi)源已經(jīng)到來(lái) 28
第 2章 從“自由”到“開(kāi)源”,再到產(chǎn)品 31
2.1 單詞的含義很重要 31
2.1.1 若為自由故 32
2.1.2 “開(kāi)源”的誕生 33
2.1.3 實(shí)用主義和商業(yè)主義 33
2.2 項(xiàng)目和產(chǎn)品 35
2.2.1 上游和下游 35
2.2.2 項(xiàng)目與產(chǎn)品相互依賴 36
2.2.3 支持是什么 37
2.2.4 降低風(fēng)險(xiǎn) 38
2.2.5 支持完整的生命周期 38
2.2.6 通力合作 39
2.2.7 安全與風(fēng)險(xiǎn)的交集 39
2.3 確保開(kāi)源安全 40
2.3.1 什么是信息安全 40
2.3.2 相同的商業(yè)服務(wù)機(jī)制——安全補(bǔ)丁和自動(dòng)化部署 41
2.3.3 開(kāi)源對(duì)安全性的影響是好是壞 41
2.3.4 代碼會(huì)幫助壞人嗎 42
2.3.5 或者“多眼”是秘訣嗎 43
2.3.6 換個(gè)角度思考風(fēng)險(xiǎn) 44
2.3.7 確保供應(yīng)鏈安全 45
2.3.8 進(jìn)入DevSecOps 46
2.3.9 什么是DevSecOps 47
2.3.10 可信云 48
2.3.11 機(jī)器學(xué)習(xí)的前景 50
2.4 如何開(kāi)始 50
第3章 法律相關(guān)的問(wèn)題 51
3.1 版權(quán)如何運(yùn)作 52
3.1.1 軟件可以有版權(quán)嗎 53
3.1.2 版權(quán)進(jìn)入軟件領(lǐng)域 54
3.1.3 開(kāi)源軟件也是有版權(quán)的 54
3.1.4 如何使作品進(jìn)入公有領(lǐng)域 55
3.1.5 公有領(lǐng)域的替代品 56
3.2 許可證制度到底是什么 57
3.2.1 許可證(可能)不是必要的 57
3.2.2 為什么需要發(fā)放許可證 58
3.3 開(kāi)源許可證如何運(yùn)作 60
3.3.1 開(kāi)源許可證的分類 60
3.3.2 保護(hù)共享知識(shí) 61
3.3.3 透過(guò)版權(quán)的泥沼看清本質(zhì) 62
3.3.4 permissive許可證的收益 62
3.3.5 推動(dòng)參與是關(guān)鍵 63
3.3.6 進(jìn)入云端 64
3.3.7 誰(shuí)可以使用 65
3.3.8 非開(kāi)源許可證 65
3.3.9 道德許可證 66
3.3.10 許可證不是目標(biāo) 67
3.4 保持開(kāi)源的合規(guī)性 68
3.4.1 將控制措施落實(shí)到位 68
3.4.2 具體的政策是什么 68
3.4.3 一個(gè)持續(xù)的過(guò)程 69
3.5 商標(biāo) 69
3.5.1 名稱包含什么 70
3.5.2 項(xiàng)目或產(chǎn)品 72
3.5.3 商標(biāo)所有權(quán)和注冊(cè) 73
3.5.4 商標(biāo)的影響力 75
3.6 專利 76
3.6.1 專利的權(quán)利要求 77
3.6.2 如何確定是否侵權(quán) 78
3.6.3 創(chuàng)建專利池 79
3.6.4 專利和許可 80
3.7 商業(yè)秘密 81
3.8 關(guān)聯(lián)性和重要性 81
第4章 開(kāi)源開(kāi)發(fā)模式 83
4.1 開(kāi)源也關(guān)乎開(kāi)發(fā) 83
4.1.1 集中與分布式控制 84
4.1.2 不同的開(kāi)源方式 85
4.1.3 一個(gè)警告 85
4.2 參與開(kāi)源項(xiàng)目 86
4.2.1 啟動(dòng)一個(gè)開(kāi)源項(xiàng)目 87
4.2.2 什么樣的開(kāi)源項(xiàng)目算成功 88
4.2.3 增加現(xiàn)有開(kāi)源項(xiàng)目的數(shù)量 89
4.2.4 創(chuàng)建開(kāi)源管理辦公室 91
4.3 管理項(xiàng)目的模型 93
4.3.1 誰(shuí)做決定 94
4.3.2 有哪些原則 98
4.3.3 開(kāi)放治理 100
4.4 誰(shuí)在社區(qū)中 102
4.4.1 領(lǐng)導(dǎo)者 102
4.4.2 維護(hù)者 102
4.4.3 提交者 103
4.4.4 貢獻(xiàn)者 103
4.4.5 為什么你應(yīng)該考慮比編碼人員更多的事情 104
4.4.6 用戶參與其中 106
4.4.7 用戶成為貢獻(xiàn)者 106
4.5 如何鼓勵(lì)新的貢獻(xiàn)者 107
4.5.1 保持控制——一個(gè)反面模式 107
4.5.2 降低工具的門檻 109
4.5.3 提供指導(dǎo) 109
4.5.4 文化的重要性 110
4.6 維護(hù)社區(qū)的步驟 111
4.6.1 快速響應(yīng) 111
4.6.2 文檔——一個(gè)簡(jiǎn)單的入口 112
4.6.3 模塊化的重要性 112
4.7 溝通,溝通,溝通 113
4.7.1 在一起的極限 113
4.7.2 分布式團(tuán)隊(duì)的最佳實(shí)踐 114
4.7.3 關(guān)于人 115
4.7.4 也關(guān)于工具 116
4.7.5 虛擬的極限 117
4.8 決定你是否成功 118
4.8.1 度量會(huì)改變事物 119
4.8.2 真正重要的是什么 120
4.8.3 數(shù)量不一定帶來(lái)質(zhì)量 120
4.8.4 這些數(shù)字意味著什么 121
4.8.5 各盡其能 122
4.8.6 了解社區(qū)柔性的一面 122
4.9 回到集市 124
4.9.1 這是一個(gè)有點(diǎn)自由散漫的過(guò)程 125
4.9.2 開(kāi)源是重復(fù)的 125
4.9.3 社區(qū)讓它發(fā)揮作用 126
4.10 為什么開(kāi)發(fā)模式很重要 127
第5章 開(kāi)源與過(guò)去的聯(lián)系 129
5.1 驅(qū)動(dòng)開(kāi)源的多種因素 129
5.2 創(chuàng)新 130
5.2.1 通過(guò)“集體發(fā)明”進(jìn)行創(chuàng)新 130
5.2.2 開(kāi)放經(jīng)濟(jì)學(xué) 131
5.2.3 協(xié)同創(chuàng)新的優(yōu)勢(shì) 133
5.2.4 知識(shí)是如何被共享的 134
5.3 合作與交流 134
5.3.1 溝通的局限性 135
5.3.2 溝通如何影響軟件架構(gòu) 136
5.3.3 模塊化通常更好 137
5.3.4 開(kāi)源貢獻(xiàn)者如何交互 138
5.4 參與 140
5.4.1 參與者如何開(kāi)始 140
5.4.2 入職和指導(dǎo) 141
5.5 動(dòng)機(jī) 142
5.5.1 開(kāi)源動(dòng)機(jī)研究 142
5.5.2 外在動(dòng)機(jī) 143
5.5.3 內(nèi)在動(dòng)機(jī) 144
5.5.4 內(nèi)化的外在動(dòng)機(jī) 145
5.5.5 我們能從中學(xué)到什么 146
5.6 度量 147
5.6.1 為什么要度量 147
5.6.2 度量對(duì)行為的影響 148
5.6.3 直接度量的局限性 148
5.6.4 度量目標(biāo)的迷思 149
5.6.5 理解社區(qū)運(yùn)行狀況 150
5.6.6 更多的文化之光 151
5.6.7 需要評(píng)估的12個(gè)領(lǐng)域 152
5.6.8 更廣闊的生態(tài)視野 154
5.7 反思和告知 155
第6章 商業(yè)模式與加速發(fā)展 157
6.1 如何出售自己捐贈(zèng)的東西 158
6.2 是否存在“開(kāi)源商業(yè)模式” 159
6.2.1 商業(yè)模式的類別 159
6.2.2 尋找平衡點(diǎn) 160
6.2.3 用免費(fèi)軟件構(gòu)建銷售漏斗 162
6.2.4 這對(duì)開(kāi)源意味著什么 162
6.2.5 核心開(kāi)源與開(kāi)放源代碼 163
6.2.6 你是否從開(kāi)源開(kāi)發(fā)模式中獲益 165
6.3 采用“開(kāi)源開(kāi)發(fā)模式”的企業(yè)軟件 166
6.3.1 獨(dú)立軟件供應(yīng)商的崛起 166
6.3.2 開(kāi)源支持的出現(xiàn) 167
6.3.3 Linux發(fā)行版出現(xiàn) 168
6.3.4 訂閱——不僅僅是“支持” 169
6.3.5 專注于“核心競(jìng)爭(zhēng)力” 170
6.3.6 訂閱與激勵(lì)相結(jié)合 171
6.3.7 云服務(wù)帶來(lái)的轉(zhuǎn)變 172
6.4 從競(jìng)爭(zhēng)到合作 172
6.4.1 合作競(jìng)爭(zhēng)概念的產(chǎn)生 173
6.4.2 為什么合作競(jìng)爭(zhēng)不斷增長(zhǎng) 174
6.4.3 開(kāi)源——受益者和催化劑 175
6.4.4 合作競(jìng)爭(zhēng)與標(biāo)準(zhǔn) 176
6.5 對(duì)速度的需要 177
6.5.1 從物理到虛擬 177
6.5.2 信息技術(shù)的消費(fèi)化 178
6.6 DevOps的崛起 179
6.6.1 DevOps起源故事 179
6.6.2 DevOps——不僅僅是敏捷 181
6.6.3 將不同的關(guān)注概念進(jìn)行抽象 181
6.6.4 站點(diǎn)可靠性工程師 182
6.7 開(kāi)源和DevOps 183
6.7.1 平臺(tái)和工具 183
6.7.2 流程 185
6.8 無(wú)處不在的開(kāi)源 191
第7章 目前開(kāi)源面臨的問(wèn)題 193
7.1 IT行業(yè)已經(jīng)改變 193
7.1.1 “云”的興起 194
7.1.2 AWS的故事 196
7.1.3 公有云服務(wù)是唯一的未來(lái)嗎 198
7.1.4 將計(jì)算分布到(許多)邊緣 199
7.1.5 為什么要分布式 200
7.1.6 混合云 201
7.2 環(huán)境的改變對(duì)開(kāi)源意味著什么 202
7.3 用戶想要什么 204
7.3.1 新的捆綁包 205
7.3.2 用戶需要便利 206
7.4 維持正反饋回路 208
7.4.1 項(xiàng)目 209
7.4.2 產(chǎn)品和解決方案 210
7.4.3 利潤(rùn)和更廣泛的價(jià)值 210
7.5 打破價(jià)值鏈 211
7.5.1 軟件正普遍貶值 211
7.5.2 這在開(kāi)源領(lǐng)域一直是個(gè)大問(wèn)題 212
7.5.3 重心轉(zhuǎn)移 213
7.5.4 軟件和服務(wù)怎么辦 214
7.5.5 這是個(gè)問(wèn)題嗎 214
7.5.6 精神食糧 216
7.5.7 生態(tài)系統(tǒng)很重要 217
7.6 這不僅僅是代碼的問(wèn)題 220
第8章 開(kāi)源的機(jī)遇和挑戰(zhàn) 221
8.1 開(kāi)放數(shù)據(jù) 221
8.1.1 從數(shù)據(jù)中獲取價(jià)值 222
8.1.2 一份開(kāi)放的地圖 223
8.1.3 通過(guò)數(shù)據(jù)實(shí)現(xiàn)透明度 224
8.1.4 數(shù)據(jù)的所有權(quán) 226
8.1.5 維護(hù)隱私 227
8.2 開(kāi)放信息 229
8.2.1 可讀寫網(wǎng)絡(luò) 230
8.2.2 維基百科 230
8.2.3 獨(dú)立的貢獻(xiàn) 231
8.3 開(kāi)放教育 232
8.3.1 先兆 232
8.3.2 麻省理工學(xué)院開(kāi)放課程 233
8.3.3 慕課 234
8.3.4 協(xié)作與消費(fèi) 236
8.4 開(kāi)源硬件 238
8.4.1 RISC-V 238
8.4.2 火腿電臺(tái)開(kāi)啟創(chuàng)客文化 239
8.4.3 創(chuàng)客的變化 240
8.4.4 新創(chuàng)客 242
8.5 組織中的開(kāi)源文化 244
8.5.1 組織到底為什么存在 244
8.5.2 開(kāi)放式組織 246
8.6 總結(jié)想法 249