《大教堂与集市》读书笔记
2021-07-07 08:52:34 0 举报
AI智能生成
《大教堂与集市》是开源运动的《圣经》,颠覆了传统的软件开发思路,影响了整个软件开发领域。作者Eric S. Raymond是开源运动的旗手、黑客文化第一理论家,他讲述了开源运动中惊心动魄的故事,提出了大量充满智慧的观念和经过检验的知识,给所有软件开发人员带来启迪。
作者其他创作
大纲/内容
《大教堂与集市》-Eric S.Raymond
什么是黑客
定义
“黑客”并不是媒体报道中的计算机违法分子,而是那种着迷于计算机技术并通过编程提供极具价值软件的人。
“黑客”一词大约就起源于MIT的计算机文化
黑客的地位竞争能否成功,很微妙地取决于同侪们挑剔的评价
如果你有假名的话,扔掉它。在黑客文化中,假名是失败者的标识
黑客应该拥有的态度
这个世界充满了迷人的问题等待人们去解决
不要解决一个问题两次
无聊和乏味是有害的
自由是好事
态度不能代替能力
学习如何编程
独立于任何语言的一般方式来思考编程问题
大教堂模式
发布策略
在大教堂建筑者看来,bug是棘手的、难以发现的、隐藏在深处的,要经过几个人数月的全心投入和仔细检查,才能有点信心说已经剔除了所有错误。而发布间隔越长,倘若等待已久的发布版本并不完美,人们的失望就越发不可避免
传统大型软件公司的开发模式就像是艰难而缓慢的大教堂建造工程,它有着严密的管理和封闭的集中式结构,但在创新上、生产力上和Bug控制上却落后于集市模式
集市模式
每周发布,并在接下来几天内获取数百个用户的反馈。他们创造了一种类似达尔文“物竞天择”的选择机制,被选择对象则是开发者们所做的种种软件修改
本质
好的软件作品,往往源自于开发者的个人需要
优秀的程序员知道写什么,卓越的程序员知道改写(和重用)什么
把你的用户当成开发合作者对待,如果想让代码质量快速提升并有效排错,这是最省心的途径
早发布,常发布,倾听用户的反馈
如果有足够多的beta测试者和合作开发者,几乎所有问题都会很快显现,然后自然有人会把它解决
如果你把beta测试者当做最珍贵的资源对待,他们就会成为你最珍贵的资源
设计上的完美不是没有东西可以再加,而是没有东西可以再减
任何工具都应具备预期内的功能,但一个伟大的工具能给你带来预期外的功能
想要解决一个有趣的问题,先去找一个让你感兴趣的问题
如果开发协调者有一个至少像Internet这样好的沟通媒介,并且知道如何不靠强制来领导,那么多人合作必然强于单兵作战
并行的、对等的扁平化开发结构,其参与者大多来自于互联网上的志愿者,结构松散,来去自由,就像是一个乱糟糟的集市,但就是这样的组织形式,却取得了像Linux这样令人惊叹的成功
开源社区
对世界做出实质性的改变
目的
让人们广泛使用开源软件
让用户知道并理解这种软件开发模式能给他们带来的益处
共识原则
系统中每个个体都追求自身效用的最大化,在其共生的过程中,能够自然建立起一种具备自我纠错能力的秩序,这种秩序比任何集中式规划都要精妙和高效
礼物文化
礼物文化并不是对物质稀缺的适应,而是对物质充裕的适应。产生于没有生活必需品稀缺问题的人群中,在气候宜人且物产丰富的生态环境中,我们经常可以在其原居民文化中观察到礼物文化。我们也能在自身所处的社会中观察到这点,特别是娱乐行业和富豪阶层
在礼物文化中,社会地位并不取决于你控制了什么,而是你给予了什么。
声誉竞争
“自称是黑客不代表你就是黑客,只有其他黑客认为你是黑客,你才是黑客”
评价好坏的标准
如果它不能像我所预期的那样工作,那就不是好的——不管它多么聪明和有原创性
在心智层的拓展性工作要比在某功能域内(对现有作品)的重复性工作好
能进入主要发行版的作品比不能进入的好。在所有主要发行版中都包含的作品最令人尊敬
“使用”是最真实的赞美,类别杀手比同类竞争者好
相比那些只挑有趣和简单工作的人,长期致力于艰苦和乏味工作(如调试、写文档)的人更令人钦佩
重要的功能扩展比低层次的修补好
所有权声明
是一种述行式(performative)行为,一种宣布防御边界的方法。开源社区支持的所有权声明是一种摩擦最小化和合作最大化的方法,尽管“所有权声明”比栅栏或者狗吠要抽象得多,尽管有时只是在README文件中声明一下项目维护者的名字,但这个道理是没错的。
两级贡献者
普通贡献者和合作开发者
成为合作开发者的一个典型途径是承担起项目主要子系统的责任,另一个途径则是成为负责识别和修复bug的“最高修复官”(lord high fixer)
源码开放的考虑因素
可靠性/稳定性/可扩展性非常重要
除了独立的同行评审,没有其他便捷易行的方法验证设计和实现的正确性
该软件对客户的业务非常关键
该软件创建或运转一个公共计算或通信基础架构
关键方法(或能实现同等功能的方法)属于公共知识
0 条评论
回复 删除
下一页