《木兰开源产业观察》是由木兰开源社区定期编制并出品的开源产业研究资讯,聚焦国际国内开源热点事件,并广泛与国内开源从业者沟通交流,研究事件前因后果以及应对策略,推进中国开源产业发展。
日前,瑞士通过了《履行政府任务电子手段使用联邦法案(EMBAG)》,要求所有公共机构披露其开发或为其开发的软件源代码,除非涉及第三方权益或安全问题。除了要求使用开源软件,新立法还要求将非个人和非安全敏感的政府数据作为开放政府数据发布。此举旨在增强政府运作的透明度、安全性和效率。
无独有偶,德国北部州 Schleswig-Holstein(石勒苏益格-荷尔斯泰因)近日宣布,将对其政府机构的计算机系统和软件进行重大更换。计划将现有的微软 Windows 操作系统和 Office365 软件包替换为 Linux 操作系统和 LibreOffice 等开源软件解决方案。这一举措涉及约 3 万台政府使用的计算机。随着内阁决定全面引入开源软件 LibreOffice 作为标准办公解决方案,政府已批准在该州迈出实现完全数字主权的第一步,并将采取进一步措施。
但在更早之前,2003 年,德国慕尼黑市议会投票通过启动 LiMux 项目(基于 Ubuntu 的“慕尼黑发行版”),将市政系统使用的 Windows 和 MS Office,换成 Linux 和开源软件,将 Microsoft Office 换成 OpenOffice,所有的政府软件系统和公务员的个人电脑从 Windows 迁移到开源软件平台。这在当时算是史无前例的行为。
到 2013 年,慕尼黑市政府 80% 的台式机都运行在 LiMux 系统中,并表示开源软件为他们节省了 1360 万美元,而如果将软件的官方支持和其他隐性成本考虑进来,数字可能会更大。到 2014 年,慕尼黑已经有 14000 台 PC 运行在 LiMux 上,基本完成过渡。但到 2017 年,慕尼黑政府换届后,以开源系统兼容性不好,部署效果不佳为由,决定采用 Windows 10 创建全国统一的客户端架构,并最迟在 2020 年底完成 29000 台计算机系统的部署。
有议员称,慕尼黑之前一直挣扎于 LiMux 的普及,而用户并不满意,公共部门的软件基本上只支持 Windows。这一迁移决定的预算是 5000 万欧元(约4亿人民币),其中购买软件预计花费 4930 万欧元,剩下 310 万欧元用来测试和培训(注:议会换届之后,这一计划直接被作废了)。
请问:
办公系统全面使用开源软件的可行性与可靠性都有哪些? 开源软件的使用,是否会在减少购买软件费用的同时,增加隐形的费用?如人员培训、系统兼容、软/硬件适配等。 在数字主权(Digitally Aovereign,是指相对于封闭的私有软件,公共管理部门对开源软件构成的 IT 解决方案有更多的控制权。政府部门可以有更多的选择,可以资助当地的程序员改进开源软件,可以根据需要进行修改以部署在自己的基础设施中)方面,开源软件和闭源软件的优势和劣势,分别有哪些?
开放原子基金会 TOC 主席;COPU 常务副秘书长 谭中意
其实办公系统全面使用开源软件进行替代,在国内外都有很多的案例可以参考,有成功的案例,也有不成功然后导致反复的案例。
究其原因来讲,在一个大型组织内大批量的使用开源软件来替代封闭软件,是需要相对成熟的开源技术以及服务的。某些人认为不就是用 Ubuntu 替代 Windows,然后在上面使用 LibreOffice 替代微软 Office,用 Chrome 替代微软 Windows 吗?
没有那么简单,还有大量相关的技术工作和服务工作需要实施,例如微软的 Active Directory 的迁移就是一个很大的问题。
国内相对来说统信做的还不错,积累了大量经验和成功案例。
针对本次的问题,首先,办公系统全面使用开源软件是可行的,国内已经有大量的案例说明。可靠性也是有保证的,不过企业用户得找一家开源服务支持提供商来提供支持。
其次,开源软件的使用,迁移费用和培训费用都是不可避免的,但是相对于比较昂贵的商业软件许可证,还是比较划算的。
最后,商业软件因为源码不可见,相对来说容易隐藏后门。政府部门可以更大范围的使用基于开源软件的系统,这样更安全。
在替代的过程中,政府应该起到如下三个作用:
支持开源系统软件商做好研发和服务,即提供资金 开放政府部门的市场,让这些开源系统软件商积累替代商业软件的经验 监督,督促开源软件提供商不断提高软件质量和服务。
任何政府机关都会用到很多软件,最近的新闻中,我们看到了瑞士的政策:要求所有公共机构披露其开发或为其开发的软件源代码、要求使用开源软件,认为此举旨将增强政府运作的透明度、安全性和效率。
但是:政府开发或采购软件,真正应该关心的是什么?以及,通过开源是否能够达到他们的目的?
在我看来,追求“我们使用的软件,我们自己要具备控制力”,是一个关键。自己开发的软件,开发人员离职之后,其他人能够看得懂。采购来的软件,我们能够有明确的合同条款,规定供应商的维护义务。这才是控制力。手上有开源代码,仅仅是一种“可能性”,如果出了问题,我“有可能通过找人”来理解代码,然后搞定。但是,时效性如何保证呢?仅仅要求开源,可能会给政府带来一种虚幻的安全感。
要保证可控性,在我看来需要关注以下几点:
SBOM:你得知道软件成分,开源软件、版本、授权协议、是多少年发布的版、历史上的安全漏洞情况; 维护合同:在安全漏洞被公开披露之后,供应商能够在多快的时间内解决?如果造成损失,依据什么原则赔偿? 人才与技能:一款软件的开发人员与维护人员,对于开源合规、开源安全的理解有多少?是否能够在开发期不埋坑,维护期能填坑?
从商业的角度来说,如果我们要求供应商的软件 100% 完全开源,可能也会造成他们的困扰,因为完全无法形成竞争优势,他们的潜在客户完全可能被竞争对手,用他们的开源的代码给抢去了。因此,还是要给供应商留下合理的赢利区间,否则也是难以长久的。
世界软件产业过去数十年中,长期处于开源与闭源两种模式的共存发展状态。对于拥有早期先发优势的闭源软件企业,其具有生态完善的优势,并且通常依靠强势的知识产权保护政策,打击竞争对手,通过严格的维权手段获取利润。而对于闭源软件的使用方,在享受较完善的兼容性及适配性的同时,由于所使用软件源代码不开放导致的底层技术不透明,始终存在弱自主控制权的天然隐患,一旦所使用闭源软件出现底层技术问题,则容易给使用方造成较大的不可控安全风险。
如果使用开源软件,开源软件作者不但公开源代码,且让渡软件复制权、修改权、传播权等多项知识产权权益。公开透明的底层技术既可以给使用方带来很大的自主控制空间,也可以通过开源社区汇聚多方力量不断提高软件质量和安全强度。但使用开源软件,客观上确需容忍开源软件全方位生态建设的完善过程,难以一蹴而就,在此过程中,开源软件使用者需要建设自身的专业技术能力以应对各种可能的问题。且开源软件并非可任意使用的软件,开源软件作者均通过开源许可协议规制使用者的权利义务。因此对于开源软件的使用,在减少购买软件费用的同时,同样需要注意法务合规问题,避免法律纠纷和经济损失。
因此,正是由于开源软件和闭源软件各自具有的特点导致两种模式的长期共存。使用者应结合自身的发展阶段和实际情况,科学选择所使用的软件,确保各项业务的安全长久发展。
政府部门采用开源,最初主要考虑的是成本问题,也就是说政府如果有充足的预算,那么考虑的主要是功能满足与否,能提供最好的服务最佳。如果政府的资源有更为重要的优先级考量,那么才会考虑其它性质。或者说有其它更为紧迫/强烈的需求。
回答上述问题并不难,难得是背后的社会机理和日新月异的技术之间的关系。开源并不是软件本身的属性,而是生产、维护和创新的考量,办公系统是否采用开源,取决于政府当局对其自身需求的急迫程度和未来的投入预期,理论上开源的 OpenOffice、LibreOffice 等项目已经足够优秀的了,能够满足日常需求,问题就在于后期的维护和定制。
“天下没有免费的午餐”,开源软件的使用,与闭源软件,从功能、经济的角度来讲,各有优劣势,政府采用可能考虑的更多的是:开放性、透明性、可定制、不被锁定等等其它因素,至于人员培训、兼容性等成本,无论开闭都是免不了的。(这里面唯一可能的疑问就是社会/教育背景对技术的路径依赖,比如大多数人学过某款软件,例如我们日常使用的键盘布局,确实是有成本的,而且迁移的代价也是高昂的。)
重点是第三个问题:关注主权,或者是对系统的掌控力。这是一个长久以来都被探讨的重要话题,涉及到数字化社会的重要权利等议题。这不得不让人想起20多年前的思想家 Lawrence Lessig 的断言,“代码就是法律”,提出了约束社会主体的四种主要权力:法律、市场、社会规范和代码/架构:
近年来,法律学者胡凌则基于此而提出了更为扩展的理论,也就是说约束社会主体的远远不止上述这些,还有数字化带来的全新规制:
在数字社会里,我们看到了权力的变化,超越了现实的物理世界。而在力量的角逐中,开源是最为公平的。也是政府作为数字平台,最可靠的发展路径。所以,当我们看到政府拥抱开源,或者在未来加大对开源的鼓励,无非是更好的提供服务。
转载自丨木兰开源社区
作者 | 石文奇
编辑丨李楠