圖片來源: 

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,經常需要新增功能及服務,也能鼓勵民間共創。

他解釋,目前台北通如依照App Store、Google Play等App更新限制,需要經過蘋果及Google的官方審核,耗費時間,難以滿足需要在幾個小時內新增功能的需求,因此類似於微信小程序的作法,台北通利用WebView來增加新的功能或微服務,讓使用者自行釘選常用的服務或功能,台北通即使主程式尚未開源,類似小程序的微服務可以先行,鼓勵共創,讓開發者可以WebView方式開發新功能或服務,未來上架到台北通,讓使用者自行選擇要使用的功能及服務,因此可以借助民間開發社群力量,讓他們協助開發台北通內WebView的微服務。這對於開發者也有好處,過去開發者開發新的App,需透過各種行銷吸引使用者,台北通現有約400萬註冊用戶,開發者如果上架微服務至台北通,就能節省龐大的行銷費用。

長期目標而言,北市資訊局的目標是讓台北通開源,但是如前面提及的,台北通由4、5家廠商協助開發,在疊床架屋之下,各家廠商的開發風格各異,如果沒有經過盤整就貿然開源,可能難以吸引開發社群的興趣,因此資訊局要經過軟體重構,讓程式碼從頭到尾的開發理念、註解方式維持一致,易於社群維護。

趙式隆指出,這麼做的另一項好處是,避免被單一廠商綁架的問題。過去,委託外部廠商開發,後續對外招標維護或是開發新功能,開發的廠商具有優勢,容易被單一廠商綁架,經過軟體重構後開源上架到GitHub,後續的維護或新功能開發招標,根據哪家廠商能維護的更好、性價比更高來選擇,避免被特定廠商綁架的問題。

「我們的目標是讓台北通成為一個最佳實踐,即使不清楚在我任內可以走到多遠,都希望市府手上的原始碼,就算不以和他人分享為目的也要開源,唯有如此,才能讓政府的數位服務更易於維護,並且在公平競爭下,取得性價比高的服務」,趙式隆說。

熱門新聞

Advertisement