开源软件面临的挑战:呼吁社区行动
这是一篇长文——深入探讨当前削弱自由软件运动和理念的机制——以及为什么聚集起来并为这些理想而努力很重要。
在2000年代初期,开源软件的未来似乎一片光明。世界各国政府积极推广自由和开源软件(FOSS),德国的LiMux项目将整个城市迁移到Linux,巴西在公共管理中强制使用开源解决方案。欧盟正在讨论互操作性和开放标准,无数公共机构正在探索专有软件的替代方案。
二十年后,格局发生了巨大变化。LiMux项目已被撤销,政府的强制规定被悄悄地替换为非约束性建议,即使是传统的开源软件堡垒也面临资金和影响力减少的问题。这种退步发生在一个关键时刻,我们对软件的依赖从未如此之大,开源软件的原则也从未如此重要。
软件开放性的逐渐削弱
当今对开源软件的威胁比以往任何时候都更加隐蔽。我们面临的不是直接的反对,而是通过看似合理的妥协和市场驱动的变化而逐渐侵蚀,这些变化慢慢削弱了开源软件的基础。
考虑MongoDB转向服务器端公共许可证(SSPL)的做法。表面上看,此举似乎是为了保护公司利益,以对抗那些将MongoDB作为服务运营并从中获利但不回馈项目的云服务提供商。然而,SSPL的复杂性和不寻常的要求导致许多组织认为它与传统开源原则不兼容。其他"准开源"许可证也存在类似问题,如Commons Clause或GreyJay许可证,它们增加的限制削弱了GPL和其他传统FOSS许可证所具有的清晰性和确定性。
影响不仅限于许可证。以AI和机器学习系统为例。虽然公司自豪地宣布"开源"AI模型,但现实要复杂得多。这些模型通常需要大量的计算资源来训练和部署,使得对大多数用户来说真正的开放性实际上是不可能的。当OpenAI发布GPT-2时,他们称其为"开放",但训练类似模型所需的数十亿美元有效地将真正的开放性限制在少数富裕的公司手中。
云服务陷阱和数据商业化
也许最重大的转变是向云服务和数据商业化的转移。考虑一个简单的任务,如协作文档编辑。二十年前,你可能使用OpenOffice或LibreOffice,完全在自己的计算机上运行。今天,Google Docs提供了一个"免费"的替代方案,功能强大且方便——但代价是什么?
这项服务在金钱方面是免费的,但它要求放弃对数据的控制,并接受对工作习惯的持续监控。你的文档、编辑模式和协作网络都成为广告算法的数据点。这种模式已经变得如此普遍,以至于许多用户,特别是年轻用户,将其视为完全正常。
其影响远不止个人隐私。当服务通过数据商业化而"免费"时,尊重用户自主权的FOSS替代方案必须找到替代资金模式或努力竞争。自托管的Nextcloud实例可能提供与Google Drive类似的功能,但它需要基础设施、维护,并且通常需要直接付款。这创造了一个矛盾的激励机制,即保护你的自主权实际上比放弃它花费更多的钱。
市场集中化危机
这种动态助长了更广泛的市场集中化问题。谷歌、微软和亚马逊等公司已经取得了如此大的主导地位,以至于它们可以有效地为整个软件类别设定事实上的标准。这导致了Cory Doctorow所说的"恶化"——一个循环,其中平台首先用良好的服务吸引用户,然后一旦用户被有效锁定,就逐渐降低该服务以获取最大利润。
考虑Slack的演变。最初因其开放的API和集成能力而受到称赞,它逐渐限制了这些功能,将用户推向付费层级和专有集成。网络效应和数据锁定使用户难以切换到FOSS替代方案,如Matrix或Mattermost,即使他们更愿意这样做。
类似的模式现在正在AI世界中展开,企业以低成本或零成本设置服务,同时需要整个服务器群来处理所有请求。虽然这些初始成本由投资基金承担,但请放心,这些投资需要产生利润。一旦服务渗透到我们的生态系统中,价格将不得不上涨以支付处理成本——以及额外的利润空间。请注意,服务器和知识如何越来越集中在全球同样的五家主要科技公司周围。拥有开放、透明且可适应在较小系统上运行的系统,对于避免所有权力再次落入同样的十只手中至关重要。
机构面临的挑战
与此同时,支持开源软件的传统机构面临着自己的挑战。自由软件基金会(FSF)及其欧洲对应机构FSFE的资金和影响力有所减少。围绕Richard Stallman的最近争议凸显了一个关键挑战:如何将持久的原则与个人特质分开。
虽然Stallman的个人行为和言论引起了批评,但他阐述的四项自由——使用、研究、修改和分享软件——仍然像以往一样重要。然而,这场争议使批评者更容易通过将这些原则与个人失误联系起来而不是与基本思想进行讨论来驳斥这些原则。
标准和政策战场
开源软件的斗争越来越多地在标准机构和政策框架中展开。虽然开放标准对于互操作性至关重要,但创建这些标准的过程已经越来越被大型科技公司主导。以网络标准为例:虽然技术上是开放的,但实现现代网络浏览器变得如此复杂,以至于连微软都放弃了自己的引擎,转而使用谷歌的Chromium,有效地减少了浏览器的多样性并集中了控制权。
监管环境呈现出类似的挑战。欧盟的网络韧性法案(CRA)虽然旨在提高软件安全性,但可能会给FOSS项目带来重大负担。文档、安全评估和持续维护的要求可能对历史上一直是FOSS生态系统支柱的志愿者驱动项目来说是压倒性的。
AI对透明度的挑战
人工智能和机器学习可能对开源软件原则提出了迄今为止最深刻的挑战。传统的FOSS强调透明度以及理解和修改代码的能力。但这些原则如何适用于行为来自训练数据而非显式编程的AI系统?
当OpenAI在"开放"许可证下发布模型时,这真正意味着什么?权重和架构可能是可用的,但如果没有访问训练数据和训练所需的大量计算资源,真正的开放性仍然是虚幻的。像GitHub Copilot这样的系统使情况变得更加复杂,它在公共代码库上进行训练,而没有明确考虑其许可证。
教育差距
教育领域正在出现一个特别令人担忧的趋势。大学越来越多地与专有云提供商合作,向学生介绍与特定供应商密不可分的开发环境。计算机科学教育通常侧重于使用特定工具,而不是理解开源软件和数字权利的基本原则。
当学生主要学习使用AWS服务或Google云平台进行开发时,他们不仅仅是在学习技术技能——他们正在被培养接受一种特定的软件开发模式,其中对专有云服务的依赖是常态。运行自己的服务器或维护对计算环境的控制的想法变得陌生,被视为不必要的复杂而不是根本上的赋权。
社区行动的作用
面对这些挑战,像数字自由基金会(DFF)这样的组织的工作变得比以往任何时候都更加重要。通过软件自由日、硬件自由日和文档自由日等活动,DFF为不同社区以实际方式参与开源软件原则创造机会。
考虑公共图书馆中的典型软件自由日活动。访客可能会学习如何在旧笔记本电脑上安装Linux,发现他们认为过时的硬件可以通过开源软件找到新生命。他们可能会了解常见云服务的尊重隐私的替代方案,或参加有关数字权利和在线隐私的研讨会。这些实践经验使抽象原则具体且易于理解。
大学是另一个关键的行动场所。当学生组织软件自由日活动时,他们创造了质疑关于软件开发和数字权利的主流叙事的空间。他们可以展示专有云服务的替代方案,展示FOSS工具如何满足现实需求,并围绕开源软件原则建立实践社区。
建立支持网络
这些本地活动的力量超出了它们的直接影响。每个软件自由日团队都成为全球倡导者和实践者网络中的一个节点。这些网络可以响应政策提案,共享资源和知识,并相互支持以促进开源软件。
当欧盟提出像CRA这样的法规时,这些网络可以动员起来解释对FOSS项目的影响并提出替代方案。当学校考虑采用专有云服务时,当地的FOSS倡导者可以展示可行的替代方案并解释保持对教育基础设施控制的重要性。
前进之路
开源软件面临的挑战是真实且不断增长的,但它们并非不可克服。通过协调的社区行动、公共教育和持续的倡导,我们可以努力保护和推进这些基本原则。关键策略包括:
- 通过关注实际好处和现实应用,使开源软件与非技术受众相关
- 建立能够在地方和国家层面影响政策的倡导者网络
- 支持在教授技术技能的同时教授基本原则的教育计划
- 为不损害核心原则的FOSS开发创建可持续的资金模式
数字自由基金会在协调这些努力中的作用变得越来越重要。通过提供资源、支持和行动框架,DFF帮助当地社区将开源软件原则转化为实际行动。
行动呼吁
现在是行动的时候了。无论你是开发人员、教育工作者、政策制定者,还是只是关心数字权利和自主权的人,都可以采取具体步骤:
- 参与你所在社区的软件自由日活动,或者如果没有的话组织一个
- 通过捐款或志愿工作支持捍卫开源软件的组织(例如FSF)
- 在你的工作场所或教育机构倡导FOSS解决方案
- 就数字权利问题与政策制定者进行交流
- 在你的社区中分享知识并提高认识
- 支持数字自由基金会,赋能本地团队并协调全球运动。
开源软件的未来取决于我们集体应对这些挑战的能力,同时建立致力于数字权利和自主权的强大、可持续的社区。通过协调行动和持续倡导,我们可以努力确保开源软件的原则继续塑造我们的数字未来。