Changing a license to be less permissive goes against the initial trust that users and contributors had in the project. If the project was successful because it was permissive, changing the license can alienate the community and lead to a loss of trust and support.
Companies use open source as a go-to-market strategy to penetrate the market and gain adoption. While it benefits users, it is also a way for companies to build a user base and eventually monetize through enterprise features, support, or services.
Open source projects, especially larger ones, require significant investment in terms of time and resources. Without this investment, they struggle to compete with well-financed projects and often fail to gain the necessary traction or adoption.
Support contracts are often not a viable long-term monetization strategy for open source projects because they do not scale well. The number of people required to provide support and the limits on billing hours make it challenging to generate the high returns expected by investors.
The ownership of an open source project, whether by a company or a foundation, can significantly impact its direction and stability. Projects owned by a single entity may be more susceptible to changes that benefit the owner at the expense of the community, while projects in a foundation are generally more transparent and community-driven.
Developers may choose not to put their projects into a foundation to maintain full control over the project. They may fear that a foundation will impose rules or decisions that they disagree with, or they may prefer to keep the project small and manageable.
Companies are more willing to contribute to projects in a foundation because it provides a level of stability and protection. They are less likely to invest in a project that could change its license or direction in a way that could harm their investment.
从道德角度讲,我认为任何许可证都不应该修改得更不宽松。这是我的原则。你想改就改,改得更宽松,而不是更严格。你之所以能赚钱是因为它很宽松,现在你不喜欢了?好吧,你这样做没问题,而我也有权不再使用你的东西。这里是DevOps Paradox播客,第292期:没有哪个项目是真正意义上的开源。
欢迎收听DevOps Paradox播客。这是一个关于各种随机话题的播客,我和维克多假装我们知道自己在说什么。大多数时候,我们通过在任何地方都尽可能多地使用“DevOps”这个词,并将其与Kubernetes、无服务器、CICD、团队生产力、快乐岛屿以及其他让我们听起来像知道自己在做什么的花哨表达混杂在一起,来掩盖我们的无知。
偶尔,我们会邀请一些确实懂行的人做客,但我们不会经常这样做,因为他们可能会让我们显得无能。真相就在那里,我们不可能找到它。附注:这是达伦在读这段文字,并为维克多让我读这段文字而感到尴尬。
以下是您的主持人,达伦·波普和维克多·法森。2024年8月19日,维克多在DevOps Toolkit频道上发布了一个关于开源的视频。如果您还没有观看,我会在剧集说明中提供链接。维克多,你还记得那么久以前的事吗?已经过去几个月了,你还记得要点吗?我知道要点。但如果你问我细节,那早就忘了。
我不知道他们说了什么,但我知道他们是怎么想的。我想这已经足够好了。你能给我们大致讲一下这个视频的内容吗?因为自从你第一次制作那个视频以来,发生了很多事情。
相当多的事情。其中一点是,我认为在绝大多数情况下,开源是一种市场进入机制。并不是说公司会投入数十万甚至数百万美元到开源项目中,因为它们很善良。这是一种公司渗透市场的方式,是一种市场进入策略。
这一点很重要。需要明确的是,这并不一定不好。每个人都从开源中受益。但重要的是要理解,没有开源就没有资金,没有资金就没有商业。
当你理解了这一切之后,我们现在经常收到的关于开源许可证变更或某些流程变更等等的新闻,在我们理解开源并非由贡献者完成时,感觉就不同了,或者理解起来就不同了。除非这是一个非常非常小的项目,否则这是重要的部分。
好的,这是60秒的要点。感谢你多说了几句。自2024年8月19日以来,又有一件关于开源的大事发生了。让我们委婉地说。WordPress做了一些非常有趣的事情,有点像在“抽地毯”,但有趣的是,这次是开源项目在“抽地毯”,而不是公司。
是的,但它是开源的,对吧?开源项目往往由公司控制。所以当我们说开源做了这样那样的事情时,这真的是贡献者还是碰巧为公司工作的专职维护人员?我试图稍微构建一下,但我不想让律师来找我们。所以我们会保持友好。你可以上网搜索关于WordPress和WP Engine发生的一切。这就是我们要讨论的全部内容。但关键在于……
我认为,这种情况会持续下去。我们将在接下来的几集中详细讨论这个问题。但如果人们认为开源是免费的,免费如同啤酒一样,这仍然可能是真的。正如你所说,在一个非常小的项目中。免费使用开源。是的,它是免费的。开发并非免费。这是重要的部分。我现在的问题是,既然我们现在生活在这个人工智能的世界里,我们已经看到一些大型超大规模公司表示,他们的大部分代码,或者不是大部分,而是大部分代码现在完全由人工智能编写。我不相信,但让我们假设这是真的。难道我们不能让AI代理编写所有新的开源代码吗?首先,我没有看到任何证据或迹象表明AI正在编写一些全新的东西,对吧?它正在变得越来越好,但还没有达到那个程度,但它在……
做那些以前做过很多次的事情方面做得越来越好了,对吧?因为这就是它所做的,对吧?它知道大量项目的源代码,它可以再次做以前做过的事情,对吧?这并不相同,对吧?我真诚地怀疑,比如说,你正在构建一个基于某种插件机制的开源项目,并且你想以比你之前的项目更好的方式来设计它。
我真诚地怀疑AI会做到这一点。想出一种新的、更好的方法来做某事。现在,你可以很容易地做一些事情,或者帮助我们做一些以前做过很多次的事情,但是,这是简单的一部分。所以回到你视频的标题,“开源的黑暗面”。我不得不去查一下。开源的黑暗面。让我们谈谈你在那个视频中谈到的一些要点。因为我想拉几根线。
如果没有人在上面工作,你就不能拥有完全免费的开源,对吧?除非有人实际编写了软件,否则你不会拥有开源软件。是的。所以是投资免费,而不是使用免费,对吧?正确。一项投资。所以即使有人只是在周末的业余时间做这件事,那仍然是他们投入的时间。他们本可以和孩子们一起玩耍,看足球,
但是,某人免费提供的投资和某人带着某种回报期望的投资之间是有区别的。比如说,你有一个相对较小的Opusos项目,比如说Node.js库,对吧?一个人可以在几个周末完成的事情。
我认为可以合理地预期,这个人这样做是因为他是一个好人,并且会永远免费赠送它。我对它没有兴趣。这是我的爱好。有投资,但没有投资背后的期望,也许只是一些个人的荣耀,对吧?你还有不同的情况,比如说更大的项目,需要多个专职维护人员的项目。
现在,当我们有专职维护人员时,那么这笔投资就来自某个地方,因为这些人需要薪水,我将使用一个愚蠢的术语,“借钱”来维持生计。这意味着有人给了钱,而这个人期望得到回报。不一定是说,“嘿,这将不再免费”。
我认为任何开源项目都不应该更改许可证,这一点要100%清楚。但是,也许这会导致一定的采用率,也许我们可以构建一些企业功能或企业层,或者也许是同样的服务。有很多不同的方法可以将其货币化,同时仍然保持开源。它始终是时间的投资,但有时这段时间是由借来的钱资助的。
有时不是。通常,项目的规模决定了是哪一种情况。让我们根据项目的规模来讨论。如果我借钱来尝试构建我的小型项目,希望能够出售一些合同,这是一种好的还是坏的使用借钱的方式?我的意思是,我假设我们谈论的是并非真正意义上的钱,而是……
我将在周末做这件事,或者也许我将每周工作四天而不是五天,诸如此类的事情,对吧?所以它是时间投资而不是金钱,假设我理解你的情况。我的情况实际上是钱。我要去银行。我要获得一笔过桥贷款,以确保我不必为其他人去办公室工作。我将工作六个月,我希望……
最后,我非常具体地使用了“希望”这个词,我希望六个月后,我能够把它卖给某人。这很难。开源很难,因为竞争非常激烈,对吧?当然,你可以找到一个利基市场……
那将是令人惊叹的,对吧?只有你想出的东西,不会有惊人的用户数量,但足够了,对吧?让你成名或以某种方式赚钱,对吧?但大多数情况下,如果你开始一个开源项目,并且认为这个开源项目会成功,不包括小型项目,
你正在与其他项目竞争,这些项目资金充足,资金充裕。我说的是风险投资资金,七位数的金额。那么你将如何竞争?你需要有一些非常有创意的想法,一些真正不同的东西才能以这种方式成功,要么不借钱,要么向银行借钱。因为向银行借钱不会给你100万美元。比如说,你可以借5万美元,10万美元。这不会让你持续一年。
这不再是90年代末了,当时任何可能的想法都会像木偶一样被扔钱。哦,那是另一回事,对吧?钱被扔了,但首先,不是银行,而是风险投资公司。而且,一般来说,你从风险投资公司获得资金主要有两种情况。一种是……
你的想法与当前的炒作非常相关,每个人都想加入。或者你有能力证明这将在相当长的时间内变得有利可图。因为大多数项目需要数年,有时甚至数十年才能真正开始产生超过投资的回报。
在第一类中,你需要加入一些炒作,对吧?然后钱就会不断流入。例如,今天的炒作就是人工智能,对吧?如果你想获得风险投资资金,要么证明该项目将很快带来回报,要么你就在其中一个炒作中。我要把这个抛出来,因为我认为这可能是一个炒作。
Laravel,一个PHP框架最近以5700万美元的A轮融资。我不知道估值是多少。让我们考虑一下。一个PHP框架。它可以是一个Go框架。它可以是一个Ruby框架。它可以是任何东西。5700万美元。你会期望给予他们这笔钱的风险投资公司什么?你会期望从这笔投资中获得多少钱?
5700万美元的投资。我的意思是,我们说的是5倍,10倍。所以你说的至少是5亿美元,甚至更多?是的。你认为一个PHP框架能带来这么多钱吗?将会发生什么?这甚至将如何获利?你会出售支持合同吗?我的意思是,我也不是。但问题是……
我很高兴他们。我很高兴他们能够筹集到资金,但是,我不知道他们将如何运作。支持合同几乎从来都不是获得预期资金的方式,如果你接受风险投资资金,仅仅是因为它们无法扩展。想象一下,你将如何赚钱?好吧,让我们慷慨一点,假设不是5亿美元,而是2亿美元。或者说每年1亿美元。
那是几年后在那笔资金之后的一个合理的预期。每年通过支持获得50万美元几乎是不可能的。现在,当人们说,对不起,我说的是50万美元吗?1亿美元。这几乎是不可能的。你可能会通过支持获得1亿美元……
你将需要大约数百人,对吧?因为你的收费和可计费的小时数是有限制的。支持不是一个好主意。如果你想自己创业,支持实际上是一个非常好的主意,对吧?我不是说没有风险投资资金,没有投资回报的10倍。那么支持可以,或者某种形式的咨询可以是一件伟大的事情。
当你接受风险投资资金时,情况并非如此。它不会带来回报。当你处于中间阶段时,它可能很好,是的。许多初创公司都是从支持合同等等开始的,但最终这需要改变。好吧,我在考虑框架的产出是什么。也许框架有一些企业功能,但让我猜猜。有多少企业实际上使用PHP作为其核心开发语言?
可能很多。我不太熟悉PHP,但我敢说它可能是。我不会惊讶于在企业中,它可能是第三或第四或第五常见的语言。远远落后于前三名,我敢肯定,对吧?但它相对较大。但我对Laravel不够熟悉,不知道,对吧?好吧,再说一次,回到你的数字,假设它甚至每年1亿美元。
你不会从周末在PHP上工作的某人那里得到这个。不。那不是你的核心目标受众。再说一次,我没有查看他们将如何做到这一点,但我现在只是在推测,我不知道还有什么其他方法可以做到这一点,除非去追逐企业。最重要的是,开发人员本身的工具,在这种情况下,当我提到开发人员时,我的意思不是你编写代码,而是我的意思是最终用户开发人员或……
无论你如何称呼它,对吧?在这种情况下,从事PHP应用程序工作的人,他们可能是最糟糕的买家。向开发人员销售非常非常困难。向同一组织中从事其他工作的人销售可能更容易,人数少100倍。安全、基础设施,其他任何东西。向开发人员销售,即使他们是公司中最 numerous 的人,也仍然非常非常困难。
开发人员工具很难付费,特别是自Eclipse以来,我们可以说自Eclipse以来?Eclipse可能是第一个让每个人都说,“我不必再为我的IDE付费了”的工具之一。我的意思是,这并不意味着它很好,但它是免费的。有一些成功案例。JetBrains当时是一个成功案例,我希望如此。我没有查看他们的财务状况,所以我不能确定,对吧?
Docker可能是另一个也针对开发人员的成功案例。但这些更像是例外而不是规则。让我们回到WordPress的故事,高层次的,因为我没有仔细阅读。但据我所知,提出WordPress的Matt起诉了一家公司WP Engine,因为他们对该项目的贡献不够。
我不会再讲这个故事了,因为我从那以后只是在编造东西。但据我所知,这是核心内容。但这并不是一个独特的故事。我听说过很多开源开发人员,当一家公司使用他们创建的软件而不付费时,他们会生气,即使他们已经使用MIT或Apache甚至GPL许可证许可了它。但这是他们的权利,对吧?谁的权利。
不付钱。正确。如果它是宽松许可的,那么它是完全合法的。所以我必须责备,我是在打引号责备,开源开发人员已经制作了软件,如果你期望获得回报,你应该从一开始就出售它,而不是开源它。有一家公司……
在WordPress背后,是什么,WordPress.com,对吧?好吧,Automattic,是的。Automattic,没错。而且他们赚的钱并非微不足道。他们正在面临竞争,竞争对手的投资可能少于他们,但他们赚的钱并非微不足道。所以这不是开源对抗公司。在这种情况下,实际上是公司对抗公司或公司对抗公司,对吧?其中一家公司……
也许不是官方的,但在实践中控制着开源,同时也是主要的贡献者。这是一个难题,因为这家公司正在为这个开源项目付出血汗。当有人走进来并说,“你知道吗,我也可以从这个项目中赚钱,而无需投入太多”时,这非常令人沮丧和具有挑战性。这是故事的一方面。但另一方面是……
第一家公司控制着这个项目,决定什么进去,什么不进去。很少有这样的项目。我可能完全错了,所以听众们,如果我错了,请告诉我。但在WordPress目前所处的这种情况下,大多数项目都是开源的,但也受到一家公司的严格控制。这两个故事都有好坏两面,对吧?你如何有效地贡献一些东西……
我不是在谈论核心项目,不一定是WordPress的插件。当这些贡献受到控制,并且一家公司决定什么进去,什么不进去时,你如何以一种能够推动你的业务发展的方式做出贡献?当它不是真正意义上的开源时,因为没有哪个项目是真正意义上的开源。但我认为,我们需要开始思考的关键点是,
最接近开源的项目是那些位于基金会的项目。然后我们有基金会充当仲裁者,找出项目如何前进,而不是一家公司。我现在不是在谈论WordPress。我是在泛泛而谈,对吧?由公司拥有的项目与位于基金会的项目之间存在很大区别,即使它是开源的。巨大。而且我觉得,尤其是在贡献方面,我们将看到……
越来越多关于这方面的讨论,即项目应该进入基金会。我的意思是,我与CNCF合作很多,对吧?但是让我们改变一下。比如说Apache基金会,对吧?将WordPress放到Apache基金会。我认为这将是第一步,然后我们再讨论它。我同意。我想到了另一个不是开源的项目,而是公共领域的项目,那就是SQLite,或者无论你如何发音。我今天听说实际上是SQLite.com。
像陨石一样,SQLite。好的。我用这个。其中一个。其中一个。足够接近了。但我们知道我们在谈论什么。有三个人在从事这个项目。他们不接受。所以它是源代码可用的。它是公共领域的。但他们不接受补丁。他们不接受贡献。他们确实接受安全漏洞报告,但他们不会接受你的代码。
对我来说,这是我最近也听到的短语,仁慈的独裁者终身制。BDFL许可证,缺乏更好的术语。所以作为一个仁慈的独裁者,你有一个或非常少的人完全控制着像Linux这样的东西。Linus允许所有内容进入吗?我不这么认为。是的,但Linus可能是……
在Linux生命周期开发中,无论你如何称呼它,最重要的人。但Linux位于基金会中。如果Linus和其他人之间存在冲突,或者其他人复数,那么基金会可以解决这个冲突。不一定是总是以最好的方式等等,但有一个半中立的组织可以作为仲裁者。这是一个并行的例子。比如说……
像我们过去看到的许多不同的例子一样,不是最近的过去。比如说,Linus作为一个人,决定更改Linux的许可证。你认为这可能吗?我认为任何事情都是可能的。理论上,是的。但我试图说明的是,Linus并不拥有Linux。Linux基金会拥有Linux。
或者Linus Co.,或者任何他的公司,也不拥有Linux。这就是我想说明的重点。项目总是有所有者,所有者可以是基金会或公司。那么,作为开源项目的消费者,我需要这个吗?我是否真的需要关注这个问题?我是否真的需要关注我正在考虑运行的软件的真正所有者?
这不一定是唯一需要关注的事情,但谁拥有该项目绝对是重要的事情之一。假设这对你的公司来说至关重要,对吧?或者你正在做的事情。有些项目,嘿,我正在使用这个库,它将我的字符串缩进到右侧。我不在乎是否发生了什么,我可以很容易地重写它,对吧?
但是像Linux这样的东西,我只是在说最大的一个。是的,你的未来作为一家公司取决于它。你应该仔细选择。所以你说的意思是,我不应该在周末出去,找到所有我想使用的开源产品,或者让我们说得更糟,找到所有我想安装到我的JavaScript应用程序中的不同NPM模块,然后开始使用它们,因为它们明天还会在那里,对吧?
是的,这取决于。好吧,让我尝试找到一个更好的例子。既然你正在谈论库,我可能会说一些愚蠢的话,因为我即将谈论Java,我不再那么熟悉了,但是选择是否使用Spring是一个重要的决定,以后可能会产生非常昂贵的后果。选择是否在Java中使用一个库,例如……
例如,对字符串进行格式化,对吧?诸如此类的事情。这并不重要。你可以犯错。没关系。好吧,你可以犯错,但你更有可能因为从Apache基金会提取库而犯错,因为没有其他那么多库可以做你刚才说的事情。没错。所以让我们谈谈这方面的另一面。作为开源开发人员,我不希望我的软件……
进入基金会,因为我认为基金会。这不是达伦在说话。这是开发人员在说话。我认为基金会是由委员会控制的。他们会告诉我该做什么以及如何去做。如果我不喜欢,我会带着我的玩具回家。首先,这是不正确的。基金会,一个你唯一工作在上面的项目,并且该项目落入基金会,这是不公平的。
基金会的人会花无数的时间告诉你该做什么。他们不会。你将需要满足某些规则。是的。当其他公司开始对该项目感兴趣时,人们就会开始告诉你该做什么。所以你说的,Arjen,是对的,但这会晚一些。Spring,我之前提到的基金会,我想它可能是,我不确定。
那么,是的,有很多公司对它有既得利益,对吧?但是你开始一个项目,你把它捐赠给某个地方。不是基金会会花时间告诉你该做什么。不,这会晚一些。好吧,我只是在想,我甚至都不想要被告知该做什么的机会。这很公平。这是公平的。但这意味着我需要提前做出这个决定。如果我最初的想法是,哦,我会把它放到基金会里,我会得到所有这些帮助。让我告诉你一些事情。你可能会得到一些帮助。
但你不会得到神奇级别的帮助。哦,不。需要明确的是,对吧?如果你刚刚启动了一个项目,并且你认为这个项目对你有未来,作为一个人,有时不把它放到基金会里是有道理的。你想拥有那些东西。我完全理解。基金会毫无意义,除了……
你的项目在基金会中的采用率可能会高得多,因为营销,这或那。但对你来说,作为项目的拥有者,把它放在那里是没有意义的。但对我来说,作为用户,只要我有好的替代方案,选择不在基金会中的东西是没有意义的。这就是重点。基金会对最终用户的好处多于对所有者的好处。如果有什么不同的话,所有者会损失。
他们会损失,但随后他们会获得收益,因为如果它在基金会中,我有点把它看作音乐或书籍。如果我在基金会中,我现在有了以前没有的潜在分销渠道。哦,是的。而且,通常情况下,这并非总是如此,对吧?如果你在基金会中,你将获得的贡献和真正帮助的数量可能会高得多。
比如说,我在一家公司,无论我现在在哪家公司,除了我们认真从事和工作的事情之外,我们有兴趣,比如说,为Kubernetes做出贡献。我们有兴趣这样做,我们也这样做。现在,如果Kubernetes不在基金会中,那么在我们开始投入投资之前,我们会三思而后行……
投入资金,因为即使有人被指派来做这件事,这仍然是需要花钱的。我们会三思而后行,因为我,作为一家公司,我不会投资一个不在基金会的项目,因为我的投资是一个棘手的问题。我可以投入一百万工时到你的项目中,你之后可以说,“你知道吗,我要更改许可证,你不能再使用了”。
这将是我作为一家公司做出的一个非常愚蠢的决定。这就是为什么基金会中的项目往往具有更高的贡献率,因为公司更愿意去那里。有什么理由让开源项目不应该进入基金会,除了……
它很小,我想完全控制它。不,如果它很大,同样,我所说的内容大部分是我作为用户,以及该项目的增长速度等等。但作为该项目的拥有者,主要原因是我不想放弃它的所有权。这就是主要原因。所以你想保留你所有的玩具?是的,这是我的项目。你会到处看到这种情况。
我们与公司更改许可证的问题在于,他们拥有它,并且他们认为从拥有相反的项目中获益。他们建立了业务,然后也许在稍后的某个时间,有人会威胁到这项业务,他们可以说,你知道吗?我不喜欢你。你不能在这个相反的项目之上做生意,因为我要更改许可证。我坚信
从法律上讲,你可以更改任何你想要的东西,包括许可证。但从道德上讲,我认为任何东西的许可证都不应该更改为更不宽松的。这是我的规则。你想改变,使其更宽松,而不是更严格。你之所以能够做生意是因为它很宽松,现在你不喜欢它了?好吧,你被允许这样做,而我也被允许不再使用你。
你给了我们这集的标题:没有哪个项目是真正开源的。这就是我们将要思考的方式。那么你认为呢?你会根据GitHub上最热门的东西来做出选择,如果它不在基金会中,就直接拿来用吗?你意识到那里有什么风险吗?你的法律部门意识到那里有什么风险吗?前往Slack工作区,转到第292集,在那里留下你的评论。
我们希望本集对您有所帮助。如果您想讨论或提问,请与我们联系。我们的联系信息和Slack工作区的链接位于devopsparadox.com/contact。如果您通过Apple Podcasts订阅,请务必在那里留下评论,这有助于其他人发现此播客。立即注册devopsparadox.com,以便在我们发布最新剧集时收到电子邮件。
感谢收听DevOps Paradox。