台北市政府开源大数据中心城市仪表板,今年下半年将让台北通初步开源鼓励共创

图片来源: 

GitHub

台北市政府在2022年成立大数据中心,加强数据搜集、整合及分析,以作为市府决策参考,其中呈现各项数据的台北城市仪表板,近期台北市政府已开源,让其他政府机关免费使用,打造自己的城市仪表板。台北市政府资讯局长赵式隆期望透过开源,借助外部社群发挥共益、共创精神,提升市府数位服务。

台北市政府过去曾开源数位服务程式码,例如过去在北市资讯局长李维斌时代,曾释出台北市政府Line服务程式码,线上投票系统i-Voting,并曾透过GitHub释出公开资料供外界使用。赵式隆担任资讯局长后加大开放政策,开源大数据中心使用的城市仪表板。

市府将台北城市仪表板大部分的程式码上到GitHub,并提供相关的指引及设计规范,「任何人只要下载开源码,再串接资料,就能根据台北市政府开源的城市仪表板,来建立自己的仪表板」,赵式隆说。

他以Google的Chrome浏览器及开源的Chromium举例,官方的Chrome浏览器内使用Google的独门秘方,但是Google将Chrome大部分程式码开源,透过Chromium专案和外界分享,包括微软Edge浏览器、强调隐私设计的Brave,以及Opera浏览器均基于Chromium打造。

「台北市政府推动Open Source有2个核心精神,共益与共创」,他表示,台北城市仪表板与城市仪表板如同Chrome与Chromium的关系,共益是让市府开发的仪表板核心,让外部也能使用,让其他人受益,如同Google推出Chromium专案,开源浏览器核心的目的,让更多人使用并提出贡献,协助找出漏洞,Chrome或Chromium就能进步愈快;城市仪表板将图像视觉化平台开放,让其他城市或民间企业的任何人觉得城市仪表板有价值,免费开放大家一起使用、提出贡献,也能让城市仪表板进步速度变快,并且,促使官方的台北城市仪表板跟著进步,也就是另一个精神共创。

台北市资讯局长赵式隆上任后,推动市府数位服务开源为其任内目标之一,透过开源让民间开发社群参与,发挥共益、共创。

目前台北城市仪表板的组件都是由台北政府官方自己开发,赵式隆直言,官方自行开发仍和现今主流Internet精神仍有一段落差,除了速度比较慢,多样性也不足,官方思考的面向也比较单一。

他指出,民间提出贡献给开源专案的最大价值是,政府在执行业务上,很多时候碍于公务机关身分不能做,但可以鼓励民间去做,其次是,以往政府从公关机关角度思考民众的需求是什么,不见得是民众真正想要的,透过开源让民间也能参与,从民众视角看他们真正的需求,例如过去疫情期间,政府开放口罩资料,由民间团队开发口罩地图,满足民众的需求。

因此,尽管市府预算经费都已底定,资讯局仍筹出经费在去年底举办台北程式设计节,鼓励来自产业或学校团队参加,台北大数据中心也有专人协助下,协助这些团队在城市仪表板设计规范之下,开发新的组件或创意,经过审核后,整合进开源的城市通仪表板,甚至大数据中心和这些团队合作,将他们的创意或视觉化组件整合到台北城市仪表板,通过新的图形组件和视觉化的地图整合,获得新的洞察,其中一支参赛团队提出强化城市韧性等高线图形组件,另一团队对仪表板设计规范提出对色盲或色弱使用者友善的无障碍框架建议,「这是过去市府没有想过的」他说。

资讯局希望透过开源,让城市仪表板能够被其他单位使用,未来希望让城市仪表板发展成为标准,开源免费使用,赵式隆认为,开发的组件如能上架台北、桃园、台中、台南其他县市,让开发者有更强的动机去开发自己骄傲的产品,是共益、共创精神相当重要之处。

如同Google在付费的官方Android之外,也释出纯开源的Android,让手机业者基于开源版打造自己的手机OS,赵式隆也希望城市通仪表板未来能发展成为一个基础,让其他人能根据这个基础开发自己的服务,「我觉得这是非常棒的事」,这也是他进入北市资讯局致力推动的目标之一,鼓励外界参与共益、共创,在去年他上任后首次举办黑客松之后,他也希望任内每年举行两次大型黑客松。

下一步要让台北通开源

台北通是另一个准备开源的目标,但不同于台北城市仪表板采用《大教堂与市集》(The Cathedral and the Bazaar)的大教堂模式,由市府负责维护,台北通未来将采市集式的开源作法,倾向由社群负责维护。

不过,由于台北通的背后较为复杂,关系到4或5家业者协助开发,市府虽握有原始码,但在开源之前,必需作好相关的前置准备,需先经过盘整,使其易于维护,让外界容易理解进行开发。

另外,台北通因采实名验证机制,考量到资讯安全,赵式隆表示,资讯局对台北通的开源会更为谨慎,完成相关的前置准备后,目标是希望在今年下半年初步开源,虽然主程式不会立即开源,发挥共益的精神,让其他县市运用开源码打造各自的城市通,但是共创方面可以先行,与台北城市仪表板推动共创精神类似,鼓励民间参与协力开发台北城市仪表板的组件,台北通作为一款Super App,经常需要新增功能及服务,也能鼓励民间共创。

他解释,目前台北通如依照Apple Store、Google Play等App更新限制,需要经过苹果及Google的官方审核,耗费时间,难以满足需要在几个小时内新增功能的需求,因此类似于微信小程序的作法,台北通利用WebView来增加新的功能或微服务,让使用者自行钉选常用的服务或功能,台北通即使主程式尚未开源,类似小程序的微服务可以先行,鼓励共创,让开发者可以WebView方式开发新功能或服务,未来上架到台北通,让使用者自行选择要使用的功能及服务,因此可以借助民间开发社群力量,让他们协助开发台北通内WebView的微服务。这对于开发者也有好处,过去开发者开发新的App,需透过各种行销吸引使用者,台北通现有约400万注册用户,开发者如果上架微服务至台北通,就能节省庞大的行销费用。

长期目标而言,北市资讯局的目标是让台北通开源,但是如前面提及的,台北通由4、5家厂商协助开发,在叠床架屋之下,各家厂商的开发风格各异,如果没有经过盘整就贸然开源,可能难以吸引开发社群的兴趣,因此资讯局要经过软体重构,让程式码从头到尾的开发理念、注解方式维持一致,易于社群维护。

赵式隆指出,这么做的另一项好处是,避免被单一厂商绑架的问题。过去,委托外部厂商开发,后续对外招标维护或是开发新功能,开发的厂商具有优势,容易被单一厂商绑架,经过软体重构后开源上架到GitHub,后续的维护或新功能开发招标,根据哪家厂商能维护的更好、性价比更高来选择,避免被特定厂商绑架的问题。

「我们的目标是让台北通成为一个最佳实践,即使不清楚在我任内可以走到多远,都希望市府手上的原始码,就算不以和他人分享为目的也要开源,唯有如此,才能让政府的数位服务更易于维护,并且在公平竞争下,取得性价比高的服务」,赵式隆说。