一开始,所有软件都是“自由软件”和“开源”。 但是,随着软件商业化,几乎所有软件都变成了专有软件。 为了反对这一点,Richard M. Stallman (RMS) 在 1983 年采用了 James Gosling 的 Emacs 文本编辑器,并根据第一个自由软件许可证 GNU 公共许可证 (GPL) 重新授权它。
虽然免费软件的兴起从根本上改变了软件的使用方式,但并不是每个人都对 RMS 感到满意,他的自由软件基金会 (FSF) 承担了软件许可。 因此,在 1998 年,Christine Peterson 在与 Jon “Maddog” Hall、Larry Augustin、Eric S. Raymond、Bruce Perens 和其他自由软件名人的会面中提出了“开源”一词。
过去和现在两者之间的主要区别在于,自由软件是关于共享代码的伦理,而开源则侧重于共享代码的实际好处。
或者,正如早期 OSI 领导者和现任 OS-Climate 项目负责人 Michael Tiemann 所说,开源意味着“抛弃与‘自由软件’相关的道德化和对抗态度”,而是在 “务实的商业理由。”
尽管自由软件与开源软件的争论没有结束的迹象,但 OSI 今天有更大的鱼要炒。
另外:Microsoft Azure 首席技术官说,是时候停止在新项目中使用 C 和 C++了
在过去几年中,开源许可证面临来自准开源许可证的挑战,例如商业源代码许可证 (BSL)、通用条款和服务器端公共许可证 (SSPL)。 自由软件与开源软件的争论很明显,反之亦然。 人们更难理解“有点,有点,不是真的”开源许可证和真正的开源许可证之间的区别。
这些许可证与获得 OSI 许可的许可证之间的核心区别在于,任何真正的开源许可证都必须符合开源定义 (OSD)。 这一切都归结为这样一个想法,即通过开源,您有权以任何方式使用软件代码。 想在云上运行它吗? 大胆试试吧。 想出售代码或基于它的程序? 你也可以那样做。 将其作为基于云的服务提供怎么样? 这也很酷。 使用这些准开源许可证,这些权利将受到限制。
更令人困惑的是,许多现在使用这些伪开源许可证的公司都是从真正的开源许可证开始的。
这是一个增长的趋势。 OSI 标准和政策总监 Simon Phipps 说,“这是令人失望的趋势的另一个例子,这些公司保留了对软件权利的控制权,同时声称提供开源自由,当他们获得足够的市场动力时拉扯地毯 – 有时称为 ‘权利-棘轮’模型。OSI 建议软件用户在承诺部署项目时要特别注意开源自由的可持续存在。
他们为什么这样做呢? OSI 执行董事 Stefano Maffulli 在 2022 年欧洲开源峰会上接受采访时解释说,放弃开源许可证“已成为公司的一种趋势。他们有类似的可识别模式。他们在五到十年内建立了自己的业务和代码。 在此过程中,他们收集贡献者许可协议 (CLA),赋予公司对其代码的权利。然后他们更改许可并取消这些权利。” 因此,他们使用开源代码来发展,但他们随后指责开源没有作为一种商业模式运作。 剧透警告:开源从来不是,也永远不会是一种商业模式。 这是一种发展模式。
但这并没有阻止他们,Maffulli 说,“指责开放源代码让他们把钱留在桌面上。因此,在他们的支持下,风险资本家要求他们节省每一分钱并赚更多的钱,他们放弃了他们的开源许可证。 “ 现在,他理解他们的痛苦,Maffulli 说,“但他们解决问题的方式正在污染开源。”
因此,向前推进的 OSI 正在努力教育企业和开发人员了解什么是开源,什么不是。
作为其中的一部分,OSI 更加重视其 ClearlyDefined 项目。 这个众包项目创建于 2018 年,旨在通过改进软件包中的许可数据来满足这一需求并推动开源项目。 具有讽刺意味的是,这个项目一直得到微软、SAP 和彭博社等曾经的专有公司的支持。 虽然一些较新的、曾经的开源公司正在远离开源,但老派企业正在意识到开源的价值并更多地拥抱它。 OSI 还在为 ClearlyDefined 寻找一名全职社区经理。
开源也不再只是关于开发人员和企业,远非如此。 正如 OSI 的新任美国政策主管 Deborah Bryant 解释的那样,“在当今世界,随着开源软件的作用继续在公众和社会关注中发挥关键作用,复杂性不断增加,对经济和安全问题的决策响应也在增加。 “
她是对的。 在她上任仅几周后,美国参议院国土安全和政府事务委员会主席、民主党人加里·彼得斯和一流的共和党人罗伯·波特曼就提出了立法以帮助保护开源软件。 开源支持者不仅需要在政府的开源政策中有发言权,而且他们必须有发言权。 政府政策决定将影响我们的开源软件生态系统。 美国和欧洲的 OSI 与 Phipps 正在解决这一要求。
展望未来,OSI 还将解决机器学习 (ML) 和人工智能 (AI) 在使用和构建开源软件方面的作用。 这已成为一个日益紧迫的问题。
例如,GitHub 的 AI-base 对编程工具 Copilot 的 ML 模型部分依赖于开源代码。 一些开源开发人员对此感到不安是可以理解的。 Maffulli 认为,“从法律上讲,GitHub 似乎在其权利范围内。” 也就是说,不要“迷失在讨论这里是否存在开源许可问题或版权问题的法律杂草中。这会错过更广泛的观点。公平问题会影响整个社会,而不仅仅是 开源开发者。”
这不仅仅是 Copilot 的问题。 Google的DeepMind有自己的AI开发者系统AlphaCode,Salesforce有CodeT5,还有开源的PolyCoder。 这是开源社区必须解决的问题。
OSI 将于 10 月通过四个虚拟研讨会 Deep Dive:AI 启动这一对话。 这些将研究人工智能和开源如何在商业、社会、法律和学术界相互交叉。 如果您关心开源和 AI,我强烈建议您参加。 这一点,而不是自由软件和开源软件之间永恒的斗争,才是下一个十年软件开发的重点。