paint-brush
开源诱饵和开关经过@shai.almog
1,078 讀數
1,078 讀數

开源诱饵和开关

经过 Shai Almog7m2022/09/01
Read on Terminal Reader
Read this story w/o Javascript

太長; 讀書

当 OSS 拥护过火而企业贪婪占据主导地位时,免费软件被用作破坏竞争和伤害开发者社区的工具。
featured image - 开源诱饵和开关
Shai Almog HackerNoon profile picture

我正在阅读这篇文章并想发表评论,但我觉得这需要一篇回应文章。首先,如果你不认识我,我写了大量的开源代码。整个平台,然后是一些。我认为那篇文章中表达的一般观点以及我在网上看到的许多绒毛都过于简单化和危险。

我们需要得到报酬

谁来支付你的薪水?


人们对开源商业模式有各种各样的答案。例如“咨询”或模糊的“支持”。我一直想知道这些人是否曾经尝试过销售咨询?或者也许是“支持”。


人们不买这些东西。尤其是在经济低迷时期。销售人员通常销售这些东西的方式是暗示您可能违反许可证,如果您付款并获得商业许可证会容易得多。我什至会免费提供“支持”。是的,如果您将所有时间都花在电话上,您可以获得一些赞助商。这是一个永无止境的销售过程。追逐潜在客户并拨打电话。运行此类业务需要大量开销。


一些开发人员使用有问题的开源许可证,然后他们可以利用这些许可证进行销售。但随后他们被指责为“不够开源”。那里没有胜利。


Sun Microsystems 在我的一些 OSS 工作期间支付了我的薪水。他们从 200 多亿美元的估值跌落,最终售价约为 70 亿美元。当然,这不是因为它们是开源的。这只是一个轶事,并没有帮助。真正的人失去了他们的实际工作,因为开源不赚钱。即使它这样做,它也很少。人们过去常说,它最终会从更大的馅饼中取出一小块。这是真的,但只适用于大玩家,你有两个选择:成为大玩家或看着大玩家从你的努力中获利。


不要误会我的意思,我并不反对人们从我的工作中获利,甚至是大公司。我做 OSS 是为了好玩,并且喜欢人们基于我的工作而取得成功的想法。但是我得到了许多开发人员的挫败感,而且我从人们那里看到的笼统的“开源倡导”是有问题的。

诱饵和开关

坏事是企业犬儒主义。以谷歌为例。他们在没有用户的情况下开源了 Android。建立在它之上的公司和开发人员也是如此。围绕它形成了倡导,因为“它是开源的”。然后他们发布了封闭源代码的 Google Play 服务,该服务后来为一些基本功能添加了 SaaS Firebase 要求(目前它是免费的),现在我们拥有伪装成开源的深层供应商封闭源代码依赖项。


如果我们想为 Android 构建,我们不必使用Google Play 服务。当然。但这使得构建 Android 应用程序变得更加困难,如果您不将其用于某些事情(例如推送、购买等),那么您将被禁止进入最大的 Android 市场。绝大多数开发人员“只是使用它”。这意味着任何想要从他们的 Android 设备上删除 Google Play 以支持 100% 开源解决方案的人;会发现他们对应用程序的软件选择很少。


以弹性搜索为例。他们是开源的并杀死它。但 AWS 分叉并没有真正帮助他们的底线。因此,Elastic 更改了许可证以阻止 AWS。 AWS 开始了他们自己的分叉。在这个故事中,有些人诋毁 Elastic,但这些人可能永远不必为了业务的生存而与亚马逊抗争。在这种情况下,双方都在商业斗争中将开源武器化。


Java 的情况略有不同。 Java 不是开源的,后来被开源了。它仍然保留 IP 而非语言。所以我得到了甲骨文对项目的严格控制并接受了这一点。有一个稳定的船是很好的,它为 Java 的成功做出了贡献。谷歌诉讼的问题在于甲骨文试图扩大其知识产权以包括 API。那是个错误。

GPL 是最好的许可证

大约十年前,一家名为 RoboVM 的初创公司发布了一个开源编译器,可以将 Java 翻译成原生 iOS 应用程序。这很酷,我和 JavaOne 的创始人谈了很多。那时我们正在考虑构建自己的 VM 或选择 RoboVM 等解决方案。我们最终选择了前者并构建了我们自己的虚拟机,它更简单,更符合我们的需求(它也是开源的)。


这个决定是基于技术优势,我认为它得到了回报,但我仍然非常尊重 RoboVM 团队。我担心的是苹果。他们破坏了很多东西……构建一个低级虚拟机是一场危险的猫捉老鼠游戏,苹果会突然改变一些东西,我们会被卡住。第二个问题是货币化。我知道 RoboVM 团队将不得不以某种方式支付其员工和创始人的薪水。一个人如何从开源编译器中赚钱?请注意,这是十年前的事了,没有任何像Zig这样的先例可以作为模板来看待。


在某些时候,我对 Apple 政策的担忧成为现实,Apple 在针对某些平台时添加了位码要求。 RoboVM 在位码支持上花费了大量时间,并决定关闭其源代码。他们明白,没有它,他们就无法为持续发展提供资金。不要将此作为对他们决定的判断。正如我所说,我完全明白,通过 OSS 获利非常困难。


GPL 通过强制 RoboVM 在位码迁移之前发布最终版本的代码来保护社区。这允许在以后的几年中对代码进行一些分叉,但它仍然没有维护。该公司被 Xamarin 收购,并在后者被微软收购后立即停产。如果没有 GPL,代码可能无法访问。它还迫使第 3 方发布他们的代码。


在这方面,我非常相信 GPL,而不是 MIT、BSD、Apache 等更宽松的许可证。我认为作为一个社区,我们应该更喜欢保留社区权利而不是公司权利的许可证。它还为项目的创建者提供了一个很好的货币化选项。只需重新许可为专有许可并为此收费。不幸的是,对于许多开发人员来说,GPL 通常是一个初学者,因为他们错误地认为它对他们不利。反之亦然。 GPL 是长期维护社区权利的最佳方式之一。

事情发生了变化吗?

我之前提到过Zig。还有许多其他成功的基金会示例,例如 SQLite、Mozilla 等。达到这一点通常很困难,并且不一定适用于每个开源项目。例如,几乎每个人都使用 cURL,但我认为我们不会看到 cURL 基础。另请注意,所有这些项目都位于美国技术中心。根据我的经验,在其他地区获得赞助商要困难得多。


这是否意味着所有的开源都应该是一种爱好或一个庞大的包罗万象的项目?

不幸的是,我没有好的答案。但我有一个问题:过于热心的开源倡导者。你不帮忙!


开源正在成为一种仅限企业的游戏。它被用作对抗科技公司的武器。零售业有一个名字:亏损领导者。


在零售业,一家大型超市商店会亏本出售一些产品,并宣传这个惊人的低价。这带来了沿途购买其他东西的观众,因此超市最终获利。但这样做的原因是为了淹没竞争。竞争似乎很昂贵(因为他们不能亏本出售)。他们倒闭了,大零售公司提高了价格。最初,看起来我们从竞争中获得了巨大的收益,但最终我们最终输了。因此,一些监管机构禁止此类做法,因为它们最终会破坏市场。


大型科技公司以类似的、愤世嫉俗的方式使用开源。他们通过雇佣大量的开发者关系专业人士来形成“社区”,以制造草根热情的伪装。有时他们不需要将市场货币化,这足以将竞争排除在外。

TL;博士

我喜欢开源并且认为它非常重要。这就是为什么我们不应该让企业将其武器化。我们需要生态系统内的多样性,我们需要支持较小的关键项目。向开源项目“分发”或“咨询”的想法是不可持续的。

大公司使用开源作为武器互相争斗,我们似乎在短期内受益。但是当他们获胜时,企业的心态就会接管,他们会加倍控制。


我建议的解决方案是:

  • 使用 GPL - 它是为了保护社区权利。难怪企业不喜欢它。

  • 不要成为 OSS 清教徒——小公司需要赚钱。他们将提供 SaaS、闭源扩展等。没关系。

  • 大公司并不仁慈——我看到来自 FAANG (MAANG) 公司的 OSS 项目的倡导是有问题的。他们不支持 OSS。他们使用并利用它。不要误会我的意思,我很感谢他们的代码,他们发布它真是太好了。但我们需要谨慎,他们的信托要求可能会与 OSS 标准中的“正确事情”相冲突。


我不知道我接下来要做的是否会是 OSS。我不知道我是否会选择 GPL,因为正如我所说,人们对它有意见。但我确实知道这一点:如果你是开源倡导者。调低言辞。这没有帮助。


也在这里发布。