写点什么

英国政府的开源开发

  • 2016-12-04
  • 本文字数:1734 字

    阅读完需:约 6 分钟

为英国政府开发的新代码现在已经开源了。政府数字化服务(Government Digital Service,GDS)技术架构师 Anna Shipman 说,以开源的方式进行代码编写可以让它们被重用,并提高透明度,最后会实现更好的数字服务。Anna Shipman 在 2016 GOTO 柏林会议上谈到了政府的开源行为

我们所做的事情就是要改变政府的工作方式,Shipman 说。英国政府希望提供的非常好的数字化服务,好让大家喜欢使用它们,并最终让政府和公民间可以更好的互动。

英国政府的软件开发以前是每年都用大爆炸式的版本来完成的。近年来这种方式已经改变了,许多团队每天会做几次代码更新。

Shipman 给出了一个例子:当车主们想要转让或保留登记号码时,他们必须要做什么事情。以前,他们不得不填写一张纸质的表格。现在,他们可以在网上填写电子表格,这样做更容易,速度也更快。在线上做这件事也降低了政府的处理成本,所以公民们现在为这项服务支付的费用也减少了。用户们对这项服务的满意度为 91%。

英国政府一直致力于将代码开源,Shipman 说新开发出来的代码应该默认就是开放的。当然用来处理安全或配置相关功能的代码也许可以除外。但即使是这类代码,有些也正在向开放发展。

大部分用于 GOV.UK 服务的代码在 GitHub 上都可以下载。开发过程中项目经历了四个阶段:发现、Alpha、Beta 和生产。这些阶段在政府服务设计手册中会做进一步的解释。

这里的“将代码开放”和“开源开发”是有区别的,Shipman 解释说。“将代码开放”意味着 GDS 不会承诺将来会对代码提供支持,也不承诺它将会一直被维护。同时,GDS 不会准备以这样的代码为中心来建立和支持一个社区。即便是这样,像新西兰、以色列等国家,还有美国的莱克星顿·肯塔基等城市,他们搭建自己的网站时使用的仍是 GDS 的代码。

大多数软件都是以“将代码开放”的方式开发的,但也有一些是开源代码。Shipman 提到了 vCloud 工具,这套在 GDS 内部开发的软件最终由代码开放转变成了开源

今年早些时候,Shipman 在 QCon 伦敦大会上发表了关于英国政府内的 DevOps 的演讲。她在演讲中提到,GDS 在使用开源工具,也在开发开源工具:

GDS 使用了大量的开源工具。其中,他们使用 Jenkins 作为一个 CI 服务器,使用 Puppet 完成 IT 自动化,使用 syslog 和 Logstash 完成日志记录,使用 Cucumber 完成验收测试和 Icinga 完成监控。GDS 还以开放的方式开发了大部分他们使用的工具和应用程序。在 AlphaGov 项目上可以找到所有他们开放出来的工具的源码,但不提供任何方式的支持。GDS 运维团队负责的工具则承担了更多的责任,比如 vCloud 工具。

将代码开放使得代码能被重用,并增加了透明度。Shipman 认为它会强迫你用正确的方式做事情。它的缺点之一是,它可能会让团队里的新员工感到害怕,因为他们写的代码将是人人可见的。GDS 处理这件事情的方法是凭借对代码审查非常正面的态度,并且通过对新员工的帮助来完成的,如结伴编程。

在文章《英国政府的敏捷:一位内部人士透露了一切》中,Nick Tune 讲述了英国政府从开源代码中获得的好处:

另一个 GDS 的辉煌例子是他们如何成功地设法将开源理念引入了政府。不仅仅是使用开源代码,而且是创造开源代码。比如,如果你去浏览一下英国税务及海关总署的 github 网站,你可以看到成百上千的开源项目。而且不仅仅只是库。你可以找到英国税务及海关总署的网页前端代码,也可以找到领域驱动的微服务代码,而这些代码都是在 GOV.UK 网站上实际运行着的。

我对 GDS 取得这样的成就感到惊奇:在政府内促进重用、给纳税人们看他们的钱是怎么被花掉的、并避免了厂商锁定。就我个人而言,我喜欢将代码开放。它对所有的开发者都保持了高标准的工作要求,所以我们不会产生下一代产品的维护负担,因而浪费纳税人的钱,并无法为英国公民创造价值。

Shipman 提到了数字化服务标准:一套所有面向公众的服务领域都必须遵守的18 项标准。该标准包含的部分规定有:软件必须由多学科团队使用敏捷方法迭代式地进行开发;团队必须了解用户的需求,进行不间断的用户研究,并进行端到端的服务测试。

一些GDS 目前正在做的事情是找出最有用的项目,使它们成为开放源代码的候选,找到方式帮助团队用开放的方式进行编码,并增加他们对开源的贡献。

查看英文原文 Open Source Development at the UK Government

2016-12-04 18:002086
用户头像

发布了 152 篇内容, 共 73.3 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

【YashanDB知识库】YAS-00402 failed to connect socket, errno 111, error message "Connection refused"

YashanDB

数据库 yashandb

英特尔2024技术篇章:矢志探索,砥砺前行

E科讯

推理模型的“年终考试”,谁是国内目前最好的“o1”?

Alter

AI 大模型 推理模型 大模型应用

甲子光年智库发布《中国 AI 算力行业发展报告》

中昊芯英

gpu 算力 TPU #人工智能

为什么企业需要 IT 资产管理软件?

ServiceDesk_Plus

资产管理 IT资产管理

做TikTok直播为什么需要稳定安全的海外直播网络

Ogcloud

海外直播专线 tiktok直播 tiktok直播专线 海外直播网络 tiktok直播网络

履约系统:应用层、领域层、集成关系设计

不在线第一只蜗牛

Java 大数据 运维

【YashanDB知识库】listagg拼接结果发生溢

YashanDB

数据库 yashandb

快手动效渲染引擎Crab,解锁“游戏化动效”开发新方式!

快手技术

Java 前端 动效

【YashanDB知识库】imp导入数据库时,报错YAS-08023

YashanDB

数据库 yashandb

读懂华为开发者空间第一课,让云上开发如此简单

华为云开发者联盟

鸿蒙 软件开发 云主机 昇腾 CodeArts

时序数据库TDengine 2024 年终总结:与时代共跑的马拉松,我们携手同行

TDengine

数据库 tdengine 时序数据库

【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断

YashanDB

数据库 yashandb

用户态文件系统在高性能文件存储中的探索实践

焱融科技

高性能存储 用户态文件系统

智慧酒店产业发展中的新突破——时序数据库TDengine与广东粤万润科技的深度合作

TDengine

数据库 tdengine

实时告警与性能监控:通过时序数据库 TDengine、taosKeeper 和 TDinsight 实现无缝监控

TDengine

数据库 tdengine

Sense 对话语音 AI:自动电话呼叫加快招聘流程;灵初智能发布端到端强化学习具身模型,实现长程任务泛化

声网

JVM实战—G1垃圾回收器的原理和调优

EquatorCoco

Java JVM

这两天在改BUG,下午就被通知在改进优化了...

Summer

Java 程序员 面试 架构师 大厂

【YashanDB知识库】sys登录提示账户被锁,怎么处理?

YashanDB

数据库 yashandb

springboot~多节点应用里的雪花算法唯一性

快乐非自愿限量之名

Spring Boot

得物基于AIGC生成测试用例的探索与实践

得物技术

AI 效率提升

基于Redis有序集合实现滑动窗口限流

快乐非自愿限量之名

Java redis

亚马逊直播网络不好的影响及改善方法

Ogcloud

海外直播专线 直播专线 亚马逊直播 亚马逊直播网络 亚马逊直播专线

揭秘!如何将动效描述自动转化为动效代码

快手技术

Java 前端 动效

消失的一个多月,我用 AI 做了三个项目,简直不要太爽!

沉浸式趣谈

英国政府的开源开发_开源_Ben Linders_InfoQ精选文章