上周因为要给东华的同学讲开源史,一直处于一种疯狂备课的状态(周四晚上比较疯狂,搞到了3点多),等于是现学现卖。同时也耽误了我读书进度,本周要读的是开源运动的圣经《大教堂与集市》,这本书表达的中心思想是传统的软件开发模式类似于大教堂模式,效率低下,独断专行。而以linux为代表的社区开发模式更像是集市模式,集众人之力快速迭代。
内心os: 想一想光开源这部分就有n多本书要读...
没用多久就读完了,内容很短小。感觉一般,没把开源和黑客文化说清楚啊。
摘录些好句吧:
好的软件作品,往往源自开发者的个人需要。
优秀的程序员知道写什么,卓越的程序员知道改写(和重用)什么。
仿一句:优秀的产品经理知道要做什么,卓越的产品经理知道copy to china(或本土化)什么。
卓越的程序员有个很重要的特征是“建设性懒惰”,他们知道人们要的是结果而不是勤奋,而从一个部分可行的方案开始,明显要比从零开始容易得多。
以Linus Torvalds为例,他并没有尝试从零开始写Linux,而是以重用Minix (一个用于PC机的迷你型UNIX类操作系统)的代码和理念作为开始,虽 然Linux中所有Minix代码最终都被移除或重写,但它在Linux成长初期确实 起到了类似脚手架的作用。
如果你有正确的态度,有趣的事情自然会找上你。
这里隐含的问题是开发者和测试者对程序有着不匹配的思维模式,测试者 是从外往内看,程序员是从内往外看。对于不开放源码的软件开发,开发 者与测试者往往局限于自己的角色,各说各话,都对对方倍感沮丧。
开源开发打破了这种困境,由于大家都有真实的源码,开发者和测试者很 容易发展出一个共享的表达模式并进行有效的交流。事实上,一个仅描述 外部可见症状的bug报告,和一个直接关联到源码的分析型bug报告,对 开发者而言简直是天壤之别。
通常,那些最有突破性和最有创新力的解决方案来自于你认识到 你对问题的基本观念是错的。
设计上的完美不是没有东西可以再加,而是没有东西可以再减。
任何工具都应具备预期内的功能,但一个伟大的工具能给你带来 预期外的功能。
集市模式成功的前提至少是
(1)项目能运行
(2)让潜在的合作开发者相信,这个软件在可预见的未来,能演变成一个非常棒的东西。
一个协调者是否拥有卓越的原创设计能力,并不是项目成败的决定性因素,但他是否能识别出别人的优秀创意,则一定是最关键的。
想要解决一个有趣的问题,先去找一个让你感兴趣的问题。
Linux世界的运转,在很多方面像一个自由市场,或者像一个由很多利己个体组成的生态系统,系统中每个个体都追求自身效用的最大化,在其共生的过程中,能够自然建立起一种具备自我纠错能力的秩序,这种秩序比任何集中式规划都要精妙和高效。这里,正是“共识原则”达成的地方。
Linux黑客们致力于最大化的“效用函数”,其目的并不是经典意义上的经济价值,而是自我满足和黑客声望这些无形的东西。
网友评论