我是 clkao,其實也沒甚麼好介紹的,就是一個喜歡寫程式的人。同時很喜歡泡♨溫泉,也有一些人知道。「COSCUP」其實是一個非常有趣的活動,因為它就是…因為有蠻多活動它其實是給developer們的。那「COSCUP」的話它其實有很多就是user或promoter這樣整個社群的一個一起的互動,相信今天會來這邊的人「開放源碼」就不大需要再解釋是什麼東西了,可是有一件觀察可能還蠻有趣的,就是說我們知道「COSCUP」開始是 2006 年,而那時候的議程可能大家都還需要和外界介紹什麼是開放原始碼,而那時候如果在 2006 年的議程,有人講說十年後的(手機)作業系統戰爭是 Linux vs BSD,一定有人會覺得你是神經病對不對!可是大家知道,各位應該手機不是 Android 就是 iOS 吧?... ... ... 除非你在當兵。(影射洪仲丘手機事件)
Anyway,那其實這個六七年來就是說,甚至更久以前第一次的「COSCUP」應該是 OSW 時代 ( 註: Open Source Workshop ),是99年。那其實到了今年你看已經幾乎一個月一個conference,所以整個在台灣,至少台灣來講的話,Open Source Community 等於是說非常非常地活躍了。
好那所以這個圖是最近我被邀請去講 open source 這件事情,我就覺得 open source 這件事情現在還有什麼好講的?不是本來大家就都會用open source嗎?所以你不需要再去跟專業公司說你應該多採用 open source 而不是用一些 closed source 的 solution,這都變成 standard practice 了。
既然今天我們講到一些古代的事情了,稍微考古一下好了,其實開放源碼重點其實是 code 源碼,那 code 這東西最早其實是距今大概四千年前就已經有了,ok 不知道大家有沒有看過那時候的 code,其實長的跟現在還蠻像的,只是他是寫在石板上面,可是他結構上基本還是像我們今天寫的 code,它也不是 functional,還蠻 imperative 的,就 If...then...,所以像這個是蘇美人的法律他會寫在這個石板上,如果說發生什麼事的話。比如說這個人殺了人,然後他要受到什麼樣的處罰。
OK,既然講到程式碼,那我們就在想說這個程式碼是誰可以寫?因為這邊譬如說我們在 open source 圈就是 developer 寫程式碼,那誰可以寫這個石板上的程式?當然是國王,國王說了什麼要改什麼就改了,他就是唯一的committer。那這件事情其實撐得蠻久的,到大概西元一千多年的時候這個「大憲章」簽署的時候,變成國王是不能凌駕在法律之上的,就是說國王他必須也要就法律的規範他必須也要遵守這樣。那所以我們再稍微回頭想一下,這個法它叫做code,那其實跟我們平常在寫軟體跟用軟體這件事情還蠻像的。所以就是說民主這件事情,其實就是說你可以選擇你要跑什麼code,而不是說這個系統給你就 是windows 你不能裝別的東西,或是 internet explorer(IE) 然後不能裝任何東西。但是另外一層下去讓你選擇你要跑什麼,可是呢你也可以「Patch(補強)」它,你也可以說這個系統不夠好,我今天把它改成什麼樣子。所以以這個機制來講的話「立法委員=committer」 ,ok?那這個整個政府,就是我們平常遇到的政府機關或整個系統,其實就是這些法律他被運作起來,被政府的機制運作起來,組合成的一個東西叫政府。
好那這些政府的「Action」譬如說是什麼呢?有些範例譬如「台北好好拆」(這個是萌典的,待會會介紹到)、「絕對沒有畫面」所以有人做了這個相機 app,還有最近的「兩岸服務貿易協定」的簽訂,它是完全沒有和其他相關產業溝通,或者是讓很多人參與可以提供意見,莫名其妙就簽了這件事情。所以最近剛好很多事情大家就覺得很不滿,需要…譬如說今天晃來晃去蠻多人穿白色衣服的 (註: 當天 8/03 晚上有 "萬人白T送仲丘" 活動) ,可是通常我們表達不滿之後我們得到的回應:「依法辦理 謝謝指教」這個大家應該都蠻熟悉的,可是我要跟各位講,各位其實如果是 developer 或是說,常在使用軟體的人,這些事情,我覺得算是還蠻合理的,譬如說你會問IE 說你為什麼不支援什麼功能?你會得到完全一樣的回答 (「依法辦理 謝謝指教」 ),因為他程式碼就寫成那個樣子呀!他沒有辦法加那個功能進去就是沒有辦法,對不對?
好那同樣的問題如果你是問一個 open source 的 browser 的時候,他說好啊,那你開 issue 啊,或你來 patch,或看你要不要付錢請人寫。就是它是一個可能可以被改變的事情。所以就是說大家都在 open source 圈,可能參與不同的角色,你可能是 developer、可能是 user、可能是辦 conference 的工作的朋友,那其實公民社會很像 open source 這樣的 community,只是大家關注的可能是社會上的一些議題、國家的體制的一些東西。
為什麼會講到這些東西呢?是因為去年的時候發生兩件事情,我其實去年都在渡假,不過我就是後來在五月的時候飛行傘出了點意外,所以我的脊椎就變成這樣子了,不是很妙,可是身為一個愛寫程式的人,我那時候大概住院住了三個禮拜,突然覺得很無聊,所以覺得應該要寫寫程式看要幹嘛!這是第一件事情。第二件事情是,其實去年大概十月的時候,不知道大家有沒有看過一個,很有趣的非常熱門的 YouTube 上面的 video(經濟動能推升方案),如果沒有的話就稍微講一下,至少它給我的感覺是,反正政府在做很多事情你不用管,不關你們的事情但我們在做就對了!那當然就是說我們都不是很高興,「很多事情正在加速進行中」,就覺得加速進行到底是在加速什麼,只看到稅金正在加速的燃燒中,所以後來就和朋友做了一些事情,比如說我們把中央政府總預算視覺化出來,看看政府的預算大概長什麼樣子,每一個分類下面大概哪一些大哪一些小、哪一些和去年比較怎麼樣。好那做了這個之後還蠻多人反應的,反還蠻熱烈的。好像我們可以做更多事情,好像資訊、社會大家可以做更多有趣的事情。
所以我們就在想說名字怎麼來的?我們把「gov」的「o」換成「0」,有一個從零開始思考政府應該做什麼事情的想法,那另外一個想法是說像我們應該算是數位原生時代,基本上獲取資訊不是看報紙吧?應該沒有這邊看報紙才知道今天 COSCUP 的。那就是說,從這個世代來講的話,我們可以怎麼樣思考原本政府運作的方式,或者民主運作的方式,是不是可不可以做更大的改進?主要進行的就是用「黑客松 Hackathon」的方式,大家到一個地方來「Hack」,「Hackathon」其實就是「Hack Marathon 黑客 程式馬拉松」,到一個地方一直寫程式,關起來一整天,然後要吃東西嘛(等於「大家一起來吃炸雞協作」)。可能有一些人就提一些意見、有一些想法,我想要達成什麼東西、需要什麼人幫忙,大家就自行揪團在旁邊開始hack。
這件事情其實還蠻熱門的,這叫做「Civic Hacking!」,用寫程式的方式去 improve 一些資訊之類的,那在國外,其實最近都還蠻熱門的。其實起因「革命不是請客吃飯」這大家應該聽過,但其實「但是不請客吃飯也不行」,所以活動很重要的重點大概就是要一些食物,這是活動大概的樣子。參與的人其實還蠻多的,然後蠻多元的,那這個是有掛在IRC上面的,有在IRC上面發言過的人到這幾天大概有三百多個人,參與的人有各種 developer、也有 designer、有關注社會議題某一些不同議題的人。如果到 g0v 的 about page 你就可以稍微看到,其實就是一些介紹,幫各位先整理懶人包,就是這幾個重點:「資料透明」、「改造政府」、「去中心化」、「開放源碼」。
那快速講一下有什麼最近的一些成果好了!第一個是「標案分析」就是說因為政府的投標或是決標都是公開的,其實你可以用這個資料查到一些非常有趣的事情,譬如說哪一個單位特別容易由哪家廠商得標,或者說有哪兩家廠商特別容易同時出現得標,那麼其中意涵可能就要其他高人去解釋,我們不懂我們只知道可以把資料整理出來,或是說我們可以查查看所有關於keyword有「雲端」的標案到底是什麼?然後佔的比例是多大?
各位就會發現很多都是在蓋機房,其實... 不重要。好那其實有蠻多都是一些基礎工具的,像譬如說這邊有一個「人物關係圖產生器」可以上去編輯說,就是說A和B有什麼關係,這個好像在爆料媒體很喜歡用的,因為大家他可以一目了然看到這個人物的關係,那這個是 tkirby 做的他在明天會有...對不起寫錯了應該是今天,在今天會有演講,今天下午。
那另外一個是jimmy做的這個算是一個,就是他把Wikipedia的page轉換成一個timeline的形式,變成說你可以在上面scroll到就是說譬如洪仲丘事件,幾年幾月發生了就是說他的進展是什麼。那另外一個就是說譬如「立法院的效率」,大家可以看到這邊是他每次開會他處理的議案的數量,那紅色的是暫不處理的,綠色是通過的,黑色是赴黨團協商的,那這個資料忘記更新了所以直接到最後一個你可以看到很多東西在最後一次通過,就第十七的這邊。
那其實憑良心說立法院他的資訊化做得還蠻不錯的,他是大概十幾年前就已經開始做了,那以那時候的技術做到的規劃我是覺得還不錯,只是說其實還是蠻難閱讀的,譬如說很多資訊他可能是五百頁的PDF,像這是某一個提案,法令的修正的一個提案,那這個可能就藏在五百頁PDF的其中的某一頁,尤其這個提案他可能有五個版本,所以我們就做一個簡單的工具你可以看說A版本B版本他看原來他要改的法令的差別到底是什麼,就是做一些基本的工具可以讓…除了當你要去瞭解這件事情的時候不需要花太大的力氣去翻那個五百頁的PDF。
那像還有一些譬如說投票的一些視覺化,你可以很明顯看到左下角有一位…那個投票的不大一樣的人,就是說如果這樣的視覺化出來,其實有些資訊就更明顯。那還有就是說,因為立法院他其實還有一些質訊嘛,那所以每一次的對話其實都可以在...他也是藏在那個 PDF 裡面,所以我們就想說把他做成一個介面可以在這邊看然後可以去評論或是說去回信給他,譬如說這邊就會有一些奇怪的人的對話,我們不懂當然嘛我們是選民要再去問他說你到底是說不要什麼!
一開始其實是想說做很多監督政府相關的事情,那其實就是辦黑客松然後大家一起來玩,就開始有很多有趣的 project 就冒出來了譬如說像是「萌典」,相信這個大家應該都有看過,所以我就先不多介紹,那下午兩點半那個 au 會介紹。那另外還有一個是…這也是今天下午會...好多議程喔!那個 blue(iamblue) 他做了一個把這個因為全國各縣市的那個福利的法規其實是完全就是不同調的,也就是說每一個縣市都有他自己的規定,所以對於需要福利補助身障補助的人他其實非常非常難查詢的,所以現在我們做一個統一的介面讓大家可以很快用 keyword 搜尋。
那另外發覺就是說,譬如說我們知道本來網頁 404 就是找不到,所以就有人想說這個可以跟失蹤兒少結合起來,就是說如果網頁願意參加這個 campaign 的話他可以把他的 404 page 換成失蹤少年的一個圖片。還有很多像是法律的紀錄,其實我們有一位把他 import 到 github 裡面,所以你可以看到每一條法律他的 blame。比如說他最後一次是哪一個改的?然後每一次改動是什麼?可是這我覺得這可能可以做更多啦!可以把他變成每一個提案是一個 branch 那最後 branch 的那個版本是最後通過的,所以如果進去可以來玩玩看。
那其實法律通常應該不是正常人讀的啦!就有點像上面的國字非常非常多嘛,那所以就有一位把他簡化成就是說可以用比較簡潔的數字去看,我覺得上面那個大概看到第二行我們可能就會看不下去了,好那 idealing 應該是說這個現在可能已經有做一半,就是說你可以滑鼠浮移動到那個標號上面他就把那條summary列出來,變成說你要去查閱一些,譬如說判決書啊或者是說新聞在討論電信法§9啊,那個應該是滑鼠一上去他就要冒出來,說這個到底是什麼東西,然後最後一次修改是誰修改的。
還有一些上新聞的,像是這個。不知道大家有沒有看過,就是一個 chrome 的 extension 好像現在有 firefox 版。裝了之後如果你上 104 或者是什麼任何人力銀行網站查詢的時候呢,譬如說你看到A公司他就跳出來說:「A公司最近3個月內有違反勞基法的紀錄,確定你要來這家公司面試嗎?」
這個當然就非常受大家歡迎,大家就覺得這是佛心的網友做了一些可能算是公益的事情,那其實我覺得對外界的人,不是 open source 圈的人可能覺得這是佛心的,可是對我們來說這就是很平常、平常在做的事情,就是把自己做的東西貢獻出來讓大家都可以用,然後可能就其他人可以把他變的更好,所以「宅心仁厚」嘛,那個(螢幕顯示「仁者無敵」),quote audrey 就是說「阿宅無敵」。
那當然看到前面有些範例,就是說這麼多的 project 其實在很短的時間內就拋出來了,那這是怎麼發生的?因為 g0v 這邊的黑客松呢,可能和一般的 conference 不大一樣,就一般的 conference 可能主要是分語言,那 COSCUP 比較特別,一般的 conference 可能分語言,那 g0v 又不是特別分語言,這麼多人來可能是不同的專業、不同的習慣的做事的方式,要怎麼樣去合作呢?
就是為了這種,有做了一些基礎建設,就是一些小工具啦然後一些讓這件事情更順暢的方法,那今天下午有一場是要講這個東西的,所以有興趣可以來聽。那其中有很多東西,譬如說像早上有講到說誒你要怎麼像公家機關要資料啊,就有人整理一個 template 出來,因為要資料寄 email 我們當然會嘛,可是有時候你會覺得好像要很有禮貌的寫個信,寫到一半就生氣了就不想寫了對不對(笑),如果有一個 template 就可以複製貼上把 keyword 換掉,然後最後還有一個 footer 講說,欸你的 reply 會把他 post 在哪裡,那這樣子變成說公家機關才知道回覆的時候可以讓很多人看到不是說只有這一個人。
這裡面最重要的精神,其實就跟平常大家在 open source 的貢獻很像,就是說有時候你只是稍微有一個 idea ,可是你這個 idea 你要 share 出來你要讓大家知道,那有時候你可能是用講的,有時候你可能用寫的,那怎麼樣讓這個被講出來被寫出來的東西再推進一步,你可能用畫的!稍微畫了一個東西。像這個是 ipa 她畫了一個她想像中的立法院的網站,應該長這個樣子。結果不久之後呢有人就把他接力了,接力作夢,就是他把他變成真的一個 mockup ,那就是說它是真的 hml 跟 css 這樣子的 mockup ,那接下來可能就是把政治資料倒進去。
那有時候就是小小的改一些東西。像一開始,我們隨便弄一個 LOGO,那後來這個裝置藝術大師 evenwu 就覺得這樣子不行阿,這個 CI 不好,所以要…就幫我們做了一個 LOGO 非常厲害!
那像這個是一開始我做了一個 3D 的 Data Visualization,但蘭嶼那邊都會牽絲很奇怪,就有個bug,後來 Mindos 他就把這個東西他修好了。所以就是說,其實我們就是…其實大家很熟悉那種運作方式,可是其實跨出 open source 圈子,很多人不知道這個運作方式,他可能就只知道關起門來自己做,所以我們就稍微介紹一下說這個運作方式怎麼進行。
那最重要的其實是「分散式」,很多人在做很多事情,那就「族繁不及被宰」,就是他沒有辦法把就是把你某一個人砍掉叫他去旁邊,因為太多人在同時進行了,那東西成果都是開放出來的任何人都可以接下去做。
OK 那剛才講到就是說,其實大家在這邊都參加 open source 很久了,那其實我要告訴各位一件非常不幸的消息,就是其實我們真的是一群偏激的份子,一群很小撮的偏激份子。很多人其實是不知道 open source 這件事情,沒有啦科技業應該都 ok,但這個範例比較例外一點。好,但是跨出了科技界的時候其實大家是很不知道這件事情,你說 open source 的合作協作的方式,去推動各種不同的事情,大家一開始有看到那個 hype curve ,那對於說要用 open source 去進行一件事情,譬如說去共同完成一個運動、共同推動某一個社會運動的時候其實是還蠻缺乏(經驗)的,我們可能現在是在這裡,我簡單舉一個很簡單的例子好了。
這個是…不知道大家有沒有人看過,最近應該蠻多人上街的嘛,那就有這個不願具名的法律學者他就整理了一套說你上街該注意什麼,警察會以哪一條怎麼樣把你抓走之類的,好那這位不願具名的法律學者他貼出來的時候就說,請幫我們轉貼一下,那就另外一個 organization 的人看到說:「欸那我們可以把他變成一個懶人包圖文版嗎?」,然後那這件事情我們就要去問原來那個作者怎麼樣?那原來那個作者說我想匿名,我說:『好吧那匿名』,匿名的意思就是說那匿名你就整個 public domain,匿名又要分享那就沒有任何 right 嘛!對不對!至少我的解讀是這樣,那我就說那就是 public domain。
那這個公民影音資料庫他們就拿去做圖文,圖文之後另外就有鄉民問說:『欸那我可不可以拿去自己印手冊?』,好那這時候又跑來問來問去,問說:『欸那這是要實際授權嗎?還是要怎樣?』因為他上面寫說歡迎轉貼,歡迎轉貼那有歡迎助印嗎?不知道?對不對!那可是就變成說這件事情他完成是耗費非常大的 communication 的 overhead ,好那 在 open source 圈的話就不會有這件事情,因為一開始 license 就告知這是什麼 license。
所以我要講的就是說在 open source community 就我們開放軟體的這個方式,中間遇到的問題,比如說 license 的問題,使用工具的問題,或是我們怎麼樣用更開放的心態讓更多人參加,這個其實在 open source 裡面都是被解決的問題,或是說我們已經知道會遇到什麼問題,然後用什麼方式去解決。好那只是說其實這是可以讓非 sofware project 可以用到的。那所以就是說若大家有去參加其他的活動,或者是說認識從事很多不同運動的人,可以推廣一下 open source 的這個想法,讓成果都共享,讓東西 release early 、 release often 。這些我們常見的概念,可以在其他的活動中可以使用這樣的想法。
最後那個,其實我要講的是,早上其實有講到 g0v 的 motto ,很多人其實會問說,欸你怎麼不做那個譬如說一個匿名爆料行動網路或是說什麼什麼系統,那通常就會想說,欸先承認你就是『沒有人』,當每個人都是『沒有人』的時候,那其實沒有人就是萬能的,每個人都可以做很多事情,好那其實我們下一次黑客松其實就在下一個週末,可是已經爆滿了,所以如果沒有報到的朋友那可以看自己找一個咖啡店自己揪一團,或者是有興趣的話看怎麼樣進行,那線上也都可以協助這樣,好那所以其實更多資訊網路上都找得到,那我們就是其實下午應該算是一整個下午的社群議程,蠻多裡面的 project 會各自做比較深入的介紹,有興趣的話就到 201A 吧。好,那就先講到這邊有沒有什麼問題?
主持人:「先謝謝 clkao!(掌聲) 現在大概有三分鐘時間,可以接受提問。」
問:「不好意思,那個就 g0v 活動很多嘛,那如果是想要參加的話,就我會寫一點程式想參加的話要怎麼做?」
clkao:「這問題就是 g0v 的活動或 project 有很多,如果想要參加的話要怎麼進行對不對,那其實目前最快的方式是去 IRC 上面問說需不需要幫忙的,那這個有點落伍,所以我們有在設計一個 project registry,就是說每一個 project 可以稍微登記自己的 keyword ,然後我需要什麼樣專才的人上來,那所以就會有一個按 tag search,例如我會 javascript ,就可以 tag,看什麼地方需要 javascript;我會設計看哪一個 project 需要設計這樣,有點像這樣的一個媒合系統。」
問:「不好意思,開場的時候有提到就是,政府的話只要把 database open出來、資料 open出來,其他的後面的 present 都不用管,可是目前我在政府機關裡面有服務這樣子,那有一點點經驗就是––通常在內部自己的資料他們都會希望請廠商或者自己的資訊部門做好管道之後,那也會順帶的把一些 present 的畫面做出來,就有點像是那個實價登錄那樣子,他最後都會把網頁呈現出來,那我要怎麼去說服?比如說,我們的主管或是廠商們不要去 care present 的畫面,就是我們專心做好資料的 access,設計好 API 然後我們的 schema,把東西丟出來就好了,我要怎麼去說服他們?
因為這些長官們的想法通常就是,這個東西如果 beta 出來的,比如說氣象局好了 beta 出來之後那其他的一些第三方網站去呈現的時候,比如說 Google 或者是那邊出來去呈現的時候,真正 user 看到的時候就覺得這個 effort 是 Google 的、是 Yahoo 的或者是去那一家廠商的這樣,我現在碰到這個問題就是說我要怎麼去說服?」
clkao:「OK 這個問題我簡單說一下就是說,政府機關怎麼樣去說服,就是說因為目前可能你都要廠商做到有 presentation layer,讓 end user 看得到還有那個 credit 對不對,不然好像 data 放出來然後別人用的時候,好像不是我自己做的事情對不對,那其實我覺得從政府整個他設計 KPI 的就要改,變成是說你的 performance 他不是說有多少人去看你的網站,而是有多少人用你的資料連過去,用你的資料作呈現。
所以就是說,因為他最後看到的東西是說他不是這樣子被看到的,所以變成可能整個 mindset 都要改,但是比較實際的問題就是說,如果一個新的東西、新的 project 那定資料、資料出來之後,到真的有 presentation 的結果的時候,如果是本來包起來的話可能中間會有時間差,那這個我覺得,進行的時候你可能就要和社群稍微做溝通,說我們有這份資料有沒有人有興趣來做,那我什麼時候會開放好,那我現在有一份假資料,你可以先玩玩看,就這是一個比較engaging 的一個合作方式,可能就會比較解決說,我做完前面那一段的時候,要等到 presentation 還有一段時間這樣子,這樣子有回答到你的問題嗎?」
主持人:「然後除了(定) KPI ,另外一個方式就是直接寫信給張善政吧 。」
clkao:「喔對阿,早上那個張政委 (笑) .....」
主持人:「OK 那我想時間也差不多了,那我們再謝謝 clkao!」(掌聲)