后开源

2020-09-09 16:48:45

我写这篇文章的前一天,莫兹拉刚刚进行了大规模裁员,其中包括许多从事酷而重要的工作的人。我看到的共识是,这反映了莫兹拉追求利润而不是影响,管理不善,以及不成比例的高管薪酬。这发生在过去几年更大的开源公司化趋势中,这是一场持续的开源可持续危机,当然还有新冠肺炎,这场危机让我们所有其他危机都变得更加严重。所有这些都是凯特·马坎最简明的总结:

国际海事组织,开源作为一个社区的努力就在我们眼前分崩离析,取而代之的是开源作为大公司的防御工事战略。

我的意思是,这已经发生了一段时间了,但看到Mozilla像这样下沉,对我来说就是把重点带回了家。

我完全没有资格回答这些问题-我直到SourceForge的巅峰时期才出现,大部分时间我都不在那里-但我不会让这阻止我。

要启动自由/开源软件的葬礼服务,我们必须解开这个术语本身。“自由和开放源码软件”这个术语已经包含了很多东西。一方面,“自由软件”,一种明确的政治运动,有着明确的反魅力的领导人。另一方面,“开放源码软件”,它的意思是:“自由软件”、“自由软件”。自由软件人(正确地)批评“开源”是千篇一律的中心主义。开源人士(正确地)批评“自由软件”是顽固的理想主义,竭力拒绝现实世界的实际存在。他们和左翼和自由派有同样多的共同点(但他们更愿意合作),尽管他们的短期目标足够相似,将他们混为一谈是有意义的(因此进行了合作)。现在这场运动已经死亡,我认为分开考虑它们会有更多的好处。从技术上讲,我将要提出的大多数软件许可证都符合这两种定义,但它们都很受欢迎,所以我将“自由软件许可证”和“开放源码许可证”称为与这些运动更直接相关的许可证,即使任何给定的许可证都可能满足这两个定义。

我想说,自由软件不久前就死了,而开放源码走得非常正确。

自由软件运动,尽管它有所有的缺点,但总是知道它是关于什么的:

研究程序如何工作的自由,并对其进行更改以使其随您所愿。

改进程序的自由,并向公众发布您的改进(以及一般的修改版本),从而使整个社区受益。

它简明扼要,可以理解,而且是…。有点没用。真正的律师路易斯·维拉(尽管卡尔·马克思诽谤)更好地提出了这一点,但这些自由对普通最终用户来说实际上并不意味着狗屎。只有程序员才关心他们是否有权接触源代码,大多数人都不是程序员。而我是一名程序员,我不在乎。不考虑我的操作系统,只做好工作的自由凌驾于我所有的自由之上,所以我使用窗口。比如,是的,这些东西原则上都很好。在两个同样好的程序之间,我会选择免费的。但它们真的是他妈的特定的东西,即使我有自由去做它们,我也不太可能有能力或愿望去做它们,所以作为一个用户,我没有很好的理由在其他方面使用更差的软件,因为它给了我不需要的自由。

自由软件运动显然是政治性的,但它的政治性很差。这是一场由意识形态顽固分子发起的运动,但它的意识形态极其深奥。他们的运动从一开始就是一场失败的战斗。那么实际上是什么杀死了他们?我认为实际上是GPLv3。

自由软件运动的旗舰项目可能是Linux和GNU工具堆。然而,在自由软件许可下发布的Linux内核并不直接创建更多的自由软件,因为即使是与内核关系密切的东西也不一定也是自由软件,当然用户级的应用程序也可以拥有他们想要的任何许可。而且现在使用Linux的大多数人都是偶然使用它的,以ChromeOS或Android的形式分发,这两个都不是自由软件。所以Linux是自由软件运动的胜利,但是无用的。

GNU userland工具在很大程度上甚至更平淡无奇。从技术上讲,称它为GNU/Linux可能更准确,但我唯一记得我的Linux userland工具是GNU或自由软件的时候,就是当GNU工具和它的BSD等价物之间存在一些奇怪的不一致时,这并不完全是理想的。据我所知,gcc基本上已经成为C编译器有一段时间了,如果你不是被MSVC或其他更糟糕的东西困扰的话。自由软件运动是顽固的,如果你不是被MSVC或其他更糟糕的东西束缚住的话。自由软件运动是顽固的,如果你不是被MSVC或其他更糟糕的东西束缚住的话。自由软件运动是顽固的。

GPLv2在当时相当流行,但有几个值得注意的漏洞,一些大公司一直在利用,自由软件的人想要堵塞这些漏洞。然而,一大群人认为GPLv2的方式很好-像GPLv3一样积极地堵塞漏洞,确实切断了一些合理的安全措施,有些人说它弊大于利。Linux内核,以及更多的东西,宣布坚持使用GPLv2,而不是迁移到GPLv3。当你的运动说“这是正确做法的新版本”,而你的几个最大的追随者说“不,他妈的,我们要用旧版本”,这不是一个好信号。大约在同一时间,自由软件组织开始成功地起诉那些使用自由软件但不遵守许可证的公司。因此,像苹果这样的大公司,看到新的限制在更积极的执法的同时出现,并说“好吧。我们想把我们的软件建立在像GCC这样方便方便的工具上,但是我们不能一边使用GPLv3软件,一边把我们的硬件和软件随心所欲地锁在一起。“所以他们开始把钱投到一个新的C编译器llvm上,而不是开源的llvm。

LLVM变得至少和GCC一样好,对大公司来说也是一个风险较小的决定,而且更容易用来构建新的语言。因此,自由软件运动的最后一个技术优势已经消失。它的社会优势也随着GPLv3而起火:作为GPL执法诉讼基础的软件坚持使用GPLv2。关于那个决定的讨论是如此令人讨厌,以至于首席维护者(罗布·兰德利;Rob Landley;他稍后会来)开始了一个相同的项目,他最终在开放源码许可下重新授权,因为诉讼完全适得其反:公司没有遵守GPL的条款,只是在避免GPL软件。

自由软件运动最终耗尽了自己的力量,只为一点点成功而战,然后转身点燃成功。自由软件的死亡告诉我们,我们不能用许可证来欺骗公司分享我们的价值观:他们想要盈利,如果好的软件有许可证限制他们能做的事情,他们会投入更多的资源来编写自己的替代方案,而不是在第一时间遵守许可证的花费。如果好的软件有许可证限制他们能做的事情,他们就会投入更多的资源来编写自己的替代方案,而不是在第一时间遵守许可证的要求。如果好的软件有许可证,他们就会投入更多的资源来编写自己的替代方案,而不是在第一时间遵守许可证

开放源码运动设法与自由软件运动共享相同的短期目标,但在几乎完全脱节的方式上是不好的。开放源码倡议的使命说。

开源使软件开发方法能够利用分布式同行评审的力量和过程的透明性。开源的承诺是更高的质量、更好的可靠性、更大的灵活性、更低的成本,以及结束掠夺性的供应商锁定。

这与自由软件的定义截然不同,近乎滑稽可笑。自由软件说“我们重视自由,我们用这些方式定义自由”,而开放源码说“你的代码会变得更好”。自由软件运动准备与那些使用他们的工作但没有遵守他们的规则的公司打架。开放源码运动被发明为自由软件运动的友好、非政治、亲公司的替代方案。

“使用自由软件是因为它保护了你的自由”和“使用开放源码软件是因为它更好”之间的对比是深刻的,老实说,明确地重新审视这一点有点令人失望。自由软件保留了我作为用户不需要或不关心的自由,但它至少做到了这一点。开放源码软件实际上往往并不比封闭源码替代软件更好,“使用开放源码软件是因为在极少数情况下它几乎可以做到同样好”是一个比自由软件能提供的任何东西更平淡无奇的推销。

在自由软件被误导和堂吉诃德的地方,开源是没有骨气和中心的,就像没有骨气的中心主义往往会发生的那样,它已经吞噬了世界。

如果说有什么比重写软件更让公司喜欢的事情,那就是让别人为他们做这项工作。这需要一段时间才能起步,因为“封闭源代码”的保守做法在很多地方都相当根深蒂固,但现在即使是曾经保守的顽固派也接受了中心主义的信条。公司通过公布现有源代码几乎没有损失,可以获得各种无偿的志愿者工作。如果他们开始一个新的内部项目,重要的是,他们准备投入精力,但不是那么重要,以至于有人可以与之竞争,与他们竞争,那么现在他们很可能会将其开源。最坏的情况是,他们做了所有他们已经准备好的工作。最好的情况是,他们的图书馆变成了同类中最受欢迎的一个图书馆,成千上万的无偿志愿者向你捐赠了他们的时间。更多的免费劳动力,社区对启动每个人都使用的项目的善意,如果进展顺利,好处是不可计数的。自由软件原则上不是反公司的,而是公司。更多的免费劳动力,社区对启动每个人都使用的项目的善意,如果进展顺利,好处是不可估量的。自由软件原则上不是反公司的,而是公司。因为这实际上为他们创造了义务。开源让公司有机会免费改进他们的代码,所以只要他们不分享太多,就会有人开始竞争,所以公司没有理由不进入开源领域。

对于公司来说,最好的部分是他们甚至不需要成为启动项目的人。如果你只是某个随机的小时间开发人员,他们可以直接出现。你做了一个受开源许可的很酷的数据库服务器?亚马逊现在把它作为一项服务出售,他们他妈的不付给你一分钱。你想改变你的许可来阻止他们这么做吗?现在开源的人对你大喊大叫,因为当他们说他们不关心政治时,他们的意思是支持现状。自由软件的人也是这样。你想要改变你的许可吗?现在开源的人对你大喊大叫,因为当他们说他们不关心政治时,他们的意思是支持现状。自由软件的人也是这样。因为你没有按照他们的许可证做,所以你用不同的许可证做了不同的事情,这与亚马逊欺骗你的自由背道而驰。

GitHub本身可以说是开源运动的缩影。平台本身是封闭源代码的,因为他们不想让人们与他们竞争运行他们的代码,而且他们还向企业出售非常昂贵的自托管版本。为GitHub本身开源会从GitHub的利润中分得一大块。这是不可能的。但他们甚至不需要启动或采用开源组件来从其他人的劳动中获利:GitHub上的每个项目实际上都是GitHub的。当到了你宁愿关闭源码的时候,你和其他所有人都已经在GitHub上了,所以你可能会选择付费级别。如果他们认为原则上开源更好,他们自己也会是开源的。他们认为开源对他们来说是有利可图的,根据定义,公司利润是由劳动力产生的价值,而不是支付给劳动者。

当然,对公司有利的是对个人不利。随机的个人贡献者几乎永远不会从他们的工作中获得报酬,即使一家或几家公司将从这些变化中获得可观的利润。重要基础设施库的维护者通常只有在为他们工作的公司编写库或在公司的控制下才能获得报酬。专业的公司维护者可以为社区提供更多服务,因为他们得到了报酬,这提高了对独立维护者的期望,并导致维护者精疲力竭。如果一家公司带走了一些现有的开源软件,那么他们就可以为社区提供更多的东西。而且,如果一家公司带着一些现有的开放源码跑掉了,那么他们可以为社区提供更多的东西,这会提高对独立维护者的期望,并导致维护者精疲力竭。

所有这些单独的危机都是有意为之的:这一直是开源运动的终极目标。自由软件运动是透明的,其最大的价值是:“我们认为用户应该有自由修改和贡献他们使用的程序的源代码。”开源运动有一个微妙得多的价值:“我们认为公司应该有自由剥削开发人员的劳动。”事实上,个别开发人员曾经参与过开源运动,这说明了它所使用的有害品牌。但人们开始注意到,这并不是。

自由软件运动有时会写出真正好的软件;公司看到了这一点,希望在没有实际原则的情况下参与其中。因此,他们拥抱了自由软件运动的名义目标,并将其扩展为一场更有利于企业的运动,有更多的软件可供借鉴。拥抱和扩展之后的传统步骤自然会消失。自由软件运动很久以前就死了,这在很大程度上是因为它自己的错误,所以没有多少东西可以扑灭了。随着Mozilla一起消亡的是。

我不会说开源运动本身就死了。它从开始的那一刻起就是不死的;它赢了,随着它的胜利,它不再伪装成许可证以外的任何东西。从开源运动中唯一有意义的教训是,让公司做他们想做的任何事情都会有糟糕的结局,这并不完全是新闻。

开放源码赢了,没有什么比这更好了。为了修复开放源码运动的这一特征,一些人选择重复自由软件运动的错误。正如一些聪明的德国人曾经说过的那样,历史上的任何事情都会发生两次,第一次是悲剧,然后是闹剧。

自由软件运动宣称,用户修改和贡献他们使用的软件的自由是至高无上的,他们专门制定了一个许可证,以保护应用于它的软件中的这种自由,并将这种自由传播到基于它的软件中。这是一个平淡无奇但至少定义明确的目标,追求得有点体面,至少取得了一些持久的成功。

“伦理来源”运动宣称,联合国的“世界人权宣言”至高无上,而相关司法管辖区的相关法律紧随其后,希波克拉底许可证规定:“如果软件作者说你侵犯了人权,你必须通过公共仲裁,否则许可证无效。”目标至少在原则上更好,所以至少这是一个问题。尽管我要说,如果有人在希波克拉底许可证下发布了一个数据可视化库,而其他人使用这个库来显示泄露的警察的个人信息,这些警察的个人信息是无效的。尽管我要说,如果有人在希波克拉底许可证下发布了一个数据可视化库,而其他人使用这个库来显示泄露的警察的个人信息,那么这个目标至少是好的。“世界人权宣言”中有几条条款可以说是被违反了,所以图书馆的作者很可能有理由惹麻烦自己。这真是狗屎。事实上,希波克拉底执照的网站首先是无害的。dev有点暴露了整个事情,因为有时在某种程度上,轻微的伤害可以防止以其他方式造成更大的伤害。医生不再使用希波克拉底誓言是有原因的。

即使撇开这一点不谈,希波克拉底许可证还有一个更大的问题。给我看一个公司律师,他会看着一张许可证,上面写着“我可以把你拖进仲裁程序,只要我愿意,就必须公开,我这样做不会有任何后果”,然后说“是的,这看起来很好,我们可以使用这个库“,我会告诉你一位明天将被解雇的公司律师。自由软件运动试图使用许可证来欺骗公司分享他们的价值,但失败了。伦理来源运动似乎试图使用更糟糕的许可证来欺骗公司分享不那么具体的价值观。

在那个社区的所有有才华的人开始利用他们的时间做更多有用的事情之前,我们至少可以从这种先发制人的失败中学到一些东西。第一,试图在你的执照中加入道德体系的复杂性是一件愚蠢的事情,不会有好的结果。第二,如果你正在写一份许可证来强迫公司采取不同的行为,不要用一个考虑不周的执法系统把他们吓跑。

术语“后开源”显然是在2012年被几个人用来指不给你的代码许可。它有一个维基百科页面,自2013年以来一直有“这对于维基百科来说可能不够引人注目”的框。我宣布这个词基本上已经死了,所以我现在以更广泛的方式使用这个词。

那么,在开源吞噬了世界之后,我们该怎么办呢?显然,复古的选择是完全跳过许可。这会吓跑公司,因为如果你保持完全的版权,从技术上讲,他们不能安全地使用你的作品。正如真正的律师路易斯·维拉(Luis Villa)当时指出的那样,你需要允许其他人做一些事情,比如修改自己的代码,这一想法不应该自动被认为是理所当然的。(尽管我必须说,对于一个声称如此憎恨“许可文化”的人来说,妮娜·佩利肯定是这样的。从现在到永远。)完全不使用许可证可以被解释为不仅是对版权的有意识的拒绝,而且也是对将版权作为正义工具的努力的根本拒绝。

然而,完全不使用许可证也会使想要使用您的软件的实际人类变得复杂。Villa指出,我最喜欢的一种方式是,Do the Fuck You Want to Public License,这是一种在保留反严肃方面的同时,完全公开拒绝许可的隐含允许的方式。然而,一旦公司意识到他们被允许使用他妈的软件,他们就可以并将利用WTFPL软件中的垃圾,所以这并不能为开源问题提供长期的解决方案。(它。它名义上等价但更严肃的表亲,零子句BSD,是由同一个Rob Landley编写的,他在GPLv2和GPLv3之间导航的经历在当时是如此令人不快;这并不有趣,我不会称它为后开源许可证,但它实际上是一个后自由软件许可证,与GPL正好相反,公平地说,我也会试图在那次混乱之后编写与GPL相反的东西。

道德来源的人试图使用希波克拉底许可证,使你在做坏事时使用某些软件是非法的。

.