開源軟件成熟度評估及選型指南
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關圖書
本書內容主要來自近幾年我們對開源軟件評估與應用選型的研究成果,以及對優(yōu)秀的開源軟件的篩選整理。內容主要面向那些希望將開源軟件部署在其應用環(huán)境中,或利用開源軟件進行二次開發(fā)的中小企業(yè)或開源愛好者。本書對于那些利用開源軟件的網絡社區(qū)建設者也有一定的參考價值。
全書內容共分為四部分:第一部分主要講解開源軟件的相關概念,開源運動在國際和國內發(fā)展的歷史,及開源軟件應用普及中遇到的問題;第二部分主要講解開源軟件選型中成熟度評估模型在國際、國內發(fā)展的情況,并依據近幾年我們在相關領域的研究、探索,結合國內外經驗,提出一個成熟度評估模型;第三部分著重講解在開源軟件選型中非常重要的環(huán)節(jié)——開源軟件許可,通過問答的方式向大家講解開源許可相關的知識產權問題對開源軟件選型的影響,并對開源許可中最重要的GPL協(xié)議進行了分析;第四部分向大家推薦一系列互聯網開發(fā)、應用相關的開源軟件,也作為我們對開源軟件選型方法的實踐。此外,在附錄中給出了一個軟件評估規(guī)范的參考范本和一些開源軟件相關知識點的詳細介紹。
本書的一些內容來自相關項目或軟件的官方信息;同時,本書的內容也獲得了開源中國社區(qū)和中日韓東北亞開源合作項目的大力協(xié)助,在此對他們深表感謝。
經驗分享:分享軟件成熟度評估、開源軟件選型、項目管理等方面的寶貴經驗
專家觀點:視角獨特,視野廣闊,觀點深刻
計算機軟件的發(fā)展就像社會發(fā)展的某種制度輪回。它出身草莽,從最初小眾間自由研究、修改和分享,到比爾•蓋茨舉起商業(yè)軟件的大旗,軟件產業(yè)開始飛躍發(fā)展,不僅造就了微軟這樣一個龐大的軟件帝國,也成就了近二十年來軟件產業(yè)的經濟奇跡。然而在軟件產業(yè)商業(yè)堡壘的內部,一些人重新開始懷念那個呼吸著自由空氣的計算機時代,為什么我們要將自己的創(chuàng)造力和奉獻鎖在一個暗不見天日的專有制度下;為什么我們不能自由地交流和分享;為什么我們付了費卻僅僅得到軟件的使用權。其中一些人最早覺醒起來,Richard Stallman作為之后自由軟件的領袖開始了某種抗爭進而發(fā)起所謂“浪漫啟蒙”的嘗試,開源軟件運動與開源產業(yè)相繼誕生,自由與分享又重新回到人們身邊。但是這種開源的回歸絕不僅僅是重復幾十年前的故事,從開源理論到組織形式再到商業(yè)哲學,開源運動都發(fā)展到一個嶄新的階段,有效地推動了軟件產業(yè)的發(fā)展?梢哉f,開源軟件正好符合了近幾年來軟件產業(yè)轉型的需要,促進了以互聯網應用為中心的、自下而上的整個軟件產業(yè)鏈的發(fā)展,推動計算機應用深入到人們生活的每個角落。
作為一種新的軟件產業(yè)發(fā)展機制,除了軟件自身開發(fā)和商業(yè)模式的轉變外,與開源軟件發(fā)展、應用相關的方方面面都值得人們關注,需要我們不斷地探索、完善。本書正是關注開源軟件成熟度評估、選型方面的理論與實踐,并向大家推薦與互聯網應用相關的優(yōu)秀開源軟件。
本書內容主要來自近幾年我們對開源軟件評估與應用選型的研究成果,以及對優(yōu)秀的開源軟件的篩選整理。內容主要面向那些希望將開源軟件部署在其應用環(huán)境中,或利用開源軟件進行二次開發(fā)的中小企業(yè)或開源愛好者。本書對于那些利用開源軟件的網絡社區(qū)建設者也有一定的參考價值。
全書內容共分為四部分:第一部分主要講解開源軟件的相關概念,開源運動在國際和國內發(fā)展的歷史,及開源軟件應用普及中遇到的問題;第二部分主要講解開源軟件選型中成熟度評估模型在國際、國內發(fā)展的情況,并依據近幾年我們在相關領域的研究、探索,結合國內外經驗,提出了一個成熟度評估模型;第三部分著重講解在開源軟件選型中非常重要的環(huán)節(jié)—開源軟件許可,通過問答的方式向大家講解開源許可相關的知識產權問題對開源軟件選型的影響,并對開源許可中最重要的GPL協(xié)議進行了分析;第四部分向大家推薦了一系列互聯網開發(fā)、應用相關的開源軟件,也作為我們對開源軟件選型方法的實踐。此外,在附錄中給出了一個軟件評估規(guī)范的參考范本和一些開源軟件相關知識點的詳細介紹。
本書在各章節(jié)的編寫過程中,相關參與人員都付出了寶貴的時間和精力。他們包括:開源介紹章節(jié)的作者胡昌軍和陳越,成熟度評估章節(jié)的作者陳越和陶瑩瑩,開源軟件許可基本知識章節(jié)的作者胡昌軍,Web服務和數據庫章節(jié)的作者王少華,PHP框架和AJAX章節(jié)的作者楊玲玲,項目管理章節(jié)的作者吳桐,以及Web應用章節(jié)的作者張陽。
本書的一些內容來自相關項目或軟件的官方信息;同時,本書的內容也獲得了開源中國社區(qū)(http://oss.org.cn)和中日韓東北亞開源合作項目的大力協(xié)助,在此對他們深表感謝。由于時間有限,本書錯誤在所難免,敬請廣大讀者批評指正。
中國開源軟件中心
2011年6月
第1章 開源軟件現象綜述 1
1.1 開源軟件相關定義和概念 1
1.1.1 什么是開源軟件? 1
1.1.2 什么是自由軟件(FS)? 1
1.2 開放源代碼運動 5
1.2.1 開放源碼運動與UNIX 5
1.2.2 開放源碼運動與BSD 6
1.2.3 開放源碼運動與FSF、GNU 6
1.2.4 開放源碼運動與Linux的誕生 6
1.2.5 開放源代碼運動與OSI 7
1.2.6 開放源碼運動與LF 8
1.2.7 開放源碼運動在中國 8
1.3 開源軟件對軟件生態(tài)系統(tǒng)的影響 10
1.3.1 開源軟件已成為主流 10
1.3.2 開源軟件是一種誘人的商機 10
1.3.3 開放源碼促進競爭 11
1.4 開源軟件給我們帶來的好處和風險 11
1.4.1 我們?yōu)槭裁葱枰_源軟件 11
1.4.2 使用開源軟件的好處 12
1.4.3 使用開源軟件與專有軟件的
風險無本質區(qū)別 14
1.4.4 使用開源軟件的一大挑戰(zhàn) 15
第 2章 開放源代碼軟件成熟度評估的
理論與方法 17
2.1 成熟度評估助力開源軟件發(fā)展 17
2.2 開源軟件成熟度評估的目標 18
2.3 開放源代碼軟件成熟度評估發(fā)展狀況 18
2.3.1 國際上主要開源軟件質量/成熟度
評估模型介紹 19
2.3.2 國內開源軟件質量/成熟度研究
的情況 28
2.4 開放源碼軟件成熟度評估體系模型 28
2.4.1 開源軟件成熟度評估模型是什么 28
2.4.2 開放源代碼軟件成熟度評估環(huán)境 29
2.4.3 開源軟件成熟度評估規(guī)范的定義 30
2.4.4 開放源代碼軟件成熟度評估中
的屬性 30
2.4.5 開源軟件成熟度屬性權重定義 32
2.4.6 開放源代碼軟件成熟度評分與計算 32
2.5 開源軟件成熟度屬性定義參考 33
2.6 開源軟件成熟度屬性評估方法 35
2.6.1 開源軟件成熟度評估取值與
評分約定 35
2.6.2 軟件成熟度評估的評測取值、
計算、分析 37
2.7 軟件成熟度評估報告內容 37
第 3章 開源軟件許可的基本概念及問題解答 39
3.1 開源軟件許可的基本知識 39
3.1.1 為什么需要了解軟件的知識產權? 39
3.1.2 軟件相關知識產權主要有哪幾類? 39
3.1.3 沒有登記的軟件受著作權法
保護嗎? 40
3.1.4 在中國有沒有軟件專利,商業(yè)方法
軟件專利又是什么? 40
3.1.5 軟件產品為什么需要許可協(xié)議? 40
3.1.6 發(fā)布開源軟件需要許可協(xié)議嗎? 40
3.1.7 使用開源軟件需要獲得許可嗎? 41
3.1.8 為什么存在諸多開源軟件許可證? 41
3.1.9 開發(fā)者是否可以自己創(chuàng)造一個
許可證? 41
3.1.10 一個軟件是否可以適用多個許可? 41
3.1.11 開源軟件許可證帶來的糾紛
可能有哪些? 42
3.1.12 開源軟件許可證有什么共同
特點? 42
3.1.13 不同開源軟件許可證之間差異
在哪里? 42
3.1.14 主要許可證的之間有哪些
關鍵差別? 42
3.1.15 許可證之間的規(guī)定存在沖突
怎么辦? 43
3.1.16 OSI與開源許可證是什么關系? 43
3.1.17 許可證經OSI認證有何益處? 43
3.2 詳解GPL許可 43
3.2.1 什么是Copyright? 43
3.2.2 什么是Copyleft? 44
3.2.3 Copyright與Copyleft是什么關系? 44
3.2.4 什么是GPL? 44
3.2.5 GPL的核心要求有哪些? 44
3.2.6 GPL就是“免費獲得”和
“免費貢獻”嗎? 44
3.2.7 GPL的傳染性是什么意思? 45
3.2.8 “獨立作品”可以對“傳染性”
免疫嗎,怎樣判斷作品是不是
“獨立作品”? 45
3.2.9 GPL對作品的哪些知識產權
做了規(guī)定? 45
3.2.10 怎樣的行為算做接受了GPL(或
締結了GPL許可協(xié)議)? 46
3.2.11 使用遵循GPL的軟件的被許可人
必須遵守哪些義務? 46
3.2.12 GPL后的軟件是不是進了
“公有領域”? 46
3.3 利用開源軟件實現商業(yè)應用需注意
的問題 46
3.3.1 為什么開源軟件強調
“No warranty”? 46
3.3.2 原始許可“不擔!保_源軟件就
一直得不到擔保嗎? 47
3.3.3 為什么開源軟件的商業(yè)應用歸根
結底還是需要有人提供擔保? 47
3.3.4 原始許可“不擔保”,用戶怎么辦? 47
3.3.5 再分發(fā)人對不享有知識產權的
開源軟件收費是否合法? 47
3.3.6 為什么開源軟件本身可以收費,但
通過單純對軟件進行收費實現商業(yè)
目的的模式注定不成功? 47
3.3.7 許可人使用特定許可證發(fā)布的
軟件還能不能撤消許可? 48
3.3.8 已經免費接受許可的一方會不會
在日后面臨被收費的危險? 48
3.3.9 開源軟件的商標侵權風險存在
于哪些方面? 48
3.3.10 我國企業(yè)如何應對開源軟件相關
的商標侵權風險? 48
3.3.11 利用開放源碼啟動專有軟件企業(yè)
應重點注意哪些事項? 49
3.3.12 為什么國外用戶大量使用開源
軟件但看似是并不關心知識
產權風險? 49
第4章 Web服務 50
4.1 Apache 50
4.1.1 軟件簡介 50
4.1.2 功能特性 51
4.1.3 成熟度評估 52
4.1.4 主要參考資料目錄 54
4.2 Lighttpd 55
4.2.1 軟件簡介 55
4.2.2 功能特性 55
4.2.3 成熟度評估 57
4.2.4 主要參考資料目錄 59
4.3 Nginx 60
4.3.1 軟件簡介 60
4.3.2 功能特性 60
4.3.3 成熟度評估 62
4.3.4 主要參考資料目錄 65
第5章 數據庫 66
5.1 MySql 66
5.1.1 軟件簡介 66
5.1.2 功能特性 67
5.1.3 成熟度評估 68
5.1.4 主要參考資料目錄 71
5.2 PostgreSQL 71
5.2.1 軟件簡介 71
5.2.2 功能特性 72
5.2.3 成熟度評估 75
5.2.4 主要參考資料目錄 78
5.3 Firebird 78
5.3.1 軟件簡介 78
5.3.2 功能特性 79
5.3.3 成熟度評估 80
5.3.4 主要參考資料目錄 83
第6章 PHP框架 84
6.1 QeePHP 84
6.1.1 軟件簡介 84
6.1.2 功能特性 85
6.1.3 成熟度評估 86
6.1.4 主要參考資料目錄 89
6.2 ThinkPHP 89
6.2.1 軟件簡介 89
6.2.2 功能特性 90
6.2.3 成熟度評估 92
6.2.4 主要參考資料目錄 95
6.3 Zend Framework 95
6.3.1 軟件簡介 95
6.3.2 功能特性 96
6.3.3 成熟度評估 97
6.3.4 主要參考資料目錄 100
6.4 CodeIgniter 100
6.4.1 軟件簡介 100
6.4.2 功能特性 101
6.4.3 成熟度評估 102
6.4.4 主要參考資料目錄 104
第7章 AJAX框架 105
7.1 jQuery 105
7.1.1 軟件簡介 105
7.1.2 功能特性 106
7.1.3 成熟度評估 107
7.1.4 主要參考資料目錄 110
7.2 Ext JS 110
7.2.1 軟件簡介 110
7.2.2 功能特性 111
7.2.3 成熟度評估 112
7.2.4 主要參考資料目錄 115
7.3 Dojo 115
7.3.1 軟件簡介 115
7.3.2 功能特性 116
7.3.3 成熟度評估 118
7.3.4 主要參考資料目錄 120
7.4 MooTools 121
7.4.1 軟件簡介 121
7.4.2 功能特性 121
7.4.3 成熟度評估 123
7.4.4 主要參考資料目錄 125
第8章 項目管理 126
8.1 項目管理 126
8.1.1 Redmine 126
8.1.2 禪道項目管理軟件 132
8.2 測試管理 137
8.2.1 Bugzilia 138
8.2.2 Trac 144
8.3 版本管理工具 150
8.3.1 Git 150
8.3.2 Subversion 155
第9章 Web應用 161
9.1 CMS內容管理系統(tǒng) 161
9.1.1 Drupal 161
9.1.2 Joomla 168
9.1.3 XOOPS 174
9.1.4 DotNetNuke 181
9.2 BBS論壇 186
9.2.1 Discuz! 187
9.2.2 PHPWind 194
9.3 Blog博客 202
9.3.1 WordPress 202
9.3.2 StatusNet 207
9.3.3 Typecho 212
9.4 Wiki維基 216
9.5 在線OA/協(xié)同 222
9.5.1 Zimbra 222
9.5.2 eyeOS 228
9.5.3 eGroupware 233
9.6 電子商務 239
9.6.1 Zen Cart 239
9.6.2 osCommerce 246
附錄A 開源概念定義 252
附錄B 開源軟件成熟度屬性定義參考 261
參考文獻 281