论开放源码、许可和更改

2020-07-14 01:17:16

开放源码和操作系统许可证的主题随着时间的推移一直在兴衰。最近,天气又热起来了。在这篇文章中,我想快速回顾一下,为大家做好铺垫。然后,我将分析许可证变更的原因。

在我真正开始我的职业生涯之前-甚至在我出生之前-软件就被提供了它的源代码。价值在于硬件。大多数客户-如果不是每个客户-都修改并调整了源代码以适应他们的硬件。然后,在1969年,美国政府裁定(反对IBM)将软件和硬件捆绑在一起是反竞争的。由于上一次裁决的意外副作用,价值从硬件转移到了软件。微软视窗的兴起由此拉开序幕。有趣的是,这也改变了软件交付的方式。客户只得到二进制文件,没有源代码。当然,今天的情况多半是这样的。

大约十年后,一种新的趋势开始了:理查德·斯托尔曼的一些人认为,发布源代码是交付软件的唯一正确方式。此外,他们的立场是软件应该是免费的。由于这一微小的倡议成为了一个受人尊敬的模式,这种对事物的看法在今天更具现实意义。今天,开源在不同的人心目中意味着不同的东西。

从字面上讲,开放源码只是沿着二进制文件交付源代码。不多,不少。对于商业软件,如果在购买合同中措辞谨慎,这意味着如果供应商不再维护软件(例如破产),客户应该能够维护软件。然而,根据斯塔尔曼的定义,软件需要是免费的:

为了避免混淆,我宁愿使用表达式自由开源软件(也称为“免费开源软件”)。福斯。

如上所述,这一术语上的差距在与业务兼容的开源和自由/开源软件的租户之间的紧张关系中得到了深刻的体现。在前一个组织的基础上诞生了开放源码倡议(Open Source Initiative)。这个组织的重要性不可低估:它根据开放源码定义决定哪些许可证被认为是开放源码。标准是:

在写这篇文章的时候,被允许作为开放源码许可的数量是有限的。这里有几个例子:

气候罢工许可证不是开源的,因为它不在上面的列表中

Creative Commons许可证不是开源的,因为它们不仅仅适用于软件。

开源最初是一个由志同道合的人组成的社区,他们想要一起创造一些东西,并愿意在下班后付出额外的努力。然而,今天,主要项目的主要贡献者是由私人公司支付的:他们在办公时间编写代码。原因是开放源码--而不是自由/开源软件--与业务兼容。

如果你提供一个很棒的软件,公司就会开始使用它。在某种程度上,他们可能需要咨询,以便高级使用。在那之后,他们还需要培训来提升他们的劳动力水平。这一直是开源赚钱的传统方式。不幸的是,这不能规模化。

虽然咨询是计划中的,但是当sh…使用时,支持就派上用场了。​已经很受欢迎了。想象一下:现在是晚上10点,你们公司使用的监控开源堆栈已经崩溃,并且拒绝重新启动。在这种情况下,人们肯定需要支持。一般来说,如果经理们没有相关的支持合同,他们就不喜欢使用任何类型的软件--无论是自由/开源软件、开放源码软件还是其他软件。

该软件提供开源的功能。通过扩展/插件提供的一组功能在商业(即付费)许可下运行。每一家的大小取决于一个人的战略。开源部分的功能越多,使用它的人就越多,但得到的钱就越少。这是一个很好的平衡。

该软件在两种不同的许可下可用,一种是开源的,另一种是商业的。当用户使用软件时,需要选择应用哪种许可证。为了让这种模式发挥作用,公司决定支付许可费,开源许可应该起到威慑作用。GNU通用公共许可证是一个可靠的选择:它规定嵌入GPL软件的软件应该在GPL许可证下发布,即免费。

不管你喜不喜欢,云在几年内变得无处不在,这已经不是什么神秘的事情了。随着越来越多的公司将其IT系统迁移到云,云服务提供商成为一股不可忽视的力量。凭借这种能力,他们与软件供应商就如何在其基础设施上提供后者的软件进行了讨价还价。总体而言,这笔交易几乎是一边倒的:云提供商获得了更多的服务组合,而软件供应商获得了软件的免费广告,最好的情况是获得了收入的一小部分。

但即便是这样,也是不够的。一些云提供商变得如此大胆,以至于不再假装这是一笔交易。他们只是贪婪地拿到了开源软件,并对其进行了服务包装。这是完全合法的,因为没有任何许可证阻止这一点。然而,这引发了收入分享的问题:一家公司为开发软件付费,而另一家公司获得了最大的收入份额,因为它控制着市场。

正因为如此,一些软件供应商决定更改他们的许可证,以防止服务包装。问题是没有开放源码许可证能够做到这一点。因此,根据开放源码计划的定义,这些新的许可证不被认为是开放源码的。

换驾照通常不是个好主意。当有人使用您的软件时,他们需要能够相信他们将来可以在相同的条款下使用它。反服务包装的改变确保了这一点。

足够有趣的是,我最近看到一个与服务包装无关的许可证更改。鉴于新冠肺炎的疫情,有人认为把执照换成新的执照是个好主意:

冠状病毒要来找你了。它正在以指数级的速度到来:逐渐地,然后突然地。这只是几天的问题。也许一两周吧。当它发生时,你的医疗系统将不堪重负。你们的同胞们会在走廊里接受治疗。精疲力竭的医护人员将崩溃。有些人会死。他们将不得不决定哪个病人得到氧气,哪个病人死亡。防止这种情况的唯一方法就是今天的社会疏远。明天不行。今天。这意味着从现在开始,尽可能多的人留在家里。

如果您居住在英国、欧洲、南北美洲、伊朗、日本、韩国…。​,如果您拒绝这样做,请从您的系统中卸载Dummy,并且不再使用此服务。

虽然这一变化背后的意图值得称赞,但这种变化并不值得称赞。这是许可证不可信任的明确标志。如果今天变了,为甚麽明天不能变呢?我建议这种情况下的每个人都不要这么做。

在这篇文章中,我们描述了开源软件的起源。我们研究了开放源码表达式的语义,并用自由/开源软件描述了其中的不同之处。然后,我们写到了开放源码计划,它适用于定义开放源码的特征,以及一些符合这个定义的许可证。我们接着列举了一些如何将自由/开源软件货币化的方法。最后,我们描述了一些云提供商的问题行为,以及更改许可证是如何避免这种行为的。更改许可证的其他原因可能会打破软件供应商与其用户之间的信任对比。