为什么基于云的架构与开源并不总是混合在一起
发布时间:2021-12-07 15:10:44 所属栏目:云计算 来源:互联网
导读:基于云的架构和开源应该是天作之合,但像Kubernetes这样的成功案例是例外,而不是规则。 从某些角度来看,开源在云中取得了巨大的成功。像Kubernetes这样的开源解决方案已经吃掉了闭源替代方案。然而,在其他方面,云中的开源已经完全失败了。基于云的架构继
基于云的架构和开源应该是天作之合,但像Kubernetes这样的成功案例是例外,而不是规则。 从某些角度来看,开源在云中取得了巨大的成功。像Kubernetes这样的开源解决方案已经吃掉了闭源替代方案。然而,在其他方面,云中的开源已经完全失败了。基于云的架构继续为实现开源保护用户自由的创始目标带来根本性问题。对于许多组织而言,使用云意味着将控制权交给专有解决方案提供商并面临严格的锁定风险。 这些观察引出了一个问题:为什么开源在云中没有更大的影响力,以及可以做些什么来使云计算对开源更加友好? 开源的云问题 从云时代的早期开始,开源和云之间就一直存在紧张关系。 当自由和开源软件在1980年代在RichardStallman和GNU项目的支持下首次出现时,主要目标(正如Stallman当时所说)是将软件源代码提供给任何想要它的人,以便用户可以“无耻地使用电脑”,彼此团结一致。 如果您在本地设备上运行软件,访问源代码就可以实现这些目标。它确保您可以研究程序的工作原理,与他人共享修改并自己修复错误。只要源代码可用并且您在自己的设备上运行软件,软件供应商就不能“划分用户并征服他们”。 但是,当软件迁移到基于云的架构时,这种计算方式发生了根本性的变化。在云中,您作为最终用户访问的软件在由其他人控制的设备上运行。即使软件的源代码是可用的(在SaaS平台的情况下通常不是这样,尽管理论上可能是这样),其他人——特别是拥有运行软件的服务器的人——可以控制你的数据,决定如何配置软件,决定何时更新软件,等等。最终用户之间没有团结,最终用户和软件提供商之间也没有平等。 Stallman和其他自由软件倡导者很早就意识到了这一点。到2010年,Stallman哀叹用户在使用基于云的软件时放弃了控制,并创造了诸如“服务替代软件”之类的术语来模拟SaaS架构。他们还引入了Affero通用公共许可证,旨在将GNU通用公共许可证(主要的自由软件许可证)的保护扩展到通过网络托管的应用程序。 这些努力的成果充其量只是平庸的。自2000年代中期以来,Stallman恳求用户不要使用SaaS平台并没有阻止云的爆炸性增长。今天,很难想到一个主要的软件平台不能通过SaaS架构使用,也很难找到一个因软件自由问题而回避SaaS的最终用户。 尽管Affero许可证获得了关注,但它在云中推动自由和开源软件事业的能力有限。Affero许可证的主要目的是确保软件供应商不能声称基于云的软件没有“分发”给用户,因此不受传统开源许可证(如GPL)的规定的约束。这总比没有好,但对于解决用户在使用基于云的服务时面临的数据控制、软件修改等相关问题几乎没有帮助。 因此,基于云的架构继续对自由和开源软件的基本目标构成根本性挑战。很难设想一种方法来解决这些挑战,更难以想象它们会在云采用比以往任何时候都更加强大的世界中消失。 开源的云成功 您可以用另一种更积极的方式讲述云中开源的故事。从某些利基的角度来看,比如私有云和“云原生”基础设施技术,开源已经取得了巨大的成功。 我在这里考虑的是像Kubernetes这样的项目,这是一个开源应用程序编排平台,它已经变得如此占主导地位,以至于它甚至不再有真正的竞争。当即使是虚拟机编排工具与Kubernetes竞争的VMware现在也运行自己的Kubernetes发行版时,您就知道Kubernetes赢得了编排器战争。 (编辑:随州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |