开放源码软件的历史可以追溯到早期计算中的协作实践,尽管“开放源码”这个术语本身出现得晚得多。在 20 世纪 50 年代至 70 年代,学术和研究机构自由地共享软件,将其视为一种公共工具。例如,1969 年在贝尔实验室开发的 Unix 操作系统就随源代码一起分发,允许大学对其进行修改和调整。这种开放文化源于实用性:共享代码加速了问题解决和创新。然而,随着软件在 20 世纪 80 年代商业化,专有模式占据主导地位,引发了反抗运动。Richard Stallman 的 GNU 项目(1983 年)和自由软件基金会(1985 年)将“自由软件”理念正式化,强调用户拥有使用、研究、修改和分发代码的权利。1989 年推出的 GNU 通用公共许可证(GPL)通过 copyleft(著作权开放)机制强制执行这些原则,要求衍生作品保持开放。
“开放源码”一词于 1998 年由开放源码促进会(OSI)提出,旨在重新包装自由软件以获得更广泛的吸引力。这一转变旨在通过强调实际利益而非意识形态立场来吸引企业。Linus Torvalds 在 1991 年创建的 Linux 成为了一个旗舰示例:其内核与 GNU 工具相结合,形成了一个完整的开放源码操作系统。20 世纪 90 年代,网景公司(Netscape)将其浏览器源代码作为 Mozilla 发布(1998 年),显示了企业的兴趣。许可模式多样化,Apache(1995 年)和 BSD 等宽松许可选项与 GPL 同时获得关注。这些许可允许不同程度的重用,从严格的 copyleft 到商业友好的条款。在此期间,通过互联网实现的协作开发规模不断扩大,分布式团队使用早期的版本控制系统和邮件列表进行协调。
在 21 世纪初,开放源码进入主流。Apache HTTP Server(1995 年发布)等项目主导了网络基础设施,而 Firefox(2003 年)挑战了 Internet Explorer 的主导地位。IBM 和 Red Hat 等公司投入巨资,证明开放源码可以与商业成功并存。GitHub 于 2008 年的崛起使协作民主化,使全球开发者更容易为项目做出贡献。如今,开放源码支撑着关键技术:Android、Kubernetes 和 TensorFlow 都建立在开放基础之上。企业现在也为开放源码做贡献并依赖于它,这得益于成本效益、灵活性和社区驱动的创新。许可争议持续存在——例如,GPLv3(2007 年)解决了专利问题,而像 React(MIT 许可)这样的项目则因模糊的专利条款而受到批评。尽管存在挑战,开放源码仍然是软件开发的核心,影响着从云基础设施到人工智能的一切。