在阅读《梦断代码》的过程中,开源运动作为一个重要的背景始终贯穿其中。
书中对开源有一个精辟的阐述:并非所有开源软件都免费,但所有的开源软件都可被自由查看、摘选和复用。媒体普遍将开源描写为微软的挑战者,但这种挑战是非直接的——商业软件为赚取利润而生产,开源则给出了一种生产和分发软件的替代性经济方案。
开源倡导者们喜欢强调一个核心理念:“每个人都可修改的软件会随着时间的推移得到更进一步的完善。”与其害怕竞争对手窃取代码而秘不示人,不如将其展现给全世界,邀请同道加入。这种模式从某种程度上绕开了“人月”的陷阱——当贡献者来自全球各地时,沟通不是线性增长,而是通过网络化的协作被稀释。
然而,Chandler项目的经历也展示了开源模式的另一面。OSAF作为一个非营利基金会来运作项目,既有开源的理想,又面临着商业化的压力。他们贴出了“候选杀手级特性”列表,在众多选择中迷失了方向。
书中还讨论了开源与商业软件之间的张力。批评者认为,代码不属于某家公司,就不会得到技术支持。这种担忧并非毫无道理——开源项目的维护依赖于志愿者的热情,当热情消退,项目就可能陷入停滞。
但无论如何,开源已经成为软件世界中不可忽视的力量。正如书中所言,开源不仅给出了生产和分发软件的替代性方案,还能彻底改变软件开发的具体过程。从Linux到Python,从Apache到React,无数成功的开源项目证明了这种模式的可行性。
读完这一章,我对开源有了更立体的认识。开源不是万能药,它有自己的问题和局限;但它确实为软件世界提供了一种不同于商业封闭模式的路径。两者各有优劣,关键在于在具体的项目和场景中找到最适合的方式。
