大教堂与集市

大教堂与集市是一本开源运动的独立宣言,也是黑客藏经阁的第一收藏。

以下为摘抄内容:

1. 好的软件作品,往往源自于开发者的个人需要。

2.优秀的程序员知道写什么,卓越的程序员知道改写(和重用)什么。

3.“计划好扔掉一个吧”,迟早你会这么做的。

4.如果你有正确的态度,有趣的事情自然会找到你。

5.当你对一个程序不再感兴趣时,你最后的责任就是把它交给一个可胜任的接捧者。

6.把你的用户当作合作开发者对待,如果想让代码质量快速提升并有效拍错,这是最省心的途径。

7.早发布,常发布,倾听用户的反馈。

8.如果有足够多的beta测试者和合作开发者,几乎所有问题都会很快显现,然后自然有人把它解决。

9.聪明的数据结构配上愚笨的代码,远比反过来要好的多。

10.如果你把beta测试者当作最珍惜的资源对待,他们就会成为你最珍贵的资源。

11.仅次于拥有好主意的是,识别来自用户的好主意,有时后者会会更好。

13.设计上的完美不是没有东西可以增加,而是没有东西可以再减。

14.任何工具都应具备预期内的功能,但一个伟大的工具能给你带来预期外的功能。

15.写网关类软件时尽可能不要干扰数据流,而且绝不要扔掉信息,除非接收方强迫你这么做。

16.当你的语言还远不是图灵完备的时候,语法糖会让你受益良多。

17.系统的安全性只取决于它拥有的秘密,谨防虚假的秘密。

18.想要解决一个有趣的问题,先去找一个让你感兴趣的问题。

19.如果开发协调者有一个至少像Internet这样好的沟通媒介,并且知道如何不靠强制来领导,那么多人合作必然强于单兵作战。

Linux定律:只要眼睛多,bug容易捉。

用持续不断地激励回报着他的用户,用自我满足感激励他们,用持续改进回报他们。

公开说,发现问题更有挑战性。

linux定律道出了大教堂模式和集市模式的最关键区别:在大教堂建筑者看来,bug是棘手的,难以发现的,隐藏在深处的,要经过几个人数月的全新投入和仔细检查,才能有点信心说已经剔除了所有错误。而发布的间隔越长,倘若等待已久的发布版本并不完美,人们的失望就越发不可避免。

德尔菲效应:一群专家(或一群无知的家伙)的平均观点要比一个随机选择的人的观点更有预见性。

一个协调者是否拥有卓越的原创设计能力,并不是项目成败的关键,但他是否能识别出别人的优秀设计,才是关键的。

集市项目的协调人或领导人必须要有很好的人际交往和沟通能力。

brook定律,项目复杂度和沟通成本与开发人员数目的平方成正比,与此同时,工作完成量只会随人数线性增长。

egoboo是ego boosting简称,是指参与志愿工作得到公共认可而获得的快乐。

可能最终导致开源软件取得胜利的,不是因为合作是道德正确的或软件闭锁是道德错误的,而仅仅是由于闭源世界不可能赢得一场与开源社区之间不断演化的军备竞赛,因为后者可以在一个问题上投入比前者多几个数量级的熟练技术工时。

软件管理有五个功能:1、明确目标并让大家朝同一个方向努力。2、监督并确保关键细节不被遗漏。3、激励人们去做那些乏味但必要的体力活。4、组织人员部署并获得最佳生产力。5、调配项目所需资源。

开源软件中的冲突主要有四类:1、谁来做有约束力的决定?2、谁该得到荣誉或责备,为什么?3、如何防范劳动成果被复制?如何防范流氓版本使bug跟踪变得更复杂?4、从技术上讲,什么是正确的事情?

大教堂与集市的推断:最终,当自由市场经济开始创造出足够的财富盈余时,大量程序员可以生活在后稀缺的礼物文化中,而软件产品的工业模式注定走向衰亡。

软件生命周期中超过75%的成本都花在维护、排错和扩展上。

开源世界里,你寻找的是最大可能的用户群,以便获得最大限度的反馈和最有活力的可能的二级市场。在闭源环境中你寻求的是尽可能多的购买者和尽可能少的实际使用者

为降低商品成本,投在维护上的钱往往是增加而不是减少。当汽车价格降低时,汽车修理工的需求就会增加——这就是即便目前靠销售价值养活5%的程序员也不会在开源世界中难以过活的原因。在这个转变过程中,有损失的不是程序员,而是那些不顾经济规律把赌注放在闭源策略上的投资者。

快乐的程序员是一个既没有被浪费,也没有被压垮(由于不适当的目标或过程中充满压力与冲突)的人,乐趣预示着效率。

公地悲剧:Hardin假设某个村子里面有一片公共的草地,每个村民都可以在这片草地上放牧,长期放牧使得土地退化,草皮受损,到处是泥坑,而草皮的恢复很慢,如果没有一个同意的(或者强制的)放牧分配策略。就很难抑制过度放牧,出于自身利益考虑,每个人都会尽可能多和尽可能快地放牧自家牛羊,以便在公地退化成泥沼之前,从中获取最大价值。

非直接的销售价值模型(5种已知,2种未知)

1.占领市场 2.硬件糖霜 3.送配方,开餐馆 4.附属物策略 5.放下收费,未来免费 6.软件免费,品牌收费 7.软件免费,内容收费

开源获取高收益的条件大约有如下几种

a.当可靠性/稳定性/可扩展性至关重要时

b.没有其他方法比独立同行评审能更便捷易行地验证设计和实现正确性

c.当软件成为对业务起关键作用的资产

d.当创建或运转一个公共计算或通信基础架构时,开源总是能够非常成功的比闭源获取更多的回报

e.当关键方法(或能实现同等功能的方法)属于公共知识时,开源更可能胜出

可以预期,由于开源的存在,任何软件技术的最终命运不是灭亡就是成为开源基础架构的一部分。

他们问我如何做到的,

我把圣经给他们看

让你的光继续闪耀

照亮在跟随者的前方!

他们会设法复制一切

却无法复制我的思想

我让他们辛苦偷窃

却永远落后我一年半载

——摘自the mary gloster ,rudyard Kipling

懂计算机的人可要有个好身体,因为总有很多活等着他们做。

你可能感兴趣的:(大教堂与集市)