“开源”并非“自由软件”

将“开源”与“自由软件”混为一谈会损害自由软件。
842 位读者喜欢这篇文章。
Open organization buildings

Opensource.com

在开源领域,使用诸如FLOSS(自由/开放源码软件)之类的术语很常见,并且随意地将开源自由软件这两个术语混淆使用,它们经常被互换使用。如果我不承认我也曾犯过同样的错误,我将是失职的。我不会再这样做了——或者至少我会尽量不这样做——原因很简单:互换使用这些术语对自由软件和开放媒体倡导者(可以理解为“反DRM”)的目标来说是危险的。继续这种做法会破坏自由软件和相关运动的基本信念。

自由软件关乎自由

自由软件是一场社会运动,没有任何商业利益的暗示——它存在于宗教和哲学的领域。自由软件是一种生活方式,具有强烈的道德准则。自由软件精神的核心是,每个人都应该能够使用、修改和分享,但有一个明确的限制,即你不能在不分享的情况下进行修改。这就是“自由软件是一种病毒”梗的由来,这使得GNU GPL对于某些商业人士来说尤其可怕。拥抱自由软件也是拥抱分享文化和强制分享,这对大多数企业来说都太过分了。自由软件的目的是破坏现有专有Unix供应商的秩序,并强制执行分享原则。当涉及到倡导这种自由时,如果不承认为解锁设备、开放媒体格式、网络中立性以及免受私人和政府监视的持续斗争,就很难拥抱自由软件文化和哲学。在本文的其余部分,我将使用“自由软件”作为所有这些运动的简写。

开源完全关乎其他事情:供应链效率

十年前,当我写没有开源社区时,我提出了一个问题:“为什么开发人员要发布开源代码?” 事实证明,从运营的角度来看,这样做有充分的理由。

拥抱开源就是拥抱一种利用去中心化供应链的开发模式。以前,专有供应商会在内部控制整个软件供应链,而开源模式直接驳斥了这种方法。开源模式是关于使用多个来源的通用组件,以在创建基于软件的产品和服务时实现更高的效率和敏捷性。

最初,开源项目确实大量使用GPL许可的软件,因为GNU项目比第一个Linux内核早了大约10年启动,并且至少比开源这个术语的创造早了15年。这种先发优势的影响是,当开源作为一个商业友好的概念开始流行时,已经有大量的GPL许可代码——更不用说完善的共享文化了。

现在出现了一种新的开源项目从copyleft GPL风格的许可证迁移到“自由”的Apache风格许可证的趋势,这不应该让人感到惊讶。回顾过去,这是不可避免的。在一个由商业利益而非哲学定义的世界中,强制共享并没有真正的意义。当然,有人可能会争辩说它确实有意义。毕竟,许多公司已经围绕GPL许可的GNU和Linux代码形成了盈利的生态系统。但让我们假设大多数商业人士不同意强制共享这种说法。

在Apache风格的开源模式中,开发人员可以选择是否发布他们的修改。他们经常这样做,仅仅是因为他们已经意识到参与开源生态系统的好处——但也有很多人有时不这样做。在一个开源的世界里,这根本不重要。如果开源开发的目的是优化您的供应链和规模经济,那么谁会在乎分享呢?

开源的胜利

重要的是要记住,在大教堂与集市中,埃里克·S·雷蒙德专门将开源模式称为更优越的模式,这是伟大文化鸿沟的开始:开源完全是关于更好的软件和“只要有足够的眼睛,所有的错误都是浅显的”;而自由软件是关于通过分享实现开明的生活。开源是一种更优越的模式的观点最终被证明是基本正确的,因为开源已经成为技术创新的首选模式。如果使用得当,开源流程可以为供应商提供竞争优势,而开源原则可以使项目更有效地运作。

具有讽刺意味的是,正是这种令人印象深刻的开源胜利——或者至少是我们对它的解读——对自由软件构成了真正的威胁。当这些术语互换使用时,就没有细微差别或区分的空间。因此,开源的胜利变成了自由软件的胜利,而没有丝毫疑问这是否确实如此。

但是自由软件真的赢了吗?让我们考虑一种替代方案,即自由软件的胜利看起来与开源非常不同。如果开源的胜利看起来像开源生态系统中更高的效率和更多的创新,那么自由软件的胜利看起来像什么?

如果自由软件“赢了”

如果我们从自由软件是关于分享的哲学和围绕它建立的道德准则这个前提开始,那么如果自由软件的哲学与开源原则一样成功,那意味着什么?如果我是对的,它们是不同的,那么这种哲学和道德准则的成功肯定会以不同于我们现在看到的方式体现出来。

在一个自由软件获胜的世界里,锁定的云架构会占主导地位吗?大多数手持设备会是专有的并且难以更改吗?在任何平台上使用任何服务都会很困难吗?我们会如此轻易地将我们的隐私交给媒体公司吗?那么,在一个开源高度成功的世界里,为什么所有这些都是真的呢?如果我们宣布开源已经获胜——而且我认为这样做是安全的——我们怎么可能宣布自由软件也已经获胜了呢?这就是术语混淆具有积极毒害作用的地方。通过互换使用它们,您正在消除世界各地自由软件倡导者的热情,他们希望确保在云中的共享、网络上的自由、平等的技术访问以及为每个人改进的隐私。

当自由软件倡导者发声时,许多开源支持者宁愿他们闭嘴走开。几个月前,我参加了一次谈话,我提到我们需要教育人们了解开源原则。我的错误。看看将这两件事混淆会给我们带来什么?一位技术主管回应说:“我们真的还需要那样做吗?” 一些开源支持者的印象是,因为开源已经获胜,“自由市场”会处理好一切,我们不必担心这些哲学性的东西。因此,没有必要就标准、隐私和自由软件向政府游说,因为,嘿,市场看不见的手正在引导我们朝着正确的方向前进。由于市场趋势导致开源的成功,因此对于推动技术文化向前发展缺乏足够的深思熟虑。

此外,我忍不住指出,这种类型的神奇思维与弗朗西斯·福山在1989年从历史的终结与最后的人中提出的理论非常相似,即世界各国的社会和民族国家正不可避免地朝着更大的自由和民主方向发展。世界三分之二的人口情况如何?

自由软件本身很重要

我们冒着失去整整一代人的风险,让他们陷入租赁文化,实际上不拥有任何数字内容或控制我们可以与我们的媒体和设备交互的方式。通过不拥抱自由软件的理想,我们冒着破坏自由软件倡导者所做的必要工作的风险。自由软件的理想需要一种修改和共享的文化来控制我们的企业霸主,这是我们在现代云、网络和物联网平台上迅速失去的东西。如果我们可以强制执行自由软件原则,坦率地说,世界将会变得更美好。我不必使用特定的平台,这样我才能访问我付费的技术服务。世界各地贫困的学生不会面临更多的教育机会障碍。代表性不足的社区将拥有更多的权力来控制自己的命运,并创建成功的社区,他们可以将其用作对世界其他地方的反击力量,而世界其他地方宁愿维持现状。

我们都应该努力确保我们拥有设备上的技术,我们拥有我们的信息,并且我们可以捍卫我们的隐私。谁拥有控制我们生活的信息,谁就拥有我们思想的途径和未来垄断的机制,这确实具有真正的经济影响。

好吧,我想我毕竟无法摆脱经济论点:忽视自由软件的哲学和理想,并冒着在表达、思想以及商业自由方面受到限制的可怕未来的风险。

标签
JM head shot
John Mark Walker是房利美的开源项目办公室主任,也是一位长期的开源社区、产品和战略专家。他创立了开源企业网络(OSEN),并且是Glyptodon, Inc.的顾问。

39 条评论

开源在“自由软件”失败的地方取得了成功。开源和“自由软件”之间的区别实际上是自由主义和共产主义之间的区别。对于开源,自由是一种实现目的的手段,目的是建立一个充满活力的生态系统,每个人共同努力构建伟大的软件基础设施。对于自由软件人士来说,自由本身就是目的。理查德·斯托曼是一个左翼怪人,人们竭尽全力避免他,这对任何事情都没有帮助。

你关于自由主义与共产主义的评论完全不靠谱。自由主义从来不认为自由是一种实现目的的手段。自由主义关注自由本身作为一种道德价值,这就是为什么许多自由软件运动的积极支持者是自由主义者。当然,RMS不是自由主义者,所以显然自由软件运动比仅仅自由主义者更大。但是断言自由软件是共产主义简直是无稽之谈,即使有一些共产主义者支持自由软件。自由软件实际上得到了广泛的政治意识形态的支持。

回复 IGnatius T Foobar (未验证)

这与我的看法一致。我对于自由意志主义的不满在于,它将自由的形式置于自由的精神之上,因此似乎对市场限制和国家资助的社会项目采取了一种义务论式的厌恶,即使这些限制和项目最终被证明可以更好地发挥作用并提供更大的福祉。

无论如何,我以与本文作者相同的视角看待开源。也许它是一个复杂的混合体,既有善意的参与者,也有一些人只是为了炒作和商业利益,对其他任何事情漠不关心。然而,开源的净平衡就像一艘漂浮不定、没有真正承诺的船,与自由意志主义运动没有任何相似之处。

回复 wolftune

Eleanor,我喜欢你表达对自由意志主义不满的方式。这完全符合我的感受,我要借鉴一下。

回复 Eleanor Suarez (未验证)

“对于开源来说,自由是一种手段,目的是建立一个充满活力的生态系统,每个人都共同努力构建伟大的软件基础设施。”

这个论点的问题在于:本文中使用的“开源”可以用来阻止一个充满活力的生态系统,因为改进不一定必须分享。宽松许可证之所以受欢迎,部分原因是它们允许公司利用他人的工作,在其之上构建封闭的生态系统。

回复 IGnatius T Foobar (未验证)

“自由”软件是一个谎言。这是一个营销标签,被霸凌者用来恐吓其他人,强迫接受他们不切实际和反社会的信仰。它与自由无关。

我不同意。自由软件是关于确保授予下游人员的自由能够一直传递下去。自由软件许可证实际上与宽松许可证相同,只是有一点:你没有剥夺他人自由的自由。

回复 Sarah Ryzecka (未验证)

谢谢,VM。我完全同意。我没有攻击任何人,但我确实具有对抗性。OP评论一开始就说“自由软件是一个谎言”,而我(疲惫但仍然知道文字无法清晰地传达信息)只是想直截了当地指出OP是多么不具建设性和对抗性。但我很高兴看到你这样回复我,这很到位。

回复 vmbrasseur

感谢您花时间了解开源和自由软件之间的区别,特别是以一种更广泛的人群更容易理解的形式分享了一段文字,如果他们愿意花时间阅读的话。

友情提醒,我们喜欢Opensource.com上的热烈讨论/辩论,只要它们保持尊重并且不违反我们的使用条款/社区行为准则:https://open-source.net.cn/legal

“自由软件精神的核心在于,每个人都应该能够使用、修改和共享,但有一个明确的限制,即你不能在不共享的情况下进行修改。”

这是真的吗?我的理解是,我可以自由地修改自由软件供个人使用,而且想修改多少就修改多少,而没有任何义务分享这些修改。但是,如果我选择共享软件的 *修改版本*,我必须反过来共享修改后的源代码。是这样吗?

哦,对了 - 应该说,你不能在不以源代码形式共享你的更改的情况下修改和重新分发。至少在GPL v2和v3定义“分发”或“传递”软件的范围内是这样。

回复 bbehrens

谢谢。这很有帮助。而且我怀疑这在一定程度上缓和了自由软件“强制共享”的观点,因为这是一个没有强制共享的特定案例。这可能是一个有趣的支点,人们可以在为自由软件以及/或企业辩护时依靠它。

回复 johnmark

实际上,自由软件作为一个概念甚至没有推动著作权保护,即 *当你* 重新分发时,每个许可证都强制共享。这是一种 *策略*。自由软件认为,任何人在使用软件时都不应受到其他人控制软件的限制。

所以,是的,你应该能够修改,并且没有要求分享你的修改(这将是一个非自由的要求)。而且,像BSD-3这样的宽松的、容易被欺负的许可证本身也被完全尊重为自由软件。 *如果* 每个人在发布衍生品时都保留该许可证,那么自由软件运动中的任何人都不会对此感到不快。问题仅在于衍生品以专有条款发布时。这与自由软件背道而驰。因此,自由软件并不是说当您与他人共享软件时,就 *必须反过来共享修改后的源代码*,因为许可证要求您这样做。相反,自由软件只是说 *如果* 你有一个合法的许可证 *没有* 这样的要求,那么利用你的合法权力跳过分享源代码是不道德的。

简而言之:自由软件认为著作权保护和宽松许可证都可以,但宽松许可证给你 *法律上* 的权力去做一些不道德的事情,而你永远不应该做。因此,他们推广合法阻止不道德行为的许可证是可以理解的。但是,如果某种行为在法律上允许但从未发生,那也没关系。

回复 bbehrens

你是对的。只有当作品或其衍生品被“传递”给其他人(使用GPL语言)时,GPL才强制共享。完全允许私人使用和私人修改,没有人可以强迫你发布甚至没有发布的更改的源代码。AGPL更进一步,它认为通过网络服务的使用等同于发布/分发目标代码。

总而言之,GPL许可证系列背后的目的不是最大化源代码的披露,而是要确保,在可能的范围内,程序及其所有衍生品的用户都能获得完整的权限集。

作为对开源持不可知论立场的自由软件支持者,我同意文章其余部分所说的。这种区别很重要。

回复 bbehrens

我不得不礼貌地不同意这篇文章的前提。我们使用诸如FOSS或FLOSS之类的术语来混合自由软件和开源的原因是(我认为),我们大多数人认为开源与自由软件一样,都是关于自由的。

供应链效率只是让人们接受这个概念的一种手段。这是一种营销策略。一旦被吸引,人们就会明白这实际上是关于自由的。我实际上认为开源没有任何效率。

我没有通过使用开源来省钱。当然,大多数开源软件是免费的,但它也会产生支持成本(无论是内部还是外部提供商(如Red Hat))。

开源的供应效率不高。我仍然必须等待生产者发布新版本。

它不会给我带来免费的劳动力。当我以开源形式发布自己的产品时,我不会自动让人们免费为它工作。而且当我确实获得免费劳动力时,我必须通过支持这些人、通过提供他们需要的功能来回报他们,以便他们能够做出贡献,等等。

不,我真正从开源中获得的是与从自由软件中获得的一样的东西:独立性!

如果项目的所有者停止支持它,我可以雇用其他人来接管,或者自己做。

如果存在安全问题,并且生产者修复得太慢,我可以自己修复它。

这些事情并不能使我的业务更有效率,但它们确实使其更加独立。这一切都与自由有关,而与效率无关。

问候,eMBee。

我应该补充一点,Android在手机上的主导地位并不是开源的胜利。所有Android开发都在谷歌内部进行。手机制造商使用Android是因为它是免费的,但他们中的大多数并没有从大多数代码附带的开源许可证中受益,因为谷歌实际上不允许手机制造商进行任意更改。

包含Google Play和其他Google应用程序的Android(这也是大多数手机制造商分发的Android)既不是自由软件,也不是开源软件!开源许可证的唯一受益者是谷歌本身。

请告诉我,这怎么能算是开源的胜利呢?

开源和自由软件都没有胜出。我们还有很长的路要走。

问候,eMBee。

回复 eMBee (未验证)

完全正确!

我同意独立性是开源(以及在某种程度上,自由软件)获得发展的主要原因。

我发现具有讽刺意味的是,在某些方面,自由软件搭了开源的可视性/成功的便车。

我个人认为John Mark(和其他人)要求我们区分这两个运动是可以的。但是,我更感兴趣的是这两个概念共享的共享/社区建设的共同方面。开源已经证明,在很多情况下,这是一种更有效和高效的软件构建方式。

John Mark 经常指责我是个“开源实用主义者”,我很高兴接受这个称号,因为我认为*绝大多数*工作都是在自由软件<->专有软件光谱的中间地带完成的。 我相信开源更接近这个光谱的中心。

回复 eMBee (未验证)

我一点也不觉得这很讽刺。 这个术语最初是由自由软件倡导者创造的,他们想找到一种更好的方法来推广自由软件。

我记得至少 Bruce Perens 几年后说过:“现在是再次谈论自由软件的时候了”,这在一定程度上表明他一直是一位自由软件倡导者,即使他帮助创造了“开源”这个术语,并且他也期望自由软件能从“开源”这个术语中受益,但他意识到这并没有达到他想要的那种程度。

问候,eMBee。

回复 作者 guyma

我个人很喜欢这篇文章,我一直在想什么时候会有人在(有点讽刺的是)opensource.com 上解决这个问题。
但是,如果我们将自由软件与强copyleft许可(GPL 等)联系起来,并将开源(自由软件的子集)与宽松许可(Apache、BSD、MIT 等)联系起来,那么我认为这两个方面*确实*都在促进自由。 然而,它们关注的是两类不同人群的自由:前者关注用户,后者关注开发者。 强制共享变更旨在保证用户永远不会遭受厂商锁定,而例如 BSD...嗯...看看 Apple 的 OSX 就知道了,呵呵。

“前者关注用户,后者关注开发者”--并非如此。 这取决于哪些开发者。 如果开发者 A 使用宽松许可的自由来关闭代码,那么开发者 B 将失去对宽松许可的自由以及(更新版本的)代码本身的访问权限。

回复 作者 PsynoKhi0 (未验证)

似乎文章和评论中有很多文字和努力都在贬低自由软件的想法。 如果有人想免费提供他们的软件,那是他们的选择。
“开源”一词已经变成了一个神奇的词,就像食物中的“全天然”一样。 然而,所有开源并非都一样。 在许多情况下,专有公司会将项目的某些片段作为开源发布,以获得声誉并可能获得免费贡献,但这只是仍然封闭的更大项目中的一部分。

我也为弗朗西斯·福山感到难过,他现在似乎到处都被虐待。 当你被写开源的人击败时,这一定很糟糕。

回复 作者 Greg P

事实上,尽管由于 OSI 放弃了该商标,它不再具有法律效力,但“开源”有一个非常具体的定义,不像“全天然”。

此外,“不计成本”与此无关,因为“自由”意味着“自由”,而不是价格。

你说的对,有些软件是部分开放的,但这也可以看作是某些软件的部分自由化。 虽然这违背了软件自由的道德规范,但自由化的部分仍然是合法的自由软件。

回复 作者 Greg P

实际上,在我参与的 FLOSS 世界中,free 的确意味着免费,没有任何成本,甚至没有任何隐藏成本。 就像免费的啤酒一样。

回复 作者 wolftune

毫无疑问,但这与其他人参与的 FLOSS 世界几乎无关紧要,在该世界中,与你不同的是,自由软件的创始人和主要组织对自由软件有非常不同的定义。

回复 作者 Greg P

抱歉 Greg,你的“就像免费的啤酒一样”的说法引起了我的注意。 特别是有一种开源许可证,许可方(可能是在开玩笑)要求,如果他的软件的任何用户在酒吧里遇到他,他们可以请他喝一杯。

基本上,除非你最近抢劫了一家酒类商店,或者你有很棒的自制啤酒 [而且这可能不是免费制作的] 否则啤酒不是免费的! :-)

回复 作者 Greg P

当有人试图区分“自由软件”和“开源”时,我总是要抱怨。

如果我们将“开源软件”定义为符合《开源定义》(OSD) 的任何软件,并且我们将“自由软件”定义为符合“四大自由”要求的任何软件,那么很容易将 OSD 的 10 项要求映射到自由软件的四项要求。

我在 2009 年做过:https://www.adventuresinoss.com/2009/05/07/fauxpen-source/

因此,根据定义,开源软件就是自由软件,反之亦然。

自由软件定义的问题在于那些讨厌的词“这样你就可以帮助你的邻居”。 听起来像共产主义,对吧? 那些自由软件的极客一定只是一群反商业的嬉皮士。

但是......当我看到人们试图在两者之间做出明确的区分时,它通常是“fauxpen source”的前兆。 首先,他们试图将自由方面从开源中分离出来,然后当他们试图从 OSD 中删除一个或两个自由时(例如创建和分发衍生作品的权利),他们会躲在“好吧,你仍然可以看到源代码,所以它一定是“开源”的,对吧? 这不是“自由”软件。”

错误。

我的默认设置是说“开源”(反正我是在 opensource.com 上发布的),我的意思是软件因为符合 OSD 的要求而更好。 但在关注事物的自由方面时,我也会说“自由和开源软件”或“自由软件”。

我不是说 John Mark 是故意想做出区分,他在他的文章中提出了一些很好的观点,但我们应该始终明确两者之间没有实际的区别 - 更多的是意图问题。

谢谢! 我很高兴其他人也指出了这个显而易见的观点。 我至少已经这样想了十几年了。 我们能否停止争论并一起走向统治世界? ;-)

回复 作者 Sortova

如果开源赢了……那么所有 OSBNFS(开源但不自由软件)项目和/或产品在哪里?

你不必看得太远:很可能,你自己的手机是开源的,但不是自由软件。

事实上,Google 的所有服务都建立在开源的基础上,但你能控制你的数据以及它们的处理方式吗? Google 可能会发布大量代码和研究论文,但你的私人信息是他们的。 而 AGPL? 绝对不可能。

糟糕物联网如此糟糕的原因之一恰恰是因为开源。 过去我们常常嘲笑 Windows 的安全性很差,当我们看到运行 Linux 的新设备出现时,我们感到很高兴。 至少 Windows 有它的 SP2。 现在我们被持续攻击下的永久零日漏洞所包围。 即使几乎每个组件都是使用开源软件构建的,从引导加载程序到应用程序堆栈,我们也有固件锁和粗心大意,使得这种开放变得毫无意义。

如今,几乎每个设备和几乎每个在线服务都至少有一个开源组件。 即使是 Windows 也是部分开源的,因为 Microsoft 现在已经开源了如此多的组件。 几乎没有用户真正被赋予了 4 项基本自由,尤其是自由 1 的一部分:更改程序使其执行你希望的操作的自由。

回复 作者 Miguel A. (未验证)

主要问题是很多人认为所有自由软件都是在 copylefted 许可下分发的(如 GPL),但事实并非如此。 有些自由软件是在非 copylefted 许可下发布的,因此如果你不想,你不必在相同的许可下发布你的修改版本。 如果你想让你的版本保持自由软件,你只需要遵守自由 0、1、2 和 3,无论你选择什么自由软件许可;就是这样。

我不得不说,从我的角度来看,我完全同意开源不是自由软件,并且我强烈倾向于在许可型软件中不强制执行任何自由/copyleft。 我试图明确表示,开源的、许可型软件不会询问你的工作是否是派生的、传递的或分发的,你可以随意处理,而且对于任何这些条件是否是自由的,也没有什么含糊之处。 我不明白自由的、copyleft 许可如何降低租赁文化的风险 - 大量的 copyleft 软件为云提供支持,并且数据仍然经常被一个小团体封闭/拥有。

我认为生态系统比自由软件更大,我们欠自由软件运动很多,而那是我开始的地方。 然而,我做出了一个非常自觉的选择,我认为其他人也做出了,即转而为我的工作使用更简单、更宽松的开源许可。 我个人想要一个更开放的世界,但我没有太多时间参与法律辩论、许可证兼容性和 copyleft 许可的细微差别。

让我们看看关于开源是为了提高供应链效率的前提。 用英国的一句话来说,我不得不说那是胡说八道!

我在思科系统公司(Cisco Systems)的供应链部门工作了 10 年,我的职责是管理来自工程部门的所有进入供应链的软件(商业和开源),并确保许可已得到遵守。

在这次辩论中很容易被忽视的几个问题对于像思科这样的大公司来说是有问题的,这些公司已经投入了数百万美元来构建全面的合规流程。 这个过程是跨公司的,包括数百人,开发人员、业务经理、律师、供应链专业人士和经理等等。 为什么? 好吧,在收购 Linksys 之后,有一个相当公开的原因。 那么,问题是什么?

短语“自由和开源”的认知和引起的困惑。 我们将重点缩小到开源,并培训了所有开源在知识产权方面由其他人拥有的原则,并且通过一种许可工具或另一种许可工具使其代码可以在没有初始成本(金钱成本)的情况下使用。

然而,在大多数情况下,使用该软件是有成本的。 正如之前已经提到的,分发通常是某些类型开源的触发因素,尤其是 copyleft,如 GPL。 此外,你还必须小心(即使使用 BSD 和其他更宽松的许可证),你必须遵循适用许可证中的义务,对于一般的非 copyleft 许可证,这要求你公开对作者的署名。

如果你使用GPL协议,你必须提供访问权限,无论是作为你发行版本的一部分,还是通过随你作品发布的声明,提供GPL源代码以及你对该代码所做的任何和所有更改。此外,如果你在开发产品时不够聪明,将你的知识产权与上述GPL或Copyleft代码混合在一起,那么也需要发布这些内容。那么猜猜看?你的工程部门现在必须在他们的同行评审、静态分析或其他开发流程中增加额外的步骤,以检查这些内容并证明他们已经这样做了。大多数忙碌的工程部门都不喜欢任何阻碍他们速度的事情。

很多GPL代码和其他开源代码都以混合许可而臭名昭著。这在使用商业许可时不是问题,因为你可以追究供应商对下游许可的责任。但使用开源时,你不能!这意味着一个以MIT协议许可的代码(例如)可能包含来自BSD或Apache风格的协议的代码。猜猜看 - 那么你就有义务遵守构成名义上的MIT协议的每一个协议中规定的要求,而实际上它并不是。

在许多情况下,商业供应商可以将开源分发到供应链中,Red Hat 和 Google 立即浮现在脑海,但如今所有商业供应商都以某种方式使用开源。很多人认为商业供应商的许可协议涵盖了开源的使用。它没有:-) 。如果你收到代码,你有义务遵守许可协议。所以你最好知道他们给了你什么。

关于“诱饵和转换”许可。这是一种声称是开源的许可,但不知何故会将你引入某种商业关系。这些是真实存在的,并且可能会付出高昂的代价。有时一个所谓的开源许可,例如当年Sun Microsystems首创的著名的社区源代码许可,允许有限目的的免费和开放使用,并且像GPL许可一样,包含一个需要商业许可的分发条款。值得庆幸的是,这些越来越少,但它们仍然存在。最流行的是类似于Android的,你可以获得一些基本的开源功能,但要获得更好的性能或更高的加密或其他一些“高级”功能,你需要付费。

通常,其中一些许可被放置在网站上的简单点击同意条款中,大多数人懒得阅读,但点击它们以便获得他们的软件!

最后(但这并非详尽的列表),使用开源的真正成本是所需的额外维护。一些开源社区在更新、错误修复和安全补丁等方面非常有效率,但有些则不然。当你开始使用开源时,你最好在你的工程部门建立一个合适的支持团队,并加入社区,以便最大限度地保持代码处于工作状态。你的另一个选择是去找财务部门,获得一些资金来聘请像 Red Hat 这样的公司来为你做这件事。

所以让我最后说一句,没有“无成本”的开源。存在“自由使用”的开源,你可以不寻求从它的使用中获利。就像生活中的任何事情一样,没有免费的午餐。

当你决定分享你使用开源所做的工作,并让其他人使用你的工作时,你就将供应链扩展了一个环节。现在,你对你的客户(无论是商业实体还是朋友)有义务提供受支持和符合规范的产品,并让他们了解他们的义务。你还有义务对你的供应链这样做,并维护你最初采用和使用代码时同意的条款。你这样做是理所当然的,毕竟,你使用的东西不是凭空出现的。

小心驶得万年船!

嗨。

这是我读过的关于开源/自由软件的最糟糕的文章。

根据定义,任何自由软件都必须是开源的。但是,例如,任何需要任何私有软件才能运行的项目都不能是自由软件,即使你可能认为它是开源的。

你可能认为我错了,但你可以阅读这个:https://open-source.org.cn/docs/osd

你可以清楚地理解,这与自由软件的四个规则相同。免费重新分发,免费修改,免费重新分发。自由软件处理软件的所有权,开源处理源代码的可用性,以便阅读或修改作为一种开发方法。

在我看来,自由软件通常是由FSF推广的,用于宣传目的的术语。通常是这样,因为“自由”这个词通常会吸引潜在的技术用户。宣传策略中固有一些开源方面,因为有一些软件工具既符合自由软件又符合开源软件的标准。例如 – LibreOffice。这通常会导致使用FOSS和FLOSS。必须注意的是,在自由软件的情况下,不能保证对源代码的访问 - 例如Skype客户端。

另一方面,开源确实提供了对源代码的访问,无论是受限于一小群人还是对公众开放。开源的重点通常是为理解源代码的人提供访问权限,以便维护或改进功能。这是OSI通常提倡的立场。

在开展业务方面,无论是在开源还是闭源中开发任何解决方案所需的工作量都是相同的。然而,企业在开源使用方面受益更多。开源软件是可扩展且易于维护的。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.