• (白板第1張)好,問答。

  • 這一個License、Format、Access加起來就是後面的Open Data?

  • Rufus著重在Format這一個字,不想要用API這個字?

  • 對,他希望我們用Format這個字,因為用Open Format這個字的好處是,大家不會把它想成你要收錢,或者只能一天下載兩千筆,到第三千筆的時候要付費……

  • ……因為API本身會有那個隱喻。

  • 有人想到API的時候,有人會往這個方向想。

  • 雖然我們這邊講的是,包括政府內部自己跟自己橋接的API,或者政府給外部的也是一種API,但是Rufus的意思是,既然我們推開放式API的原因是要每一個人把他的資料提供格式寫清楚,就是所謂「JSON Schema」,這樣Rufus就會建議API還是可以留著,但在英文就寫成API with an Open Format,或者是說Common API Standard。

  • 或者API Definition。

  • 或者API Definition,或者Common API with an Open Definition之類的,但不要叫Open API。

  • 因為他覺得Open API如果中間不隔別的字,大家會往不當的地方聯想。

  • 會往比較經濟那個方向去想?

  • 第一個是往比較經濟上的方向去聯想,還有人看到Open API也會想到是不是Open License跟Open Access,但是事實上Access是可以限制只在內網的,所以也不是只看到Open API就自動滿足這三個條件,它只是……

  • ……它只是一個Format。

  • 它只是一個Format的條件。當然在臺灣,我們只要不牽涉個資、隱私、營業秘密,License可以自動適用,因為我們有一個directive這樣講。

  • 所以Rufus希望未來在說英文的時候,我們可能就要改寫「Common API Standard」,那這樣就是在講一種標準,或者是「API with Open Format」,那就是在講一種格式,但是就不要只講「Open API」,這個是他的主論點,這我同意。

  • (會後補充: http://pdis.nat.gov.tw/#/what-we-do/52 已經改寫。)

  • (白板第2張)講的是說如果我們把API當作一種取用資料的方法,這樣的話,我們把政府系統按照解耦架構的這個想法,拆成很多小塊,好比像我們的災防,可能消防署有一塊,或者是災防中心、氣象局各有一塊之類的,但是我們如果太著重他們中間連線的話,這樣他們在個別採購時,裡面還是不會用開放源碼的軟體,還是只有特定的廠商可以修改,只是有點像是你把這一個東西的進線跟出線弄得很順暢,但是這個東西還是一個黑盒子。

  • Rufus認為有兩個解決方法:第一,進、出線的管徑剛好與盒子的大小一樣,所以是盒子進、盒子出,所以這個是叫「Bulk API」。什麼是「Bulk API」?就是跟sandstorm一樣,只要按下載,你就可以把整個Etherpad下載下來,而不是只能讀其中的一行。

  • 這不是很好的例子,但是你大概知道我的意思。

  • Rufus說我們如果把政策設計成匯入跟匯出,也是API要滿足的要項,不只是每一個使用者可以看他的單筆資料是機器可讀,可以寫入一筆資料是機器可讀的話,這樣子他就覺得這個是解決黑盒子的方法。

  • 好比像我們在Sandstorm上面,有一個大家一起訂便當的App,如果這一個App我們只說有API,也許廠商會想說只要填一份問卷可以用機器填就好了,但是事實上Rufus要的是所有人填的所有問卷可以匯出,及從別的地方已經收到一千份問卷時,可以一次匯入一千份(問卷),如果這兩個部分都用API做起來,確實中間是黑盒子就無所謂了,因為可以抽換。

  • 所以這個圖其實是在政府裡面的API?

  • 然後那個API除了符合原本API的規範以外,再多加一個可以使用的?

  • 對,然後再多加一個整批匯出、入。因為在資訊服務採購,過去並沒有強調整批匯出、入,Rufus擔心的是如果這樣的話,只是相當於網頁上使用者點選的功能,確實跟無障礙一樣都做到了API沒有問題,但是他就會覺得這樣廠商還是綁定他的那一些特定的功能,我們想要換廠商的時候,我們沒有辦法很簡單說就全部匯出;同樣的,我們如果想要在輸入端換廠商的時候,也沒有辦法整批匯入,所以Rufus希望我們如果推API,他完全同意,但他希望能夠整批,而不只是單筆。

  • 就是所謂的「Bulk API」?

  • 對,就是所謂的「Bulk Data API」或者是「Bulk Data Import/Export」。

  • (白板第2張、下方)好,這個圖我也知道。

  • 那Web API不是原本就有的東西嗎?還是他覺得這樣用字也不妥呢?

  • Rufus的意思是說,Web API的意思是這個API是用HTTP可以取得,我們如果說現在的所有政府資料都要由Web API,而不是都要有Open API的話,從某個角度來看,確實也是在講Format這一件事,大家都會想到Format這一件事而不會想到License或者想到Access。

  • Rufus的意思是,如果這樣的話,不如我們就說政府所有網站都要有Web API,這樣也比Open API好,從他的角度來看。

  • 真是有趣的人。

  • 但是Rufus認為,如果我們強調API-first,是可以把所有的資料用API匯出,像現在Mark正在抓菜價,透過API把每一筆都抓下來,然後就存成了一個叫做「快取」,這一個東西確實當有整批下載的API。

  • 即使只有單筆,但是都把單筆都跑完了,那就可以從API自動變成Open Data,這一件事是做得到的,而且是每天做。

  • Rufus要講的是,這樣的事在只有一、兩種查詢方法,好比菜價只從果菜市場查或者是從甘藍菜查,這時可以按照這兩個查詢,把所有的可能性抓下來,這是好的做法。

  • 不過,當你維度太多的時候,就會組合爆炸。

  • 會嗎?因為這樣算是API proxy產生cache,做出Clean Data,真的會組合爆炸嗎?

  • 對,原本的Clean Data。

  • 但還是一個Raw Data。

  • 它還是一個Raw Data沒有錯,但是Rufus的意思是,如果本來的資料不是放在單一的Data Table裡面,而是放在一個……如果我們用SQL的角度來看,是放在許多個Table,而這一些Table中間有join的關係。這樣每一個查詢相當於一個view,如果這一個東西有多個view的話,就是從果菜市場進去或什麼進去,每一個都是不同的資料集,因此就會是按時間檢視、按果菜檢視、按地點檢視,會變成三個資料集。

  • Rufus覺得在許多層檢視的狀況下,不如把整個資料庫開放出來,讓人家用唯讀的方法下載,那你想要怎麼查詢就怎麼查詢。

  • 喔!我懂了。

  • (白板第6張)開放世界?

  • (白板第7張)我們先跳到這張,就是在「Open World」當中,Rufus想要講的事是,在英文裡面「Open World」這一個字本來就有在學術上、遊戲上及各種地方都有其既有的意思。好比:在遊戲上的意思是這一個遊戲沒有劇情,這一個遊戲是由你自動探索的方式來做的;在學術上——尤其是邏輯學上——它(Open World)的意思是這邊有很多我所知道的事實,但是並不是世界裡全部的事實,還有很多事實我們沒有發現。跟它相反的是「Close World」,「Close World」的意思是列出的這一些東西就是全部的事實,其外的都是假的。

  • 因為它已經有這兩個意思,你把這兩個結合在一起,你把它用來在別的領域做比喻時,它的意思是你在這一個領域裡面,它的創造是不受限制的,以及任何時候都有新創造可能性不受限有這一些東西所拘束,因此在英文裡面當你講「Open World」的時候,就是在講這兩件事。

  • 因此Rufus的意思是,好比像說開放源碼軟體,大家會想到程式碼,但是他覺得更重要的是「Open World」,這個是一個在「Open World」裡面的開發軟體,他希望我們以後說「開放軟體」就好了,就不用說開源軟體了,所以一切都可以放在開放世界裡面來看待,這個是他這一張的主要講法。

  • Rufus的意思是,世界本來就會走向這兩件事,一件事是所謂的「Nonrival」,是彼此之間不再零和競爭,而是互相支援、加強,以前只有三、四個不同的領域,每一個領域裡面就是有贏家跟輸家,但是在未來每一家公司或者每一個人或者想要做事,都是自己的一個領域,所以因為這樣的關係,因此就沒有競爭關係,而沒有競爭關係,因此就沒有零和的遊戲,這個是他覺得世界正在走向的方向;而這一個方向當然是建築在於我們大部分產出的東西是我copy給你一份,而不因此減少的所謂零邊際成本。本來是文字跟資料是這樣子,但是越來越多包含藝術創造、整部電影、有形的三維東西,因為3D列印或者是VR技術的興起,越來越多,甚至你摸得著的東西也會變成「Nonrival」,也就是我從你這邊拿一份不叫偷竊。

  • 因為這樣的關係,所以這一些東西就會在所謂「平台經濟」的地方。為什麼叫「平台」,而不叫「市場」?因為「市場」在以前是有對價的,你必須要付出什麼東西,才可以拿到什麼東西;但因為現在你拿掉什麼東西的時候,別人並不損失,因此我們就把它叫做「平台」,就是你把它放上去,但是你下載一份的時候,有時什麼都不用付出,所以就叫做「平台經濟」。

  • 因此在一個開放世界裡面,Rufus認為你只要充分利用「Nonrival」跟「Platform」的這兩個特性,就可以做到好比像解決貧窮問題、不平等問題、世界饑荒等問題,你就可以做到很多事情,這樣大家就不會彼此競爭、不會虛耗資源。因為以前競爭的時候,是三、四方投入大量的資源,但只有贏者回收相當於這一些投入的資源,還有可能賺,而其他人都賠光了,傳統的零和經濟是如此;但是他認為在未來的經濟就不是這樣子了,而是每一個人都有賺,而且沒有人賠的情況。

  • 然而,Rufus認為如果我們現在是用封閉世界的想像來想的話,就會覺得這樣子我的音樂、我的電影都要加上DRM,下載一份之後就要鎖住,也不能拿去借別人。意思就是理論上copy也不損失的東西,你用程式硬把它寫成copy之後,這邊就少一份,好比你下載為一份Kindle,你借我看的時候,他可以用一些程式碼讓你不能看,但是那並不是因為這一個技術不能做到,而是因為它反而人工加上了稀缺性 ……

  • ……人工加上技術的稀缺性。

  • 對,加上了技術的稀缺性。Rufus覺得如果還耽溺在這種一個班上,一個人是贏家、其他人是輸家的所謂封閉世界想法,我們就會把這一種東西跟這種平台設計成贏者全拿、大量的monopoly,就是大部分這一些vertical,等於掌握這個世界裡面那個所謂主導權,能夠透過人工稀缺性,讓其競爭者沒有辦法進入這個市場,這樣的話,就會造成比現在還嚴重的不平等,因為變成只有一、兩個人架平台的人取得全部的資源。

  • Google也算一個例子?

  • Google是一個非常好的例子,Google的搜尋理論上並不是傳統意義的寡占,沒有任何東西阻擋你明天改去用DuckDuckGo或者是Yahoo搜尋,但是因為它(Google)在習慣上變成每天習慣的部分,並不是透過購買,而是變成你習慣的一部分,等於注意力裡面達到寡占,當你搜尋的時候,你不會想「Google」,你會想「搜尋」,你做的事情卻是「Google」,這一種是他認為政府可以介入的。

  • 而政府介入的方式,Rufus認為並不是用管制或者是規範的方式,而且他也覺得不要用「公有地(Commons)」的這種講法,因為「公有地」好像跟土地綁在一起。因此他認為最好的方式是,從政府的角度去培植這一些產出不管是開放源碼軟體或者是這一些自由CC授權創作,或者是非寡占地位的一些創作者,大概是這樣子。

  • Rufus認為政府應該做的事情是,告訴納稅人說:「因為我們用了這一些開放的文化、資料、語言及軟體,因此幫納稅人省下了非常非常多的錢,如果能夠進入基金,而這一個基金是支持我們賴以為營運的這些最基本創作者的永續發展,我們就可以建立出新創作的economy,而這一個economy的經濟前提是,你產出的東西必須要給不特定人都可以使用,並且也可以允許不同特定人參與你的產出,即所謂『Open World』這兩個要件,因此只有符合這兩個要件的創作者,政府才採購或者補助或者政府才怎麼樣。」

  • Rufus認為各國政府都開始做這一種事的話,這樣就可以不被大企業綁架。各個擊破,各個政府可以加在一起,去把我們所需要的基本資訊基礎建設做出來,然後國跟國之間不是競爭的關係。

  • 所以Rufus現在自己的approach是去說服各國的政府來……

  • ……支持這樣的基金、修改這樣的採購或之類的。其實這有一點像之前社會企業那一位主席(David LePage)來,講的論點很多是類似的,但是這邊Rufus著重的是產出過程。David著重的是產出的員工或商品產銷方式,也就是公平的、照顧弱勢,或把一些東西先看它的社會價值,而不是先看賣多少錢;Rufus的意思完全一樣,但是這個過程理論上應該盡量要讓不特定人使用,而且產出的東西是Nonrival good。

  • 舉個例子來說:某間社企產出了一盒餅乾,你拿走了,我就少一盒餅乾。但是Rufus認為隨著越來越多的數位基礎建設,即使你複製一份,我也還有的這一種東西,政府應該放更多的心力在這一種基礎的開放建設上。這個是後面兩張(白板第7、8張)他想講的事。

  • g0v現在的grant是類似……

  • ……是,g0v現在grant就是這樣子。

  • clkao也是因為這樣,才建立這一個grant,還是說本來他就有同樣的想法?

  • ……後面的這一個模型,我們從可能十五年前、二十年前就想得非常久,中間好比像Linux Foundation或者是像Software Freedom Conservancy等非常多的組織,都在想類似的事情,就是我們怎麼給這種獨立創作者,但是他的創作又變成了公部門非有不可的東西,有沒有一個廠商或基金會,公部門可以聘僱他,但是他聘僱的東西並不是跟他買軟體授權,而是買一些人的時間,這一些人是負責這一些東西的技術營運,大概是這樣。等於是跨國的基礎營運集團,但是這一個技術營運所產出的完全是開放東西。

  • 跨國……我剛剛沒有catch到跨國。

  • 好比我們用的最基本Linux這一種作業系統,其實是分散在世界各地的幾千個核心開發者一起做出來的。

  • 喔(瞭解貌)!所以各國政府去資助的這個Foundation是跨國、聯合的?

  • 對。好比Linux是真的成型了,它有Linux Foundation,所以捐給Linux Foundation就好了;但是現在大部分開放源碼軟體來講,其實它並沒有分到這個。

  • 有系統在補助大量小規模的開放源碼或者是開放文化的,好比像Google有所謂「Summer of Code」,在暑假期間出錢請學生能夠去幫忙開放源碼社群,然後Knignt Foundation、Omidyar Network,都有一些類似的program,所以g0v的這一個grant其實就是小規模,但是它運作方式跟國外那一些是類似的。

  • Rufus的意思是因為不管g0v grant最後給了誰,那個誰所建立的東西還是架設在這一些國際的開放源碼這一些東西上,當然每一個國家補助他們自己國民參加研發是一件好事,但是Rufus認為這個比較沒有系統性,因此是特定的人及特定的小專案上。

  • 他認為應該有一個系統性的方法來說所有的政府系統,從Office……像LibreOffice,我們省了多少的授權費,因為我們不用付Microsoft Office了,我們算一算省了多少錢,把這個乘以百分之十,這一個東西就專款專用維持在LibreOffice的永續性上,如果巴西政府這樣做、德國政府這樣做,每一個政府都這樣做,LibreOffice就會有非常充足資金來保證軟體的品質,絕對不會比微軟的Office品質差。

  • 甚至Microsoft也在……

  • ……對,說不定Microsoft以後就說Office就是LibreOffice的加值產品之類的。

  • 事實上,Microsoft也有這個先例的,如果有開源系統好到一個程度,他會直接放進Windows裡,好比像Ubuntu Linux,現在就是Windows 10的一部分了,你就可以在Windows 10裡面開一個Ubuntu Linux出來。

  • 喔!是這樣。

  • 他們也會派人去保證Ubuntu或者是Docker可以正常運作,所以Rufus的意思是希望政府這樣做。

  • 我跟他講的是,在蘋果、Google、微軟這樣做,對他們是有好處的,因為他們的損益表是比養一些人跟社群連結,大家分攤開發成本,跟你自己要從頭做相同功能的東西,只要社群夠大,與社群協力合作一定比較省錢,這邊(大企業)一定會願意出錢來做這一件事,因為他們要對股東交代——Rufus的論點是說,那是因為這一些都是非常大,已經接近有寡占地位的企業。

  • 而我的意思是,每一個國家在該國土上,也是接近寡占地位的治理系統,至少在國家權力上是如此。

  • Rufus說誠然如此,但他說政府好像比較不積極。

  • 我的意思是說,對於大科技公司或即使非科技公司來講,財報上可以很精確的說:「我因為加入開源社群,節省了多少錢。」

  • 這個對國家也是有好處的;但是從國家的角度來看,我們很難精確的計算開源社群產生的貢獻。

  • 當然這對納稅人是有好處的,但即使計算出省了多少納稅人的稅金,這比起開放文化、教育、社會、經濟生態圈的建設價值來講,實在是太少了。

  • 所以Google可以表示,如果不是Linux,整個生意都做不起來,如果Google機房裡面每一台機器都要付Linux授權費,根本就不會有Google;但是政府不能表示「我們如果現在不用開源軟體,政府就會倒台了」,因為事實上並沒有倒台,沒有嘛(笑)!

  • 所以,兩個argument不一樣,這邊(企業面)的argument很容易做成,因此最近五年,我們甚至可以說,在科技業界,我們Open Source已經贏了,因為我們已經說服了企業界;可是我們在政府這一邊才剛開始。

  • Rufus也同意這一個講法,但是因為時間不夠,所以我們沒有講太多。

  • 你們沒有討論到後續的approach怎麼進行嗎?

  • 沒有(笑),但是他說很願意繼續討論這一件事。這一件事我覺得當然臺灣是在一個很unique的位置,是因為從臺灣的角度來看,我們不管是推開放的文件格式或者是推開放資料或者是這一些東西,中央有絕對的策劃權,理論上地方是會執行的。

  • 比我們更大一點的國家就不是這樣了,他們要每一個城市去擊破,而且中央政府也沒有辦法讓每一個部會那麼快一次轉換過來,因此我們如果找到一個模式的話,我們從有模式到能夠推行,可能只要一、兩個月,但是在別的國家——即使是跟我們人口差不多的國家——從模式開始推行要兩、三年;但是這一個模式誰都還沒有找到,也就是任何國家都還沒有找到,因此他說很願意繼續討論這一個模式。

  • 現在是沒有任何一個國家是在……

  • ……是在有系統的、從國家層級做這件事。

  • Rufus認為如果國家不一起進來做這一件事的話,有可能決策者都是用Close World的方式在想事情,長此以往,雖然我們有數位產品、平台經濟了,但是就會變成因為國家還是在補助特定工業或商業的思考底下,因此就會培植一堆事實上讓貧富不均更加劇的寡占。

  • 有沒有幾個做得比較好的企業?

  • 你說比較有良心的企業?

  • 當然有啊!從企業社會責任的角度來看,參與開放源碼,當然Google一向都是好例子,但是最近、最好的例子是Microsoft,並不是因為Microsoft做得多好,而是因為Microsoft本來做得最爛的,所以他們完全轉向這一件事是經典教科書的案例,本來他們是連「GPL是癌症」之類的這一種話都會說出來,但是他們後來沒有很想賣Windows了。所以Windows的功能對他們來講,就再也不是賺錢,而是賠錢的東西,因為要花時間開發。

  • 因為Windows 10之後就沒有Windows 11了,Windows 10就是不斷更新,因此突然之間從他們的角度來看,Windows裡面每一個部分當然是越多開源越好,不然他們要一直派人,而永遠不會從這邊回收什麼。

  • 因此Microsoft從原本賣軟體到賣服務的轉向,跟IBM在很久以前的那一次——從賣機器變成賣服務的轉向——可以說是類似的大事;但因為IBM擁抱開源的時候,開源社群還沒有那麼成熟,而Microsoft擁抱開源的時候,開源社群已經非常成熟,所以Microsoft的這一個轉向,也就是他想到這一個模式到真正做出來,只花了幾個月,所以是一個很好的case study,而且還在Github上面公開道歉,非常有意思。

  • Microsoft的Github說明頁,在剛上Github的時候表示:「我們瞭解之前工作的方式跟社群的期待有落差,我們現在改變了我們的道路。」之類的。

  • 對,「We have changed our ways.」

  • Microsoft在Github這樣留?

  • 對,後來他們改掉了,剛上來的時候是這樣。