'开源' 不是 '自由软件'

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

Opensource.com

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

自由软件关乎自由

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

开源完全是关于其他的事情:供应链效率

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

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

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

现在,新的开源项目出现了一种趋势,即从著佐权 GPL 风格的许可证转向 “宽松” 的 Apache 风格的许可证,这应该不足为奇。事后看来,这是不可避免的。在一个由商业利益而非哲学定义的世界上,强制共享实际上并没有意义。当然,有人可能会争辩说它确实有意义。毕竟,许多公司已经围绕 GPL 许可的 GNU 和 Linux 代码形成了有利可图的生态系统。但让我们假设大多数商业人士都不同意整个强制共享的部分。

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

开源的胜利

重要的是要记住,在 大教堂与集市 中,Eric S Raymond 特别指出开源模式更优越,这是伟大的文化分歧的开始:开源完全是关于更好的软件,“只要有足够的眼睛,所有的错误都是肤浅的”;而自由软件是关于通过共享实现开明的存在。开源是一种更优越的观点的看法被证明基本上是正确的,因为开源已经成为技术创新的首选模式。如果使用得当,开源流程可以为供应商带来竞争优势,而开源原则可以使项目更有效地运作。

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

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

如果自由软件 “获胜”

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

在一个自由软件获胜的世界中,封闭的云架构是否占主导地位? 大多数手持设备是否会是专有的且难以更改? 在任何平台上使用任何服务是否会很困难? 我们是否会如此轻易地将我们的隐私交给媒体公司? 那么,在一个开源高度成功的世界中,为什么所有上述情况都是真的? 如果我们宣布开源已经获胜——而且我相信这样做是安全的——我们怎么可能宣布自由软件也获胜了? 这就是术语混用具有积极毒性的地方。通过互换使用它们,你正在给各地希望确保云中的共享、网络上的自由、平等的技术访问权和改善每个人的隐私的自由软件倡导者的风帆泄气。

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

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

自由软件本身就很重要

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

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

好吧,我想我最终还是无法摆脱经济论点:忽视自由软件的哲学和理想,并冒着可怕的未来风险,即对言论自由、思想自由以及商业自由施加限制。

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

39 条评论

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

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

回复 作者 IGnatius T Foobar (未验证)

这与我的看法也一致。我对自由意志主义的不满之处在于,它将自由的字面意义置于其精神之上,因此即使在市场限制和国家资助的社会项目被证明更有效并最终提供更大的利益时,它似乎也对市场限制和国家资助的社会项目采取了一种道义上的厌恶态度。

无论如何,我用与本文作者相同的视角看待开源。也许它是一个混合体,其中一些是善意的,另一些是为了炒作和商业,他们根本不在乎其他任何事情。然而,开源的净平衡是一艘漂流的船,没有真正的承诺,并且与自由意志主义运动没有任何相似之处。

回复 作者 wolftune

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

回复 作者 Eleanor Suarez (未验证)

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

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

回复 作者 IGnatius T Foobar (未验证)

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

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

回复 作者 Sarah Ryzecka (未验证)

Aaron,我尊重你的意见,但请你找到一种更文明的方式来表达它。没有必要进行对抗和攻击他人。

回复 作者 wolftune

谢谢,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 等术语,是因为(我相信)我们大多数人认为开源与自由软件一样关乎自由。

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

我使用开源并没有省钱。当然,大多数开源是免费的,但它也会产生支持成本(无论是内部的,还是外部供应商(如红帽))。

开源的供应并没有更有效率。我仍然必须等待生产者发布新版本。

它并没有给我带来免费劳动力。当以开源形式发布我自己的产品时,我不会自动获得人们免费为它工作。当我确实获得免费劳动力时,我必须通过支持这些人来付出代价,以他们需要的功能回报恩情,以便他们可以做出贡献等等。

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

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

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

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

问候,eMBee。

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

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

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

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

问候,eMBee。

回复 作者 eMBee (未验证)

完全正确!

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

我确实发现具有讽刺意味的是,在某些方面,自由软件搭上了开源的知名度/成功的顺风车。

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

John Mark 经常指责我是 “开源实用主义者”,我欣然接受这个头衔,因为我认为 绝大多数 工作都是在更接近自由软件<->专有软件频谱中心的空间中完成的。我认为开源更接近该频谱的中心。

回复 作者 eMBee (未验证)

我不认为这具有讽刺意味。这个术语最初是由自由软件倡导者创造的,他们希望找到一种更好的方式来推动自由软件。

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

问候,eMBee。

回复 作者 guyma

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

“前者是用户,后者是开发者”——嗯,不完全是。这取决于哪些开发者。如果开发者 A 使用宽松许可证的自由来关闭代码,那么开发者 B 将失去对宽松许可证的自由和(较新版本的)代码本身的访问权。

回复 作者 PsynoKhi0 (未验证)

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

我也为弗朗西斯·福山感到遗憾,他现在似乎到处都受到虐待。当有人写关于开源的文章时被他击败,那一定很糟糕。

回复 作者 Greg P

实际上,虽然自从 OSI 放弃商标以来它不再具有法律效力,但 “开源” 有一个非常明确的定义,不像 “全天然”。

此外,“免费” 在这里是无关紧要的,因为 “自由” 的意思是 “自由” 而不是价格。

您说的是对的,关于某些软件的部分开放,但这也被视为某些软件的部分自由化。虽然这违背了软件自由的道德规范,但自由化的部分仍然是合法的自由软件。

回复 作者 Greg P

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

回复 作者 wolftune

毫无疑问,但这与其他人参与的 FLOSS 世界几乎无关,在这个世界中,创始人以及参与其中的主要组织对自由软件的定义与您的定义截然不同。

回复 作者 Greg P

对不起,Greg,你的 “像啤酒一样免费” 的说法引起了我的注意。特别是当有一个开源许可证,许可方以一种可能带有玩笑意味的方式要求,如果他的软件的任何用户在酒吧遇到他,那么他们可以请他喝一杯。

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

回复 作者 Greg P

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

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

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

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

自由软件定义的症结在于那些“你可以帮助你的邻居”的讨厌字眼。听起来很共产主义,对吧?那些自由软件的书呆子肯定只是一群反商业的嬉皮士。

但是……当我看到人们试图在两者之间划清界限时,这通常是“伪开源”的前兆。首先,他们试图将自由的方面从开源中剥离出来,然后当他们试图从 OSD(例如创建和分发衍生作品的权利)中剥夺一两项自由时,他们就躲在“好吧,你仍然可以看到源代码,所以它一定是‘开源’的,对吧?但这可不是‘自由’软件。”的说法背后。

错了。

我的默认说法是“开源”(天哪,我正在 opensource.com 上发帖呢),我的意思是软件仅仅因为满足了 OSD 的要求而变得更好。但当侧重于自由的方面时,我也会说“自由和开源软件”或“自由软件”。

我并不是说约翰·马克是故意要区分两者,他在文章中提出了一些很好的观点,但我们应该始终清楚,两者之间没有实际的区别——更多的是意图问题。

谢谢!我很高兴还有其他人也指出了这个显而易见的观点。我至少十多年来一直都在思考同样的事情。我们能不能别再争论这个问题,一起携手征服世界呢? ;-)

回复 ,作者是 Sortova

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

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

的确,谷歌的所有服务都建立在开源之上,但是你能控制你的数据以及它们如何被处理吗?谷歌可能会发布大量的代码和研究论文,但你的个人信息是他们的。还有 AGPL?想都别想。

糟糕的物联网之所以如此糟糕的原因之一,恰恰是因为开源。过去我们嘲笑 Windows 是因为它糟糕的安全性,而当出现运行 Linux 的新设备时,我们欣喜若狂。至少 Windows 还有 SP2。现在我们被永远存在的漏洞包围, постоянно 遭受攻击。即使几乎每个组件都是使用开源软件构建的,从引导加载程序到应用程序堆栈,我们也有固件锁定和粗心大意,这使得这种开放变得毫无意义。

如今,几乎每台设备和几乎每项在线服务都至少有一个开源组件。即使是 Windows 也部分开源了,因为微软已经开源了如此多的组件。但几乎没有任何地方,用户真正被赋予了 4 项基本自由,尤其是自由 1 的一部分:根据你的意愿修改程序的自由。

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

主要问题是许多人认为所有自由软件都是在著作权保留许可(如 GPL)下发布的,但事实并非如此。有些自由软件是在非著作权保留许可下发布的,所以如果你不想,你不必在相同的许可下发布你的软件修改版本;如果你想让你的版本保持自由软件,你只需遵守自由 0、1、2 和 3,无论你选择哪种自由软件许可;仅此而已。

我不得不说,从我的角度来看,我完全同意开源不是自由软件,我强烈偏好在宽松许可的软件中不对自由/著作权保留进行任何强制执行。我试图明确表示,开源的、宽松许可的软件不会询问你的作品是否是衍生作品、是否被传播或是否被分发,你可以随心所欲地做任何事,对于这些条件是否是自由的几乎没有歧义。我不认为自由的、著作权保留许可如何能降低租赁文化的风险——大量的著作权保留软件为云提供动力,但数据仍然经常是封闭的/由少数群体拥有。

我认为这个生态系统比自由软件更大,我们应该感谢自由软件运动,那是我起步的地方。然而,我已经做出了一个非常自觉的选择,我认为其他人也是如此,即转向为我的工作使用更简单、更宽松的开源许可证。我个人想要一个更开放的世界,但我没有时间进行法律辩论、许可证兼容性和著作权保留许可的细微之处。

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

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

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

短语“自由和开源”的认知和由此引起的困惑。我们将重点缩小到开源,并培训所有开源在知识产权上都归他人所有,并通过一种或另一种许可机制使其代码可供使用而无需初始成本(金钱成本)的原则。

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

如果你使用 GPL,你必须提供访问权限,无论是作为你分发的一部分,还是通过随你的作品一同发布的某些出版物中的声明,访问 GPL 源代码以及你对该代码所做的任何和所有更改。此外,如果你在开发产品并将你的知识产权与所述 GPL 或著作权保留代码相结合时不够聪明,那么这也需要公开。那么猜猜怎么着?你的工程部门现在必须在其同行评审、静态分析或其他开发流程中增加额外的步骤,以检查这些事项并证明他们已经这样做。大多数忙碌的工程部门都讨厌有东西妨碍他们,拖慢他们的速度。

许多 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(开源促进组织)经常宣传的立场。

从商业角度来看,开发任何开源或闭源解决方案所需的工作量是相同的。然而,企业转向从开源软件的使用中获得更多益处。开源软件具有可扩展性且易于维护。

© . All rights reserved.