• 《大教堂与集市》读书笔记


    本文写于 2021 年 4 月 26 日

    零、Red Hat 创始人 Bob Young 对开源的理解

    Bob Young 的序写得很简短,但却字字箴言,很值得我们学习。

    • 谈自由: 自由不是一个抽象的商业概念。任何行业的成功几乎都直接和这个行业供应商及客户所享有的自由度相关,对比美国电话业在 AT&T 失去垄断地位前后的创新步伐,就能知道用户享有选择的自由是多么重要。
    • 以计算机软硬件的创新发展作为对比,谈自由给行业带来的益处: 在计算机硬件行业,供应商和消费者在全球范围内都享有很高的自由度,所以该行业在产品和客户价值方面的创新速度,是人类前所未见的。而在软件行业,其变化则几乎以十年为单位,办公套件是 20 世纪 80 年代的杀手级应用,其地位直到 90 年代才受到浏览器和 Web 服务器的挑战。
    • 开源软件给软件行业带来的自由,可能比硬件制造商和客户所能享受的自由更广阔。
    • 谈计算机语言: 计算机语言之所以被称为「语言」,是因为它们确实是语言。掌握编程语言技能的社会成员(如程序员)可以使用该语言构建和交流思想,从而做一些有利于其他社会成员(包括其他程序员)的事。
    • 在现代社会,人们越来越依赖于软件服务,而对这些软件内在知识的法定获取限制(如软件行业长期以来使用的专有软件许可制度),导致自由更少、创新更慢。
    • 要想对世界做出实质性的改变,开源需要做到这两点:
      • 一,要让人们广泛使用开源软件;
      • 二,要让用户知道并理解这种软件开发模式能给他们带来的益处。

    开源所带来的最大不同:

    • 在软件行业自认为所有基础架构都已经定型了的时候,开放源码这种革命性的理念横空出世。和以往限制用户获得源代码并以此控制用户的做法不同,开源使用户能够控制他们所使用的技术。
    • 将开源工具推向市场需要新的商业模式,相比那些仍然试图控制消费者的公司,开源能给用户带来极为独特的好处,能开发出开源商业模式的公司,将取得非同寻常的成功。

    一、程序员的演进

    (1)真程序员(Real Programmer)

    • 「真程序员」这个称呼是在上世纪 80 年代以后才出现的。他们通常具备工程学和物理学背景,并且常常是业余无线电爱好者。他们穿着白色袜子、涤纶衬衫,打着领带,戴着厚厚的眼镜,使用机器语言、汇编语言、Fortran 或者其他一些已经被人们遗忘了的古老编程语言。
    • 在大型机(mainframe)盛行的年代,「真程序员」主宰了计算机世界的技术文化。
    • 「真程序员」文化和批处理计算(尤其是批处理技术)密切相关,随着交互式计算、大学和网络的兴起,「真程序员」文化逐渐衰落,另一个工程师文化诞生。

    (2)早期开源历史中的关键点

    1. APRAnet(阿帕网)诞生:APRAnet 从一个实验性数字通信系统,逐渐成长为一个连接数百个节点的大网,使得位于各地的研究者能够以前所未有的速度和灵活性交换信息。这极大地促进了合作交流,推动了科学技术的突飞猛进。
    2. PDP-10
    3. ITS(Incompatible Time-sharing System,不兼容分时系统)
    4. Xerox Parc,即著名的 Palo Alto 研究中心
    5. UNIX 的兴起与 C 语言的诞生:
      • 操作系统在传统上都是用汇编语言精心编写的,目的是充分利用机器的效能。Ken Thompson 和 Dennis Ritchie 是最早意识到当时硬件和编译技术都已经好到能让整个操作系统用 C 语言编写的那批人之一。到 1978 年,整个 UNIX 环境已经可以成功地被移植到多种不同型号的机器上了。
      • 这是史无前例和影响巨大的。如果 UNIX 能够在多种不同型号的机器上提供相同的人机界面和相同的功能,它就能成为一个通用的软件环境。机器更新换代时,用户就可以不再购买那些为新机器而重新编写的软件,开发者也可以在不同机器上使用相同工具,而不是每次都去做类似发明轮子和钻燧取火的事情。
    6. 微型计算机的发展
  • 相关阅读:
    zabbix企业微信告警
    提升C内功--函数栈帧的创建和销毁(动画讲解)
    opensips开启lua支持
    使用Go+Lua解决Redis秒杀中库存与超卖问题
    ubuntu在线直接升级
    java spring cloud 工程企业管理软件-综合型项目管理软件-工程系统源码
    Greenplum-表的分布策略
    流畅的Python读书笔记-第九章-符合Python风格的对象
    GAN 的理想损失值应该是多少?(Make Your First GAN With PyTorch 附录 A)
    kafka rabbitmq 详细对比
  • 原文地址:https://blog.csdn.net/tangxiaoyin/article/details/126365755