开源软件的历史可以追溯到计算机的早期。20世纪50年代和60年代,计算机主要是大学和研究机构的财产。在这一时期开发的软件通常在这些组织之间自由共享。共享代码的做法不仅是一种常规,还是软件协作与改进的关键。然而,在1970年代,随着计算机商业化的进程加快,公司开始出售软件,分享的态度发生了变化。专有软件的出现限制了访问和修改的权利。
在1980年代末,以理查德·斯托曼(Richard Stallman)为首的GNU项目开始形成我们所知的开源概念。斯托曼旨在提供一个免费的类Unix操作系统,这导致了GNU通用公共许可证(GPL)的制定。该许可证允许用户运行、修改和共享软件,同时确保这些权利得到维护。GNU项目为社区驱动的软件开发奠定了基础,促进了开发者之间的合作,大家共同贡献代码库。
“开源”一词在1998年正式引入,当时开源倡议(Open Source Initiative,OSI)成立。这标志着在科技界对软件看法的转折点。像Linux这样的项目(由林纳斯·托瓦兹在1991年推出)展示了开源协作的强大力量。互联网的广泛使用进一步推动了这一运动,使世界各地的开发者能够轻松贡献。多年来,许多成功的项目如Apache、Mozilla Firefox,以及最近的Kubernetes都源于开源模型,证明了协作软件开发的有效性和可靠性。如今,开源已成为软件生态系统的重要组成部分,影响着软件的构建、共享和使用方式。