开源软件之道

当前位置:首页 > 计算机网络 > 软件工程/开发项目管理 > 开源软件之道

出版社:电子工业出版社
出版日期:2010 年4月
ISBN:9787121104831
作者:蔡俊杰,吕晶,连理,邱小侠,吴玥颢
页数:266页

章节摘录

插图:第1篇 了解开源软件第1章 开源软件概述1.2 开源软件的定义开源软件促进会即OSI(OpenSourceInitiative)对开源软件有明确的定义,业界公认只有符合这个定义的软件才能被称为开放源代码软件,简称开源软件。这个称呼来自于EricRaymond的提议。OSI对开源软件的定义一共有十个条款,具体内容如下(注解是笔者自己的理解)。1.自由再发布开源软件的许可证不应限制任何个人或团体将包含该开源软件的广义作品进行销售或者赠与。许可证不能要求收取任何和这种销售相关的著作权授权费或其他费用。【注解】这条标准给予人们自由地再发布开源软件的权利,不管是为了个人目的还是商业目的,都不会受限制,并且是免费的。2.源代码开源软件的程序必须包含源代码,必须允许发布源代码及编译后的程序。如果产品中没有包含源代码,那么必须提供一个公开的获取源代码的方式。这种方式可以收取的费用不能超过对源代码进行一次复制所需要的合理的成本(例如制作一张CD的成本),最好是可以通过互联网提供免费下载。源代码的形式必须易于程序员修改,不能故意对源代码进行模糊化处理,也不得以预处理器或转译器输出的中问结果的形式提供源代码。【注解】这条标准保证了程序源代码的公开性,同时确保源代码可以比较容易被修改,这样大大提高了开源软件的接受度和生命力。

前言

软件的发展史就像人类社会发展史的一个缩影。从最初小众间自由修改和分享为主的原始社会,过渡到Bill Gates所引领的软件商业化大潮铸就的强大的城堡时代,以及自由软件领袖Richard Stallman随之抗争而发起的“浪漫启蒙”的尝试,到后来在自由和商业间做出更好平衡的开源运动,软件业的先驱者们也同人类社会的领袖们一样,在曲折中探索着理想与现实的完美融合之道。中国的软件产业跟中国的社会一样,有着很多的中国特色。国产软件没能赶上商业软件的黄金发展期,因此在起跑线上要落后别人很多年,以致国内的基础软件市场至今仍被老牌软件大鳄们割据。而盗版现象在触及知识产权和相关方利益的同时,也伤害了中国作为礼仪之邦的国际形象,更致命的是伤害了国内的行业环境。国产软件在领先者倾销打压和用户盗版的多重打击下举步维艰。然而,自由软件和开源运动的盛行,却为国内软件行业的发展带来了一种全新的可能。像L,inux操作系统这样高质量的开放源代码立刻将大家拉到同一起跑线附近。但是,在击掌相庆之时,国人更需要清醒地去认识这个新游戏的规则。习惯了“拿来主义”的同胞们如果不能遵守这些规则、不能真正融入到这场波澜壮阔的开源运动中去,那么最终将再次错失这个千载难逢的发展契机,那将是举国之憾!目前开源软件在国内的发展情况并不乐观,特别是参与社区的深度和广度更是被国外同行广为诟病。我们希望通过这本书将开源运动的前世今生和游戏规则完整地呈现给大家,分享我们团队这五年来在开源社区里摸爬滚打积累起来的经验,为促进开源在中国的健康发展尽一点绵薄之力。书中的第一篇帮助大家认识开源,包括其定义、历史、现状、优势、使用成本、商业模型等。第二篇探讨使用开源软件时需要注意的各项具体事宜,特别是与知识产权相关的方面,例如软件著作权、许可证等,然后分享搜索所需开源软件的技巧,并罗列了一些流行的开源软件。第三篇全面介绍如何参与开源社区的工作,引导大家融入开源社区从而探析各个开源软件的技术精髓,深入认识开源文化,提升个人在技术、交流等各方面的能力,希望能帮助提高国内开发人员的整体水平——这对于中国软件行业的发展善莫大焉!天下大同的理想从未在人类心灵深处消失,但现实的利益又让人望之不舍。在一切重新洗牌时,我们期盼着中国特色的开源之道,一领风骚数百年!本书由蔡俊杰主编,参与编写的有:吕晶、连理、邱小侠、吴玥颢、黄省江、张元鹏、李扬、黄玮、虞俊杰、徐睿智、金源、周登朋、蒋林泉、黄东。

媒体关注与评论

开源的优点之一是让软件变得更加民主,使得本地的问题能够用本地的方法来解决,从而让用户避免受制子自上而下的控制。  ——EricS.Raymand 开源促进会共同创始人及现任主席我希望这本书能将你带入开源的世界,开始一个丰硕而精彩的旅程。  ——BillStoddardApache 软件基金会初始成员、两任理事会成员这本书提供了一个很好的基础,可以让大家理解开源、开源能做的和不能做的、以及如何最大程度地实现开源带来的商业利益。  ——RobertS.Sutor 博士 IBM软件部副总裁及开源和kinux战略主管我很高兴看到这本详细、系统地介绍开源软件的书。我相信当你开始探索开源软件带来的激动人心的新天地时,你会发现这本书的可贵价值。  ——KevanMitlerApache 软件基金会副会长及Geronimo项目管理委员员主席IBM成功地参与了众多技术领域内的开源软件。本书将与你分享一个沉浸子开源生活方式的团队的经验,告诉你如何受益、如何避免错误从而让开源为你所用。  ——TimEnisonApache 软件基金会副会长及Harmony项目管理委员会主席

内容概要

蔡俊杰,IBM中国开发中心开源Java开发架构师,带领团队参与在Apache Harmony和Apache Geronimo等开源社区中。历任项目经理、部门经理。目前专注于Java平台技术和云计算,同时对用户体验比较感兴趣。
吕晶,Apache Harmony PMC(Project Management Committee)成员,就职于IBM中国开发中心Harmony开发团队,Open Source爱好者和宣传者,目前比较关心的技术是Java、Linux、网络服务和集群计算。对Apache社区有近三年的持续贡献。
连理,毕业于复旦大学,IBM中国开发中心新兴技术学院架构师。曾参于DITA open toolkit和IBM Eclipse Help System等与开源相关的软件开发项目.历任项目经理.部门经理。对开源项目的管理.开发有三年的实践经验.
邱小侠,IBM中国软件开发中心软件工程师,毕业于南京大学,现在IBM Harmony项目从事J2SE类库开发的工作,他还是Apache Harmony项目的commftter.
吴玥颢,Harmony项目经理,Apache Harmony PMC(Project Management Committee)成员,共创软件联盟2008开源软件杰出贡献奖获得者,具有多年开源软件领域第一线的工作经验.

书籍目录

第1篇  了解开源软件第1章  开源软件概述  1.1  开源软件的理解  1.2  开源软件的定义  1.3  开源软件定义的意义  1.4  开源软件和其他类型软件的比较第2章  开源软件的历史与未来  2.1  开源软件的历史  2.2  开源运动背后的理想与现实   2.2.1  理想主义的兴起   2.2.2  技术精英的推动   2.2.3  现实业界的需求  2.3  开源社区的壮大  2.4  开源软件的领袖  2.5  开源软件的未来第3章  开源软件的好处  3.1  高质量  3.2  零许可证费  3.3  开放和自由  3.4  灵活可定制  3.5  公开透明  3.6  良好的学习平台第4章  开源软件的成本  4.1  部署和迁移成本  4.2  人员和培训成本  4.3  管理维护和技术支持成本  4.4  风险控制成本    第2篇  使用开源软件第5章  正确使用开源软件  5.1  管理体制  5.2  法律风险   5.2.1  法律因素之著作权   5.2.2  法律因素之许可证   5.2.3  法律因素之专利   5.2.4  问题解析   5.2.5  验证著作权,正本清源   5.2.6  调查专利,借力打力   5.2.7  解读许可证,明察秋毫  5.3  成熟度   5.3.1  优秀的领导者   5.3.2  差异化的开发者社区   5.3.3  庞大的优质用户群   5.3.4  健康的项目“脉动”   5.3.5  健全的安全补丁体制   5.3.6  较完善的文档  5.4  服务  5.5  寻找合适的开源软件第6章  开源软件之语言和平台  6.1  Harmony  6.2  Android  6.3  Python  6.4  Ruby  6.5  PHP  6.6  Groovy  6.7  Perl  6.8  Flex  6.9  OpenLaszlo第7章  开源软件之框架和库  7.1  Spring  7.2  Struts  7.3  JBoss Seam  7.4  Equinox  7.5  Hibernate  7.6  iBATIS  7.7  Lucene  7.8  Webkit第8章  开源软件之服务器软件  8.1  Apache  HTTP服务器  8.2  Tomcat  8.3  Jetty  8.4  Geronimo  8.5  JBoss  8.6  GlassFish  8.7  MySQL  8.8  PostgreSQL  8.9  Derby  8.10  FileZilla Server第9章  开源软件之开发工具  9.1  Eclipse  9.2  NetBeans  9.3  Apache Ant  9.4  Apache Maven  9.5  CVS  9.6  Subversion  9.7  GIT  9.8  Bugzilla  9.9  JUnit  9.10  TestNG第10章  开源软件之桌面应用  10.1  GNOME  10.2  OpenOffice.org  10.3  Emacs  10.4  Firefox  10.5  Thunderbird  10.6  GIMP  10.7  FreeMind  10.8  -Zip    第3篇  参与开源项目第11章  开源社区的基础设施  11.1  基础设施   11.1.1  主页(Home Page)   11.1.2  代码库(Code Repository)   11.1.3  邮件列表(Mailing List)   11.1.4  缺陷追踪系统(Bug Tracking System)   11.1.5  Wiki   11.1.6  其他  11.2  开源项目托管网站第12章  开源组织和社区  12.1  Apache软件基金会   12.1.1  Apache的历史   12.1.2  Apache组织结构   12.1.3  Apache开发模式   12.1.4  Apache法律问题处理   12.1.5  Apache项目简介   12.1.6  Apache运营模式  12.2  自由软件基金会   12.2.1  FSF的历史   12.2.2  FSF的目标   12.2.3  FSF组织结构   12.2.4  GNU工程  12.3  Linux  Kernel社区   12.3.1  Linux Kernel的历史   12.3.2  Linux Kernel社区文化和价值观   12.3.3  Linux Kernel开发模式   12.3.4  Linux Kernel运营模式  12.4  Eclipse社区   12.4.1  Eclipse的历史   12.4.2  Eclipse的发展   12.4.3  Eclipse组织结构   12.4.4  Eclipse项目简介   12.4.5  Eclipse运营模式   12.4.6  Eclipse Con大会  12.5  Mozilla社区   12.5.1  Mozilla的历史   12.5.2  Mozilla组织结构   12.5.3  Mozilla开发模式  12.6  Linux相关社区   12.6.1  Archlinux社区第13章  商业模式与实例  13.1  许可证的决定性  13.2  商业模式实例   13.2.1  增值产品   13.2.2  技术支持   13.2.3  咨询   13.2.4  广告模式   13.2.5  软硬件结合   13.2.6  双重授权   13.2.7  社区模式   13.2.8  Ubuntu“模式”第14章  参与开源社区  14.1  开始加入  14.2  社区讨论与工作   14.2.1  参与社区讨论   14.2.2  参与社区工作  14.3  提升自己  14.4  礼仪规范   14.4.1  撰写邮件的礼仪和规范   14.4.2  邮件列表的礼仪和规范   14.4.3  发言的礼仪  14.5  开源开发的最佳实践  14.6  企业参与开源   14.6.1  需求   14.6.2  风险   14.6.3  企业参与开源的策略第15章  开创事业  15.1  项目启动与计划  15.2  选择正确的许可证  15.3  基础设施构建   15.3.1  SourceForge托管开源项目基础设施构建   15.3.2  Google Code托管开源项目基础设施构建  15.4  宣传与坚持

编辑推荐

《开源软件之道》:完整呈现开源运动前世今生 分享开源软件技巧与精髓博文出版·IT出版旗舰品牌技术凝聚实力·专业创新出版

作者简介

本书将开源运动的前世今生和游戏规则完整地呈现给读者。第一篇帮助大家认识开源,包括其定义、历史、现状、优势、使用成本、商业模型等。第二篇探讨使用开源软件时需要注意的各项具体事宜,特别是与知识产权相关的方面,例如软件著作权、许可证等,然后分享搜索所需开源软件的技巧,并罗列了一些流行的开源软件。第三篇全面介绍如何参与开源社区的工作,引导大家融入开源社区从而探析各个开源软件的技术精髓,深入认识开源文化,提升个人在技术、交流等各方面的能力,希望能帮助提高国内开发人员的整体水平——这对于中国软件行业的发展善莫大焉!
本书适合对开源软件感兴趣的人员、IT从业人员、致力于开源健康发展的人员阅读和参考。
目录
第1篇 了解开源软件
第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篇 使用开源软件
第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篇 参与开源项目
第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

图书封面


 开源软件之道下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计5条)

  •     1.我一直以为GitHub就是开源社区,并且一直觉得少了论坛的形式,现在了解了人家是代码托管平台,并且有一个好用的邮件订阅系统。2.了解了真的开源社区有哪些,楼上推荐了一些。3.了解了相关的许可证究竟有何差异,以前都是随便选的。。。T T
  •     对开源的历史做了一个完整到回顾,算是很不错到科普后面的对常用开源产品介绍那块觉得比较坑爹,有凑数的嫌疑对各种许可证的讲解比较到位,做开源软件的同学都可以好好了解下............................................................................................................................................................................................................................................................................豆瓣非说ME写的评论太短,也不给个提示,到底多少字才不算“太短”,为凑数,加上n个点才通过
  •     这本书是不错的,作为开源世界的入门书,更适合新手速读,但里面很多资料其实也可以作为备查档案。书的缺点也有,像校对得比较粗糙,犯了不秒低级错误,还有就是由于多少写作一此风格和内容不是很一致。但总的来说这本书还是很得赞赏的,特别是在内容的广度和客观性上做得很好。

精彩短评 (总计28条)

  •     市面上类似的书似乎不多,介绍的还蛮全的,从主要的起源、历史,几种许可证到常见的开源软件都有介绍。
  •     介绍常见的开源软件
  •     简单的介绍了一下开源软件的历史,以及现在的开源软件,最后终于写到 盈利方式了还一笔带过,倒是最后有关邮件列表和google code对我有点帮助。
  •     书中涉及的开源各种许可证的介绍确实补了我一课。
  •     感觉干货不多。
  •     是开源之路的入门书籍
  •     可以当作开源事业的简明参考手册~
  •     什么是开源软件?开源与知识产权的关系?开源的法律风险?不同开源授权的异同,包括兼容性等?不同开源授权的市场策略,是鼓励大量使用(LGPL),还是优先保护代码的传播(GPL),google 的android为什在内核之外加了一层用户层的设备驱动接口?这些问题或本书许可以解答。
  •     不涉及具体技术,但是很好的整理了开源相关的知识。内容详实!
  •     介绍的非常清楚,但不是很详细。
  •     薄薄的一本书, 2个小时的阅读, 把开源软件背后的迷雾拨开。 就这样,我终于来到了程序猿的天堂。 我最喜欢本书关于开源社区的章节,讲述了如何把世界各地的人组织起来开发一般中小型公司都不敢开发的大型程序。
  •     前面写的还好,中间介绍那些开源产品什么的没什么看头,直接到官网什么的看还详细些,书中就是给了个索引,大致介绍了一下;最后面还行。
  •     非常不错
  •     读过了,对于了解开源软件还不错的
  •     都是关于开源软件的基本知识,比如历史啊,起源啊,以及各种许可证,后面罗列了各种知名的开源软件,感觉没有啥内容
  •     入门级的,了解有哪些开源项目
  •     目录书,草草翻完
  •     科普书籍,非技术类,看的有点瞌睡,里面介绍的比较啰嗦。
  •     书着重的是开源协议
  •     很不错的一本开源世界入门读物,省下不少google的力气
  •     科普书,广度层次清晰,灌输新手开源概念,关于实践接触到再了解。
  •     去年IBM主机决赛的时候给的。。。白给可以看看,一两天就能看完。。。
  •     好书!扫盲!入门!不走歪路。 揶揄一下,这是复旦和交大去IBM的一帮子人合作写的。 书中不仅对个人开发者参与开源社区多有提点,而且主线上同时分享了很多商业公司参与开源社区的战略和策略考量。 读着读着有种IBM在给你做咨询的感觉。
  •     2011.10.4 扫荡图书馆时发现 先收着 闲暇时可以扫扫 已阅 翻翻就行 就扫下盲的作用
  •     开源软件概览,觉得更偏向企业的人阅读,可以了解一些开源软件的规则、许可证、模式、种类什么的,像一本手册
  •     哈哈,口水书
  •     ╮(╯▽╰)╭
  •     本书较为全面的介绍了开源软件的发展历程和关键要素,以及当前主流的开源软件的组织模式和商业模式,是一本很不错的入门类书籍。能借助此书很快的了解整个开源模式概貌。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024