本書深入闡釋了自由軟件如何成為開源軟件以及如何銷售開源軟件。本書從開源如何徹底改變軟件的編寫方式、合作方式、溝通方式、組織結(jié)構(gòu)以及商業(yè)價(jià)值等多個(gè)方向展開論述。內(nèi)容涉及開源所創(chuàng)造的機(jī)會(huì)和隨之而來的挑戰(zhàn),公司如何創(chuàng)造商業(yè)模式來成功地銷售“自由”軟件,如何從創(chuàng)建社區(qū)到銷售商業(yè)產(chǎn)品應(yīng)用開源開發(fā)模式,審視與開源項(xiàng)目和產(chǎn)品管理及許可相關(guān)的重要問題,以及開源原則如何更廣泛地適用于DevOps和其他組織實(shí)踐。
本書不僅適合對(duì)開源軟件感興趣的人員、IT從業(yè)人員以及致力于開源健康發(fā)展的人員閱讀參考,而且適合作為高等院校相關(guān)專業(yè)的開源教育通識(shí)讀物。
·內(nèi)容特色性。本書從免費(fèi)軟件和開源軟件的區(qū)別開始講起,內(nèi)容涉及作者在Red Hat公司多經(jīng)歷過的開源產(chǎn)品及開源社區(qū)的籌建、創(chuàng)立、發(fā)展與演變等多個(gè)方面。
·內(nèi)容前沿性。本書中就開源軟件的合規(guī)性問題進(jìn)行了深入剖析,幫助開發(fā)人員及企業(yè)管理人員少走誤區(qū)。同時(shí)針對(duì)開發(fā)技術(shù)、熱門技術(shù)、開發(fā)社區(qū)的新技術(shù)與研究進(jìn)行了闡釋。
·內(nèi)容的完整性。本書內(nèi)容涉及免費(fèi)軟件到開源軟件的發(fā)展歷程,并就開源軟件的商業(yè)模型進(jìn)行了探討,內(nèi)容豐富,架構(gòu)完整,可以幫助讀者詳細(xì)了解開源軟件。
Gordon Haff,商業(yè)開源軟件的領(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。曾出版圖書From Pots and Vats to Programs and Apps。
目錄
第 1章 開源軟件的起源 1
1.1 開端 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 垂直筒倉無處不在 10
1.2.2 筒倉轉(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)陣營 18
1.4.1 一個(gè)新的*NIX 18
1.4.2 Linux操作系統(tǒng)越來越流行 19
1.4.3 黯然失色的UNIX操作系統(tǒng) 20
1.5 Linux操作系統(tǒng)無可避免嗎 20
1.6 開源加速 22
1.6.1 新的企業(yè)IT模型 22
1.6.2 誕生于網(wǎng)絡(luò) 23
1.6.3 是構(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)和開源已經(jīng)到來 28
第 2章 從“自由”到“開源”,再到產(chǎn)品 31
2.1 單詞的含義很重要 31
2.1.1 若為自由故 32
2.1.2 “開源”的誕生 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 確保開源安全 40
2.3.1 什么是信息安全 40
2.3.2 相同的商業(yè)服務(wù)機(jī)制——安全補(bǔ)丁和自動(dòng)化部署 41
2.3.3 開源對(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 如何開始 50
第3章 法律相關(guā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 開源軟件也是有版權(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 開源許可證如何運(yùn)作 60
3.3.1 開源許可證的分類 60
3.3.2 保護(hù)共享知識(shí) 61
3.3.3 透過版權(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 誰可以使用 65
3.3.8 非開源許可證 65
3.3.9 道德許可證 66
3.3.10 許可證不是目標(biāo) 67
3.4 保持開源的合規(guī)性 68
3.4.1 將控制措施落實(shí)到位 68
3.4.2 具體的政策是什么 68
3.4.3 一個(gè)持續(xù)的過程 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章 開源開發(fā)模式 83
4.1 開源也關(guān)乎開發(fā) 83
4.1.1 集中與分布式控制 84
4.1.2 不同的開源方式 85
4.1.3 一個(gè)警告 85
4.2 參與開源項(xiàng)目 86
4.2.1 啟動(dòng)一個(gè)開源項(xiàng)目 87
4.2.2 什么樣的開源項(xiàng)目算成功 88
4.2.3 增加現(xiàn)有開源項(xiàng)目的數(shù)量 89
4.2.4 創(chuàng)建開源管理辦公室 91
4.3 管理項(xiàng)目的模型 93
4.3.1 誰做決定 94
4.3.2 有哪些原則 98
4.3.3 開放治理 100
4.4 誰在社區(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ù)量不一定帶來質(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)自由散漫的過程 125
4.9.2 開源是重復(fù)的 125
4.9.3 社區(qū)讓它發(fā)揮作用 126
4.10 為什么開發(fā)模式很重要 127
第5章 開源與過去的聯(lián)系 129
5.1 驅(qū)動(dòng)開源的多種因素 129
5.2 創(chuàng)新 130
5.2.1 通過“集體發(fā)明”進(jìn)行創(chuàng)新 130
5.2.2 開放經(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 開源貢獻(xiàn)者如何交互 138
5.4 參與 140
5.4.1 參與者如何開始 140
5.4.2 入職和指導(dǎo) 141
5.5 動(dòng)機(jī) 142
5.5.1 開源動(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 是否存在“開源商業(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ì)開源意味著什么 162
6.2.5 核心開源與開放源代碼 163
6.2.6 你是否從開源開發(fā)模式中獲益 165
6.3 采用“開源開發(fā)模式”的企業(yè)軟件 166
6.3.1 獨(dú)立軟件供應(yīng)商的崛起 166
6.3.2 開源支持的出現(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ù)帶來的轉(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)不斷增長 174
6.4.3 開源——受益者和催化劑 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 開源和DevOps 183
6.7.1 平臺(tái)和工具 183
6.7.2 流程 185
6.8 無處不在的開源 191
第7章 目前開源面臨的問題 193
7.1 IT行業(yè)已經(jīng)改變 193
7.1.1 “云”的興起 194
7.1.2 AWS的故事 196
7.1.3 公有云服務(wù)是唯一的未來嗎 198
7.1.4 將計(jì)算分布到(許多)邊緣 199
7.1.5 為什么要分布式 200
7.1.6 混合云 201
7.2 環(huán)境的改變對(duì)開源意味著什么 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 利潤和更廣泛的價(jià)值 210
7.5 打破價(jià)值鏈 211
7.5.1 軟件正普遍貶值 211
7.5.2 這在開源領(lǐng)域一直是個(gè)大問題 212
7.5.3 重心轉(zhuǎn)移 213
7.5.4 軟件和服務(wù)怎么辦 214
7.5.5 這是個(gè)問題嗎 214
7.5.6 精神食糧 216
7.5.7 生態(tài)系統(tǒng)很重要 217
7.6 這不僅僅是代碼的問題 220
第8章 開源的機(jī)遇和挑戰(zhàn) 221
8.1 開放數(shù)據(jù) 221
8.1.1 從數(shù)據(jù)中獲取價(jià)值 222
8.1.2 一份開放的地圖 223
8.1.3 通過數(shù)據(jù)實(shí)現(xiàn)透明度 224
8.1.4 數(shù)據(jù)的所有權(quán) 226
8.1.5 維護(hù)隱私 227
8.2 開放信息 229
8.2.1 可讀寫網(wǎng)絡(luò) 230
8.2.2 維基百科 230
8.2.3 獨(dú)立的貢獻(xiàn) 231
8.3 開放教育 232
8.3.1 先兆 232
8.3.2 麻省理工學(xué)院開放課程 233
8.3.3 慕課 234
8.3.4 協(xié)作與消費(fèi) 236
8.4 開源硬件 238
8.4.1 RISC-V 238
8.4.2 火腿電臺(tái)開啟創(chuàng)客文化 239
8.4.3 創(chuàng)客的變化 240
8.4.4 新創(chuàng)客 242
8.5 組織中的開源文化 244
8.5.1 組織到底為什么存在 244
8.5.2 開放式組織 246
8.6 總結(jié)想法 249