OPEN SOURCES革命之声(影印版)

出版社:清华大学出版社
出版日期:2003-07-01
ISBN:9787302065913
作者:Chris DiBona,Sam Ockman,Mark Stone
页数:272页

书籍目录

Acknowledgments
Introduction
Chris dibona,Sam Ockman,and Mark Stone
A Brief History of Hackerdom
Eric S.Raymond
Twenty Years of Berkeley Unix:From AT&T-Owned to Freely Redistributale
Marshall Kirk McKusick
The Internet Engineering Task Force
Scott Bradner
The GNU Operating System and the Free Software Movement
Richard Stallman
Future of Cygnus Solutions:An Entrepreneur's Account
Michael Tiemann
Software Engineering
Paul Vixie
The Linux Edge
Linus Torvalds
Giving It Away:How Red Hat Software Stumbled Across a New Economic Model and Helped Improve an Industry
Robert Young
Diligence,Patience,and Humility
Larry Wall
Open Soure Definition
Bruce Perens
Hardware,Software,and Infoware
Tim O'Reilly
Freeing the Source:The Stroy of Mozilla
Jim Hamerly and Tom Paquin with Susan Walton
The Revenge of the Hackers
Eric S.Raymond
Appendix A:The Tanenbaum-Torvalds Debate
Appendix B:The Open Source Definition,Version 1.0
Contibutors

作者简介

世界各地成千上万的程序员提供了可免费使用的源代码:这就是被称为Open Source的软件革命的精神。如今,Open Source的领袖们第一次聚集到一起,讨论他们所开创的这个软件产业的未来前景。本书中的这些短文透析了Open Source的工作方式、其成功的原因,以及Open Source将去向何方。对于致力于Open Source项目的那些程序员来说,Open Source是一种新的信仰;这项运动的精神领袖们为这些程序员描绘了一幅美好的前景。对于将Open Source软件集成到企业运作中的那些公司来说,Open Source揭示了开放式开发如何能够构建出更好的软件,并揭示出企业如何利用这些免费的软件来取得商业竞争上的优势。对于今天的程序员来说,下面这些计算机高手是他们的偶像,这些人开发出了很多软件,包括:世界上最流行和Web服务器软件——Apache;除Redmond之外增长最快的操作系统——Linux;世界上最好的编辑器——Emacs;以及世界上最流行的脚本语言——Perl 对于企业的管理层和投资方来说,这场革命的先驱们带来了一种全新的经济模式,如Red Hat公司的总裁;Cygnus公司的合伙创始人;Netscape公司客房服务部的副总裁;以及Mozilla.org的管理者。从Eric Raymond到Bruce Perens,从Tim OReilly到Richard Stallman,这些梦想家们正在使得Open Source革命站在高科技产业的最前沿。随着本书的第一次印刷,读者将能够看到他们对当今现状的分析,以及对未来的展望。

图书封面


 OPEN SOURCES革命之声(影印版)下载 更多精彩书评



发布书评

 
 


精彩书评 (总计3条)

  •     读书的时候,感觉是有人在交道你.看了OPEN source总一中冲动,自己也可以搞一个开源的项目. 尽自己的微薄之力.总之多读一些好书了.
  •     Open Source这本书集合了所有Open Source领域大拿的文章。从Linux, Perl, Apache, NetScape的创建者到Open Source的开创者。虽然写与99年,但他们在文章中阐述的设计思想和Free Software business model不但对于我们深刻理解这场变革对现在固有观念冲击有帮助,并且对于我们的软件设计思路也有非常大的帮助。The Linux Edge – By Linus Torvalds (Linux的创建者)记得2001年Linus出了一本自传,名字好像叫,Just for Fun。 这本书中讲了Linus自己的生活和开发Linux的过程,一直后来到美国,进入Transmeta。 (夏新的V3用的就是这家公司的芯片, 不过现在夏新不再生产v3了)。Linus讲了他在赫尔辛基大学的生活和利用学校的网络分发 Linux,建立网上社区的过程。比较有意思的还有Linus从开始到结束,都有着芬兰人是世界上用短信最密集的国家的骄傲,和对泡SPA的着迷。虽然这本自传是在Linus1991年重写Linux Kernel之后写的,但是这本自传没有讲到太多他的设计思路。它是more entertainment。1991年之前,当时他还没有意识到LINUX可以变的这么流行,需要在不同的architecture上工作。最初的LINUX只是能运行在X86上Linus就高兴了。并且很多结构设计并不能满足后来Open Source 的开发思念 (精诚合作,分头工作)。这5页的THE LINUX EDGE给我们了精练的一个概括和解释LINUX怎么实现在不同硬件平台上的portability和适应新的开发环境的不断进步。设计一个操作系统,你会选择怎么样的设计结构呢?不外乎俩种。1: 把所有的hardware specifics 放在core kernel里。这样的话,你得到最大的performance,因为你的主要的功能比如scheduling, process management, signaling, paging, and swapping等都变成了internal process;但是portability就比较差。因为kernel code包括一些和低层硬件的互动。如果要把你的系统在一个新的hardware architecture上运行,你需要重写一个完全新的code base。就像是我们用的fork一样。这样还造成了一个很大的缺点,就是要随着支持硬件平台的增长,就要有很多的code base。这对维护是很麻烦的。2:把所有的hardware specifics放在user space。这样的话core kernel变的小并且非常portable。不需要根据什么特殊的hardware specifics来修改kernel很多。这就是microkernel architecture。每个microkernel只做原来kernel工作的一个subset。microkernel architecture的基本思路就是建立一个abstract layer来表示(abstracting)底层的process control, memory allocation, 和resource allocation。 我想使用abstract layer大概是我们所有人在处理portability时,第一个想到的解决方案。但是使用abstract layer的一个最大缺点就是performance。因为你的code要经过多一步的abstract。在我们普通的application 设计中,performance的丢失可能不是那么清楚和显见。但在kernel中,我们可以比较容易的看到。Linus选择了怎么样的设计呢?―― “If you want code to be portable, you shouldn’t necessarily create an abstract layer to achieve portability. Instead you should just program intelligently. ”首先Linus没有采用microkernel architecture。他相信应该在kernel里包含一些machine specifics的code。但是包含多少,他需要在portability和performance之间选择一个平衡点。Linus的聪明之处在于他深刻的研究了所有现在不同硬件平台的结构去发现这些平台的共同处,然后把这些共同处包含在kernel里。比如说内存管理(memory management)。X86, Sparc, Alpha 和苹果的PowerPC在表层内存管理功能上很是不同。但底层的paging和caching却有着很多的共同。大量学习和研究后,Linus把这些共同处包含在了他的kernel memory management里。而把非常hardware specific的都放在了user space,并且把它们模块化。这样当把LINUX deployment在一个新的系统上,就变得容易了。实际上Linus是采取了上面两个解决方案的交集。文章中还讲到了interface设计的问题,还有compile常数的问题。都是非常好的设计和coding建议。文章中也讲到了LINUX的未来发展方向。Kernel的发展会停止下来,当它到了一个稳定和成熟。 Linus更希望看见LINUX在laptop和desktop上的应用,而不是在super computing上。 LINUX的其他方向,比如为embedded system设计的LINUX;LINUX的multi processing;web serving, clusting等。这些问题可能已经和快要解决了,因为这篇文章是在1999年写的。而我也在2003年离开了软件行业,对以后的发展不是太清楚了。但是这些基础的设计理念是不会经常改变的。就象一个kernel和web server一样,不管你怎么设计,它们需要完成的工作都是一样的。最后一点就是关于GCC的重要性。- “The portability of Linux is very much tied to the fact that GCC is ported to major chip architectures”. 因为在不同architecture上的GCC 才可以使LINUX to port到这个architecture。UNIX 的流行性就是因为有和UNIX相匹配的各种GCC。现在的问题是,为什么Linux社会不设计一个Portable 的GCC呢?To be continued
  •     人还年轻,所以有些崇尚在所难免;Open Source满足了,Free精神也许还是我更在乎的, 谁会愿意被所谓权威束缚.一些成功商业运作的典范也不错.

精彩短评 (总计8条)

  •     读的时候还没有什么体会,可惜了。
  •     国外自由软件社区的历史和缩影
  •     工程师与大师的境界差异立现~
  •     翻译不太好
  •     觉得写得最好的是larry wall的那篇。。嘿嘿。。
  •     年初上课的时候看过这本书。
  •     Open Source 的流派,历史及文化
  •     软件领域革命手册。
 

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

零度图书网 @ 2024