《开源软件之道》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:蔡俊杰编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121104831
  • 页数:268 页
图书介绍:本书将开源运动的前世今生和游戏规则完整地呈现给读者。第一篇帮助大家认识开源,包括其定义、历史、现状、优势、使用成本、商业模型等。第二篇探讨使用开源软件时需要注意的各项具体事宜。第三篇全面介绍如何参与开源社区的工作,引导大家融入开源社区从而探析各个开源软件的技术精髓,深入认识开源文化,提升个人在技术、交流等各方面的能力,希望能帮助提高国内开发人员的整体水平——这对于中国软件行业的发展善莫大焉!

第1篇 了解开源软件 2

第1章 开源软件概述 2

1.1 开源软件的理解 2

1.2 开源软件的定义 3

1.3 开源软件定义的意义 5

1.4 开源软件和其他类型软件的比较 6

第2章 开源软件的历史与未来 9

2.1 开源软件的历史 9

2.2 开源运动背后的理想与现实 12

2.2.1 理想主义的兴起 12

2.2.2 技术精英的推动 13

2.2.3 现实业界的需求 14

2.3 开源社区的壮大 15

2.4 开源软件的领袖 16

2.5 开源软件的未来 17

第3章 开源软件的好处 19

3.1 高质量 19

3.2 零许可证费 21

3.3 开放和自由 22

3.4 灵活可定制 22

3.5 公开透明 23

3.6 良好的学习平台 23

第4章 开源软件的成本 25

4.1 部署和迁移成本 25

4.2 人员和培训成本 26

4.3 管理维护和技术支持成本 27

4.4 风险控制成本 28

第2篇 使用开源软件 32

第5章 正确使用开源软件 32

5.1 管理体制 32

5.2 法律风险 33

5.2.1 法律因素之著作权 34

5.2.2 法律因素之许可证 35

5.2.3 法律因素之专利 36

5.2.4 问题解析 37

5.2.5 验证著作权,正本清源 38

5.2.6 调查专利,借力打力 40

5.2.7 解读许可证,明察秋毫 41

5.3 成熟度 56

5.3.1 优秀的领导者 57

5.3.2 差异化的开发者社区 57

5.3.3 庞大的优质用户群 58

5.3.4 健康的项目“脉动” 58

5.3.5 健全的安全补丁体制 59

5.3.6 较完善的文档 60

5.4 服务 60

5.5 寻找合适的开源软件 61

第6章 开源软件之语言和平台 63

6.1 Harmony 63

6.2 Android 66

6.3 Python 69

6.4 Ruby 72

6.5 PHP 74

6.6 Groovy 76

6.7 Perl 78

6.8 Flex 80

6.9 OpenLaszlo 82

第7章 开源软件之框架和库 84

7.1 Spring 84

7.2 Struts 87

7.3 JBoss Seam 89

7.4 Equinox 91

7.5 Hibernate 93

7.6 iBATIS 95

7.7 Lucene 97

7.8 Webkit 99

第8章 开源软件之服务器软件 101

8.1 Apache HTTP服务器 101

8.2 Tomcat 103

8.3 Jetty 104

8.4 Geronimo 105

8.5 JBoss 108

8.6 GlassFish 109

8.7 MySQL 111

8.8 PostgreSQL 114

8.9 Derby 116

8.10 FileZilla Server 118

第9章 开源软件之开发工具 120

9.1 Eclipse 120

9.2 NetBeans 122

9.3 Apache Ant 124

9.4 Apache Maven 126

9.5 CVS 128

9.6 Subversion 130

9.7 GIT 131

9.8 Bugzilla 133

9.9 JUnit 135

9.10 TestNG 137

第10章 开源软件之桌面应用 139

10.1 GNOME 139

10.2 OpenOffice.org 142

10.3 Emacs 145

10.4 Firefox 147

10.5 Thunderbird 150

10.6 GIMP 151

10.7 FreeMind 152

10.8 7-Zip 154

第3篇 参与开源项目 158

第11章 开源社区的基础设施 158

11.1 基础设施 158

11.1.1 主页(Home Page) 158

11.1.2 代码库(Code Repository) 158

11.1.3 邮件列表(Mailing List) 159

11.1.4 缺陷追踪系统(Bug Tracking System) 160

11.1.5 Wiki 161

11.1.6 其他 161

11.2 开源项目托管网站 162

第12章 开源组织和社区 165

12.1 Apache软件基金会 165

12.1.1 Apache的历史 165

12.1.2 Apache组织结构 166

12.1.3 Apache开发模式 169

12.1.4 Apache法律问题处理 172

12.1.5 Apache项目简介 174

12.1.6 Apache运营模式 176

12.2 自由软件基金会 177

12.2.1 FSF的历史 177

12.2.2 FSF的目标 178

12.2.3 FSF组织结构 179

12.2.4 GNU工程 180

12.3 Linux Kernel社区 181

12.3.1 Linux Kernel的历史 181

12.3.2 Linux Kernel社区文化和价值观 185

12.3.3 Linux Kernel开发模式 186

12.3.4 Linux Kernel运营模式 188

12.4 Eclipse社区 189

12.4.1 Eclipse的历史 189

12.4.2 Eclipse的发展 190

12.4.3 Eclipse组织结构 192

12.4.4 Eclipse项目简介 193

12.4.5 Eclipse运营模式 196

12.4.6 Eclipse Con大会 196

12.5 Mozilla社区 197

12.5.1 Mozilla的历史 197

12.5.2 Mozilla组织结构 198

12.5.3 Mozilla开发模式 198

12.6 Linux相关社区 200

12.6.1 Archlinux社区 200

第13章 商业模式与实例 203

13.1 许可证的决定性 203

13.2 商业模式实例 205

13.2.1 增值产品 205

13.2.2 技术支持 207

13.2.3 咨询 211

13.2.4 广告模式 212

13.2.5 软硬件结合 213

13.2.6 双重授权 215

13.2.7 社区模式 216

13.2.8 Ubuntu“模式” 216

第14章 参与开源社区 219

14.1 开始加入 219

14.2 社区讨论与工作 220

14.2.1 参与社区讨论 220

14.2.2 参与社区工作 221

14.3 提升自己 225

14.4 礼仪规范 227

14.4.1 撰写邮件的礼仪和规范 227

14.4.2 邮件列表的礼仪和规范 228

14.4.3 发言的礼仪 231

14.5 开源开发的最佳实践 235

14.6 企业参与开源 238

14.6.1 需求 238

14.6.2 风险 238

14.6.3 企业参与开源的策略 239

第15章 开创事业 242

15.1 项目启动与计划 242

15.2 选择正确的许可证 247

15.3 基础设施构建 249

15.3.1 SourceForge托管开源项目基础设施构建 249

15.3.2 Google Code托管开源项目基础设施构建 259

15.4 宣传与坚持 263