开源的未来:变数与挑战

发表时间: 2023-08-28 21:16

【CSDN 编者按】这篇文章详细的讨论了自由和开源软件运动的演变和影响。以Richard Stallman的故事作为开端,他在对专有软件限制的回应中发起了这一运动。尽管面临许多挑战以及变革,但开源软件已经成为技术行业的基本组成部分。本文主要讨论了早期的理念、商业影响、企业多样性和治理以及挑战与前景。

原文链接:https://www.technologyreview.com/2023/08/17/1077498/future-open-source/

未经允许,禁止转载!


作者 | Rebecca Ackermann 译者|Ric Guan
责编 | 屠敏
出品 | CSDN(ID:CSDNnews)

早期理念

1980 年,施乐公司(Xerox)向麻省理工人工智能实验室捐赠了一台新型激光打印机,那时这家公司并没有意识到这将掀起一场革命:因为这台打印机卡纸了。根据 2002 年出版的《Free as in Freedom》一书中写道,当时还是麻省理工学院 27 岁程序员的斯托曼(Richard M. Stallman)试图挖掘代码来修复它。他本以为能修好:因为他以前就修好过打印机。

早几十年的软件开发一般都是在开放访问和自由交流的文化氛围中进行的,工程师们可以跨越时区和机构,深入研究彼此的代码,使其成为自己的代码或解决其中存在的一些错误。但这种新型打印机使用的是无法访问的专有软件。Stallman 被拒之门外,并对施乐公司违反了他赖以生存的开放代码共享系统感到愤怒。

几年后,1983 年 9 月,Stallman 发布了 GNU 操作系统,该自由系统旨在成为当时主流操作系统之一的替代品:Unix。Stallman 将 GNU 设想为反击版权等专有机制的一种手段,因为这些机制开始充斥科技行业。这场自由软件运动诞生于一位沮丧的工程师简单而死板的理念:为了世界的利益,所有代码都应该是开放的,不受任何限制或商业干预。

商业影响

40 年后的今天,科技公司通过专有软件赚取数十亿美元,而我们身边的许多技术--从 ChatGPT 到智能恒温器--对于普通消费者来说都是难以理解的。在这种环境下,Stallman 的运动可能看起来像一场在商业现实的重压下被压垮了的价值观实验,但在 2023 年,免费与开源软件运动不仅生机勃勃,而且已经成为科技行业的基石。

如今,96% 的代码库都包含开源软件。全球有 1 亿多开发人员在使用的 GitHub 是开源社区最大的平台。就连亚马逊的云计算部门 AWS 也支持开源软件的开发和维护;去年 12 月,亚马逊承诺将其专利组合开放给社区使用。在过去的两年里,虽然公众对私营科技公司的信任度急剧下降,但包括 Google、Spotify、Ford Foundation、Bloomberg 和美国国家航空航天局 NASA 在内的机构都为开源项目及其对应的开放科学工作提供了新的资金--这也是科学研究价值观的延伸。

开源软件现在如此重要,意味着这一运动中长期存在的领导力和多样性问题已经成为每个人的问题。许多开源项目都是以 "终生仁慈独裁者"(benevolent dictator for life -- BDFL)的管理模式开始的,在这种模式下,最初的创始人多年来一直掌握着领导权,而且并不总是负责任的。

Stallman 因为个人言行备受争议,于 2019 年辞去自由软件基金会主席一职(尽管两年后他重返董事会)。总体而言,开源项目可能会受到企业利益的过度影响。与此同时,那些为保持关键代码健康而辛勤工作的人们却得不到持续的资金支持。事实上,许多大型开源项目仍然几乎完全依靠志愿者的力量来运作。

2023 年是 GNU 的 40 岁生日,尽管挑战重重,但仍有许多值得庆祝的事情。现代开源运动作为在高度分散、竞争激烈的行业中实现透明工作的合作方式而持续存在。Wiki Foundation 首席产品和技术官 Selena Deckelmann 说,开放源码的力量在于它 “让任何地方的人们都能一起合作开发软件,而且还能合作开发许多东西。” 她指出,将这一理念付诸实施的工具,如邮件列表、在线聊天和开放式版本控制系统,都是开源社区的首创,并已被更广泛的技术行业采纳为标准做法。Kelsey Hightower 表示:“我们找到了一种方法,让来自世界各地的人们,无论背景如何,都能找到共同的事业,相互合作,我认为这是开源世界独一无二的。“ Hightower 是Kubernetes的早期贡献者,Kubernetes是一个用于自动化应用程序部署和管理的开源系统,他最近从谷歌云杰出工程师的职位上退休。

2010 年代对科技不受约束发展的反弹,以及最近的人工智能热潮,让开源运动焦点聚集在关于谁有权在网上使用他人信息以及谁能从科技中获益。最近估值达 40 亿美元的开源人工智能公司 Hugging Face 的首席执行官 Clement Delangue 于 2023 年 6 月在国会作证时表示,人工智能开发中的 “道德开放” 有助于使组织更加合规和透明,同时允许少数大型科技公司以外的研究人员获得技术和进步。“我们正处于一个独特的文化时刻,” 非营利组织 “科学与社会代码"(Code for Science and Society)执行董事 Danielle Robinson 说:“人们比以往任何时候都更清楚,资本主义如何影响着技术的发展,以及你是否可以选择与之互动。” 因此再一次,自由和开源软件成为了关于技术应该如何发展的争论的自然归宿。

免费中的自由(Free as in freedom)

自由软件运动的早期充满了关于 “免费” 含义的争论。Stallman 和成立于 1985 年的自由软件基金会(FSF)坚持四项自由的理念:人们应被允许为任何目的运行程序,研究程序如何从源代码中运行,并根据自己的需要对其进行修改,重新分发拷贝,以及分发修改后的版本。Stallman 认为自由软件是一项基本权利:“自由是指自由言论,而不是免费啤酒”,这是他的寓言式口号。他创建了 GNU 通用公共许可证,也就是所谓的 "版权拷贝 "许可证,以确保使用 GNU 创建的代码能够保护四大自由。

1991 年,芬兰工程师 Linus Torvalds 创造了现在无处不在的 Unix 替代软件 Linux,但他并不信奉这一教条。Torvalds 和其他一些人,包括微软的 Bill Gates,都认为工程师之间的开放交流文化可以与商业共存,而限制性更强的许可证则可以为软件创造者和用户提供财务可持续性和保护。正是在 1998 年的一次自由软件倡导者战略会议上,这种务实的方法被称为 “开源代码”(open source),但其中并不包括 Stallman。(这个词不是由工程师创造的,而是由未来学家和纳米技术学者 Christine Peterson 介绍给大家的)。

Christine Peterson -- 纳米技术领域的未来学家和讲师,她于 1998 年创造了“开源代码” 一词

Karen Sandler 是软件自由保护协会(Software Freedom Conservancy)的执行董事,该协会是一家倡导自由与开源软件的非营利组织。21 世纪初,她在软件自由法律中心(Software Freedom Law Center)担任总法律顾问时,亲眼目睹了软件自由文化如何从正统观念转变为为营利实体留有余地的大帐篷方式。“那些具有意识形态色彩的人--他们中的一些人仍然保持着相当的意识形态色彩。但他们中的许多人意识到,哦,等一下,我们可以靠这个找到工作。” 桑德勒回忆说:“我们可以通过做好事来获得更多的就业机会。通过利用早期科技公司提供的工作机会和支持,开源贡献者可以维持他们的努力,甚至可以靠做他们相信的事情谋生。通过这种方式,使用和贡献自由开放软件的公司可以将社区扩展到志愿者爱好者之外,并改善工作本身。如果只有几个激进的人,我们怎么能让它变得更好呢?” 桑德勒说。

企业参与

上世纪 90 年代末和 90 年代初,随着围绕 Sun Microsystems、IBM、Microsoft 和 Apple 等私营公司的科技产业的发展,新的开源项目如雨后春笋般涌现,已有的开源项目也逐渐扎根。

  • Apache 于 1995 年作为开源网络服务器出现。

  • 1999 年,为企业公司提供 Linux 等开源软件支持的红帽公司上市。

  • GitHub 最初是一个支持开源项目版本控制的平台,于 2008 年推出,同年谷歌发布了首个开源手机操作系统 Android。开源这一概念更为务实的定义开始在这一领域占据主导地位。

  • 与此同时,Stallman 最初的理念在一群虔诚的信徒中得以延续--通过 FSF 这样的非营利组织,这一理念至今依然存在,FSF 只使用并倡导保护四大自由的软件。

随着开源软件的传播,技术堆栈的分叉成为标准做法,开源代码成为专有工作的支持结构。免费和开源软件通常作为产品的底层基础或后端架构,而公司则在面向用户的层面上大力追求和捍卫版权。据估计,亚马逊在 1999 年获得的一键式购买流程专利在过期前每年为公司创造 24 亿美元的价值。亚马逊依靠开源编程语言 Java 以及其他开源软件和工具来构建和维护它。

如今,企业不仅依赖开源软件,而且在资助和开发开源项目方面发挥着巨大作用:Kubernetes(最初由 Google 发起并维护)和 Meta 的 React 都是一套强大的软件,它们最初都是与更大的技术社区免费共享的内部解决方案。但有些人,比如软件自由保护组织的 Karen Sandler 认为,利润驱动型企业与公共利益之间存在持续冲突。“公司在开源软件方面已经变得非常精明和有教养,他们使用了大量的开源软件。这是好事,” Sandler 说:“与此同时,他们也从自己的专有工作中获利--他们有时也试图将这些工作冒充为开放工作,学者兼组织者 Michelle Thorne 在2009年将这种做法称为 “开放清洗“(openwashing)。桑德勒认为,如果公司不努力支持用户和创作者的权利,他们就没有推动自由和开源的精神。她说,在大多数情况下,这种情况确实没有发生:“他们对给予公众对其软件任何可观的权利不感兴趣”。

包括 Kelsey Hightower 在内的其他人则对企业的参与持乐观态度。她说:”如果一家公司最终只是分享,而不是其他,我认为这应该受到赞扬。那么,如果在接下来的两年里,你允许你的付薪员工在上面工作,维护漏洞和问题,但在接下来的道路上,它不再是一个优先事项,你选择了后退,我认为我们应该感谢[公司]这些年来的贡献”。

与此形成鲜明对比的是,已经成立 38 年的 FSF 坚守最初的理想,反对任何不支持用户查看、修改和重新发布代码的产品或公司。如今,该组织开展了 “终结软件专利” 等公共行动,发表文章和提交法庭之友书状,倡导终结软件专利。该基金会的执行董事 Zoë Kooyman 希望能继续推动对话,让人们关注自由而非商业问题。她说:“每一种信仰体系或倡导形式都需要一个远端。只有这样才能起到推动作用。在 FSF,我们就是那个远端,我们非常重视这个角色”。

自由,就像小狗一样

距离 GNU 发布已经过去了四十年,在研究员和工程师 Nadia Asparouhova(前Eghbal)在她的2020年著作《公开合作:开源软件的制作和维护》中所写的一样,如今并不存在一个统一的开源社区,就像并不存在一个“城市社区”一样。同样,也没有一个统一的定义。

开源倡议(Open Source Initiative,简称OSI)成立于1998年,旨在管理这一短语的含义,但并不是所有现代开源项目都遵循OSI所制定的十个具体标准,其他定义也在不同社区中出现。从项目到项目、从社区到社区,规模、技术、社会规范以及资金也各不相同。例如,Kubernetes 拥有一个庞大而有组织的社区,成员数以万计,经过了多年的 Google 投资。Salmon 是一个利基的开源生物信息学研究工具,拥有不到50名贡献者的支持,主要依靠拨款。

现在的主要讨论更多关注人而不是技术:健康和多样化的合作是什么样子?支持代码的人如何获得继续工作所需的条件?“你如何为所有受到你所构建的技术影响的人提供发言权?”开源顾问和战略家詹姆斯·瓦西莱提出了这些重要问题,他还是电子前沿基金会董事会成员。他说:“这些都是重大问题。20年前我们从未与这些问题抗衡过,因为这不是当时的一部分。而现在,这已经成为一部分,我们(开源社区)有机会考虑这些问题。”

“自由,就像小狗一样”的说法可以追溯到2006年,它已经成为现代开源项目中 “自由” 的一个有价值的定义,这个定义不仅涉及创作者和用户之间以及软件本身的权利,还涉及到他们对彼此的责任。小狗需要食物和关怀才能生存下去;开源代码需要资金和 “维护者”,这些人需要持续地回应社区的请求和反馈,修复漏洞,管理项目的增长和范围。许多开源项目已经变得过于庞大、复杂或重要,不能由一个人甚至一个小团体的志同道合的人来管理。而且开源贡献者也有他们自己的需求和关切。一个擅长构建的人可能不擅长维护;创建一个项目的人可能不想要或者不能够无限期地运行它。例如,在2018年,开源编程语言 Python 的创始人 Guido van Rossum 在担任近30年领导职务后辞去了领导职务,因为他已经筋疲力尽,这个大部分时间没有报酬的角色耗费了他太多。他在向社区提交的辞职信中写道:“我累了,需要一个很长的休息。

支持创建、维护和使用自由和开源软件的人需要新的角色和观点。尽管在早期,这个运动几乎完全由工程师通过留言板和代码进行沟通,但今天的开源项目邀请来自新的领域的参与者,来处理像增长和倡导这样的后勤工作,以及努力实现更大的包容性和归属感。福特基金会的技术与社会项目的高级项目官员 Micheal Brennan 表示:“我们已经从开源只涉及技术问题转变为需要更广泛的专业知识和观点,这些专业知识和观点是实现有效的开源项目所必需的。” 该基金会资助研究开放互联网问题。他继续说:“我们需要设计师、民族学家、社会和文化专家。我们需要每个人在开源中发挥作用,如果开源要有效地满足全球人民的需求。“

2008年,一个强大的支持来源出现了,那就是 GitHub 的推出。虽然它起初是一个版本控制工具,但现在已经发展成一个服务、标准和系统的综合体,正如 Asparouhova 在《公开合作:开源软件的制作和维护》一书中所说,它现在是大多数开源开发的“高速公路系统”。GitHub 帮助降低了参与门槛,吸引了更广泛的贡献,并传播了社区行为准则等最佳实践。但其成功也使得这个单一平台对致力于分散协作的社区产生了巨大影响。Demetris Cheatham 曾是 GitHub 的多样性和包容性战略高级总监,他非常认真地对待这个责任。GitHub 推出了 “All In for Students” 计划,这是一个导师和教育项目,主要吸引了历史悠久的黑人学院和大学的30名学生。在第二年,该计划扩展到了400多名学生。

挑战与进展

在实现更公平的开源生态系统方面,代表性并不是唯一的障碍。Linux基金会的报告显示,在受访的开源贡献者中,只有14%的人因其工作而得到报酬。虽然这种志愿精神与自由软件作为无商业交换思想的最初愿景是一致的,但自由劳动也带来了主要的获取问题。此外,在调查中,有30%的受访者不相信行为准则会得到执行,这表明他们觉得无法依赖一个尊重的工作环境。“我们现在又到了一个拐点,在这个拐点上,行为准则是很好的工具,但它们只是一个工具。“ Code for Science and Society 的 Danielle Robinson 说道:“我开始看到更大的文化转变,重新思考长期以来一直存在于开源中的提取性过程。”让维护者得到报酬,将贡献者与支持联系起来,现在是开放式开源面向更多不同参与者的关键。”

考虑到这一点,今年 GitHub 专门为维护者建立了资源,包括研讨会和多元性、公平性和包容性(DEI)工具中心。而且在五月,该平台推出了一个新项目,将富有资源的大型开源社区与需要帮助的较小社区连接起来。Cheatham 表示,这些计划的成功对于与更广泛的社区免费共享非常重要。“我们并没有创造任何新东西。我们只是将开源原则应用于多样性、公平性和包容性,”她说。

GitHub对开源的影响可能很大,但并不是唯一一个致力于让维护者得到报酬并扩大开源参与的组织。Software Freedom Conservancy 的 Outreachy 多样性计划提供有薪实习机会;截至2019年,过去的 Outreachy 实习生中有92%自认为女性,64%自认为有色人种。像 Open Collective 和 Tidelift 这样的开源筹款平台也出现了,帮助维护者获取资源。

慈善界也在加大力度。福特基金会、斯隆基金会、Omidyar Network、Chan Zuckerberg Initiative 以及像 Code for Science and Society 这样的小组织,都最近开始或扩大了他们支持开源研究、贡献者和项目的努力,包括促进包容性和多样性的具体举措。Omidyar Network 的Govind Shivkumar 告诉媒体,慈善机构在建立资金体系方面有很好的位置,可以帮助证明开源项目,使它们对未来政府资金的融资风险更小。事实上,得到福特基金会数字基础设施基金支持的研究促成了德国最近为开放数字基础设施创立国家基金。在美国,也在积累势头。2016年,白宫开始要求至少20%的政府开发的软件必须是开源的。去年的《保障开源软件法案》在两党的支持下通过,为在联邦层面关注和投资于使开源软件更强大、更安全奠定了框架。

迅速接近的未来

开源为实践和工具提供了有价值的贡献,但它也可能比专有软件提供了竞争优势。

今年五月,谷歌的一份泄露文件指出,开源社区在推动、测试、整合和扩展大型语言模型的能力方面比私有努力更加彻底:“许多新的想法[在人工智能开发中]来自普通人。训练和实验的门槛已经从一个主要研究机构的全部成果降低到一个人、一个晚上和一台性能强大的笔记本电脑。”

最近行业中诞生的“开源替代方案的时间”(Time Till Open Source Alternative,TTOSA)的概念也反映了这一优势——即从专有产品发布到开源替代品发布之间的时间。一名研究人员估计平均 TTOSA 为七年,但他指出,得益于像 GitHub 这样易于使用的服务,这一过程正在加速。

与此同时,我们现代的许多世界现在依赖于资金不足且迅速扩张的数字基础设施。长期以来,在开源中一直存在着这样的假设,即漏洞可以通过广泛社区的 “众多眼睛”快速识别和解决,而事实上这可能是正确的。但当开源软件影响到数百万用户,并且其维护由少数低薪个人处理时,系统可能无法承受这样的压力。2021年,一个流行的开源 Apache 库中的安全漏洞导致数亿设备暴露于黑客攻击之中。行业内的重要参与者受到影响,互联网的大部分部分都陷入了瘫痪。这个漏洞的持久影响现在仍然很难量化。

没有伦理规范的支持,开源开发也会带来其他风险。类似谷歌的 Bard 和 OpenAI 的 ChatGPT 等专有努力已经证明人工智能可能会持续存在现有的偏见,甚至可能造成危害,同时也没有提供足够的透明度,以便更大的社区审计技术、改进技术并从错误中吸取教训。但是,允许任何人使用、修改和分发 AI 模型和技术可能会加速它们的滥用。在 Meta 开始向其AI模型LLaMA授予访问权限一周后,该模型被泄露到以传播虚假信息而闻名的 4chan 平台上。LLaMA 2 是一款于7月发布的新模型,完全对公众开放,但公司没有像开源项目中一样公开其训练数据,这在某些定义下使其介于开源和封闭之间,但显然不符合OSI的开源标准。(据报道,OpenAI也正在开发一个开源模型,但尚未正式宣布。)

“在技术决策中总是存在权衡,” Hugging Face 的首席伦理科学家 Margaret Mitchell 说道。“我不能在所有情况下都毫无保留地支持开源,而不带任何细微差别或警告。”米切尔和她的团队一直在开发开源工具,帮助社区保护他们的工作,例如允许仅在项目所有者的决定下进行协作的门控机制,以及详细描述模型潜在偏见和社会影响的“模型卡片”——研究人员和公众在选择要使用的模型时可以考虑这些信息。

开源软件自从其叛逆的起源以来已经走了很长的路。但要将其推向前进,并使其成为一个完全反映开放、互惠和获取价值观的运动,需要仔细考虑、财务和社区投资,以及通过协作进行自我改进的特点。随着现代世界变得更加分散和多样化,与不同的人群和技术异步合作,朝着共同目标努力所需的技能不断变得更加重要。按照这个速度,40年后的技术可能比以往任何时候都更加开放,世界也可能因此变得更好。