关注了就能看到更多这么棒的文章哦~
Lessons from open source in the Mexican government
By Jake Edge
March 24, 2025
SCALE
Gemini-1.5-flash translation
https://lwn.net/Articles/1013776/
政府部门采用开源软件的道路并非一帆风顺。虽然开源看起来是“显而易见”的选择,但事实证明,由于各种原因,政府部门在使用 FOSS(自由及开放源代码软件)方面可能会有出人意料的抵触情绪。在加利福尼亚州帕萨迪纳举行的 SCALE 22x 的开放政府主题会议上,Federico González Waite 回顾了他在墨西哥政府工作的经历。他领导了多个项目,旨在摆脱专有且常常带有掠夺性质的软件公司,取得了一些成功,但也遭遇了失败。
González Waite 首先提到,他是一位墨西哥/新西兰混血(他笑着说“我们这样的人不多”),曾在墨西哥政府担任高级职务九到十年, “负责推广开源实施”。他还曾担任外交部 CTO(首席技术官);“实际上,今天墨西哥人能够拥有电子护照,我对此负责。”这是他领导的项目之一,其中一部分是使用开源软件完成的, González Waite 说,人们觉得这很了不起。他曾在 Andrés Manuel López Obrador 总统领导下的国家战略办公室任职,最终升任墨西哥国家研究与创新中心的 CEO(首席执行官)。
在他担任的所有职务中,他都倡导在政府内部使用开源软件;他说,成为这种“变革者”从来都不是一件容易的事。在最近的总统换届(Claudia Scheinbaum 上任)后,他离开了政府部门,目前正在“帮助人们进行他们自己的开源转型”,同时关注着下一个重大事件。他指出,他将在最后回答问题,并且由于保密责任,他可能无法回答所有问题,但他“不再是公职人员,因此我可以更自由地发言”。
为什么?
“那么政府为什么要采用开源?”一个原因是降低成本;他说,墨西哥是一个财政拮据的发展中国家,一直在寻求降低成本。支付许可费用花费了大量资金,而这些资金本可以用于做其他事情。López Obrador 政府通过了一项紧缩计划,因此各项行动(例如,政府官员出国出差)都需要总统级别的批准。这也影响了购买许可证,该计划推动了开源的使用。
另一个主要原因是努力实现墨西哥的“IT 主权”。该国面临的一个主要问题是,其 IT 领导层缺乏技术能力,这意味着人们在不了解自己购买了什么的情况下,就在项目和许可证上签字。“他们真的不知道他们是否物有所值”。
有必要培养政府内部支持开源软件的人才;“如果在没有人才来维护它的情况下,建立整个基于开源的基础设施是没有意义的”。为了实现这一目标,已经投入了大量精力来引进新人并培训现有员工。一个目标是从 IT 消费国转变为 IT 生产国。许多人认为墨西哥是一个制造业和组装业国家,但事实上该国确实生产大量技术,这让很多人感到惊讶。不过,政府内部生产的大部分东西都被私营部门吸走了;但最近,这种情况正在发生变化,因此政府可以打包甚至出售其 IT 开发成果。
另一个目标是让墨西哥变得更加自给自足,从而不会被各种供应商锁定。在他最近担任的职务中,他能够看到整个政府部门发生的事情。一个共同点是,当询问各机构为何在特定服务上花费如此多时,他们声称自己别无选择,即使有很多其他公司提供相同的服务。事实证明,一些承包公司以不正当手段将他们为政府购买的软件许可证登记在自己名下,导致后续锁定在这一家的服务上。转向开源可以打破这些以及其他类型的锁定。
González Waite 说,政府内部有多个机构负责处理技术的各个部分。他领导着 INFOTEC,它是为政府其他部门提供 IT 服务的供应商。它管理着当时世界上最大的电信项目,部署了超过 30,000 公里的光纤电缆,并在全国各地安置了 6,000 个 BTS(基站) 天线。这是 CFE Internet Para Todos 项目的一部分,该项目旨在实现互联网接入的民主化;在此之前,墨西哥的很大一部分地区没有互联网,因为在商业上不划算。
González Waite 说,联邦政府内部的所有技术项目都需要总统办公室的批准;这在墨西哥的法律中已经存在很长时间了,但一直没有得到执行。在 López Obrador 政府的领导下,对这些项目的审查经常发现,他们可以使用开源软件,而不是采用提案中的昂贵的专有解决方案,因此这些项目需要进行切换。
自 2021 年以来,使用开源软件已被写入墨西哥法律,当时它被明确授权用于政府机构。González Waite 简要介绍了一些立法,以表明政府正在认真地通过使用开源软件来降低成本并控制其基础设施。
外交事务
他领导了一个为外交机构服务的项目;该项目首先将存储的数据分离,以便将其中一些数据放入云端,而最敏感的数据仍然存储在墨西哥政府的数据中心。该机构抵制将其任何数据迁移到云端,因为据说所有数据都是“国家安全数据”,但是没有数据分类来明确哪些数据实际上是敏感的。当被问及此事时,该机构声称领事馆产生或提供的任何东西都符合条件;他指出,这意味着领事馆发送派对邀请和节日问候都违反了国家安全法。这促使人们努力对数据进行分类,从而使外交机构成为第二个将数据存储在云端的政府机构。
该项目的另一个部分是从 Oracle 迁移到 PostgreSQL。 González Waite 说,当该公司得知这一变化时,引发了各种威胁和恐吓。“他们告诉我,该国整个护照系统都将崩溃”,并且墨西哥将无法允许任何人进出该国,而这将是他的错。“你猜怎么着?这并没有发生。”
事实证明,从事数据库工作的员工听说过 PostgreSQL,但从未用过。因此,他的团队联系了墨西哥 PostgreSQL 社区,寻求帮助和建议。大约花了三个月的时间将信息从 Oracle 迁移到 PostgreSQL。该团队利用这次迁移的机会重组了数据库,“因为我们发现我们的存储提供商有点不地道”,为了收取更多费用,他们将数据存储了三到四次。“墨西哥仍然是一个非常腐败的国家,就像世界上很多国家一样”,他说。当你做出将钱从人们口袋里拿走的决定时,他们“会变得非常恶毒”。
从这次切换中获得的“最大改变”是,该机构现在可以直接访问其数据,而不必依赖合作伙伴和承包商来提供应用程序和报告。这使得墨西哥能够开发电子护照。该平台是在内部开发的,“因此我们无需支付任何许可费”;他说,该平台使用了各种开源软件库,包括用于处理生物识别信息的库。
教育
除了需要对技术人员进行开源主题的再培训外,他的团队还发现,大学和技术学校的学生也没有接触到开源软件。INFOTEC 启动了一项大型实习计划,将学生安排到政府机构工作,但发现由于缺乏培训,这些学生无法履行职责。这导致为实习生创建了为期三个月的软件开发和网络安全训练营。实习生在那段时间里可以获得报酬,这使得培训对各机构来说成本高昂,但它使实习生能够迅速上手,以便他们将来能够高效工作。
在此过程中,他参观了一所技术大学的通信实验室,发现那里的所有设备都来自 Cisco。那里的学生不知道如何配置防火墙,例如,使用任何其他类型的设备或使用开源软件工具—并且他们害怕学习其他任何东西。 González Waite 说,这是公司战略的一部分,“他们几乎将设备免费赠送给大学,但给学生制造了障碍”。
为了应对这种情况,INFOTEC 开发了四个在线教育计划,在两个训练营主题中增加了云计算和数据中心运营,所有这些都基于开源软件。这些课程为期两年,包括在政府各个层面(地方、州或联邦)的实际工作。还需要一个“快速通道”,因此这两个训练营被翻译成 22 周的培训课程,用于教授这些科目。他说,这些开源教育项目跨越了国界,这是“一件非常酷的事情”;萨尔瓦多已经采用了它们,并且有超过 5,000 人报名参加。除此之外,网络安全课程已经过修改,目标是墨西哥的非技术政府雇员,并且有超过 3,000 人从中受益。
另一个不同形式的教育出现在一个使用 Mifos 为墨西哥银行服务的项目中。Mifos 是一个用于处理各种金融交易的开源平台。在墨西哥启动该项目的一大障碍是让监管机构(国家银行委员会)了解开源软件。他的团队花了大约六个月的时间与委员会开会,进行这方面的教育。这得到了回报,并且随着项目的发展,监管机构掌握了所需的背景知识,从而为项目铺平了道路。该项目与 Mifos 社区合作;社区的一些成员前往墨西哥与监管机构会面。
该项目的另一个重大挑战是能够将为墨西哥银行业开发的代码返回给 Mifos 项目。银行机构对发布代码存在安全方面的担忧,但 Mifos 社区希望将代码添加到其存储库中并宣传该部署,因为这是有史以来规模最大的部署之一。这是一场持续了三年的对话,最终达成了一个复杂的方案,即在后续的两个版本发布到生产环境后,可以将旧版本的代码添加到 Mifos 中。
银行项目的启动部分原因是由于一项研究表明,运行现有基础设施来处理某些类型的贷款花费了巨额资金。但是,在该项目产生的两个不同部署中,直接旨在节省大量资金的那个部署最终被取消了—尽管它已经被证明是有效的。另一个部署基本上采用了第一个部署的代码,并对其进行了修改以处理不同类型的贷款,规模较小,但已成功切换。
主要区别在于,成功的项目是为一个最近重组的机构完成的,该机构缺乏另一个机构的偏见和根深蒂固的利益。他说,该组织的领导能力更好,并且也有点迫切地想迅速向总统办公室表明它正在有效地履行职责。
教训
围绕开源的法规帮助很大,“因为它提供了一个法律框架来向人们解释我们为什么要这样做”,但这还不够。每当提出使用开源软件的想法时,由于缺乏相关知识,就会产生恐惧,但是由于决策者是政府官员,因此除了这种恐惧之外,还存在法律上的恐惧。“这种责任可能会让你入狱,所以不要改变技术,保留原样,支付数百万美元,什么都不会发生,你会没事的。”
他说,技术通常被 当成 问题,但他通常发现问题是由于使用了过时的技术以及缺乏对所处理数据的了解。通常没有关于数据及其结构的文档,并且负责管理数据的人员对此一无所知。各机构的领导不力是另一个障碍;需要一位能够理解需要做什么并正确分配人员来完成这项工作的变革倡导者。许多墨西哥政府官员是政治任命的,他们不想参与管理项目,因此他们将其交给已经在做太多其他事情的人。
项目失败的另一个原因是,领导层认为转向开源意味着将来不再需要资金。但是,如果要使项目成功,服务器、开发人员、系统管理员等仍然需要预算。除此之外,一些政府雇员对获得切换到开源软件所需的技能没有任何兴趣。由于缺乏知识或“其他个人动机”,许多人很乐意将整个工作交给供应商。
他学到的最大教训是,切换到开源软件解决方案的项目要么“大获全胜,要么一败涂地”。他和他的团队从未遇到过无法解决的技术或监管问题;技术和法规都可以重写,“这只是需要时间和精力”。他们能够提前预料到大多数失败情况,因为他们看到逻辑论证没有奏效;当这种情况发生时,“只有一种解释,那就是存在另一种动机”。他的“首要建议”是,即使在项目开始之前,也要确保它在该机构或组织内部拥有正确的倡导者和支持;这是决定项目成败的真正决定因素。
在回答一位曾经在 INFOTEC 担任承包商的墨西哥公民提出的关于许可证审计(以强制遵守专有软件条款)的问题时,González Waite 说,所有大型专有软件公司“都是大恶霸”。他曾被叫到美国大使馆并受到威胁,因为墨西哥使用了非来自美国的技术;当他解释说政府也使用了来自 Amazon、Google 和 Microsoft 的软件和服务时,这些威胁有所缓和。各家公司利用美国政府来欺负其他国家,但他们也使用许可证审计来应对转向开源软件的项目。每次成功切换后,“六个月后就会进行审计”;他说,拥有一支合适的法律团队有助于抵御这些策略。
早些时候,González Waite 曾指出,新总统政府尚未在迄今为止颁布的任何立法中明确规定使用开源软件。另一位墨西哥人问他是否担心新政府正在背离开源。“我认为现在判断这一点还为时过早”,他说。目前,前任政府的相关立法尚未被撤销,但这将在不久之后发生,他希望开源工作能够继续进行。
他回答的最后一个问题是关于处理政府系统中库和其他依赖项的过时问题;许多此类项目将运行数十年,但依赖项可能无法维护那么长时间。González Waite 承认这是一个主要问题;许多政府由注意力持续时间较短的政治家管理。政治家们正在寻求认可,这会带来选票,然后他们就会转向下一件事。在墨西哥,由于每六年一次的总统更迭,这个问题尤其严重;大多数合同和计划都不会超出过渡期。解决这个问题非常重要,因为技术变化太快了,尽管这需要在墨西哥制定重要的立法才能做到—目前,这个问题仍然没有解决。
一段关于这次谈话的视频应该很快就会出现在 SCALE 的 YouTube 页面上,但是该房间的完整谈话集可以通过 这次谈话 作为当天的第一个谈话来获得。
[我要感谢 Linux 基金会,LWN 的旅行赞助商,感谢他们资助我前往帕萨迪纳参加 SCALE。]
全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。
欢迎分享、转载及基于现有协议再创作~
长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~