COSCUP——開源人年會,全名為 Conference for Open Source Coders, Users & Promoters,從名字可以知道,這是一場面對開源開發者、用戶、推廣者而生的研討會,在兩天的時間內,舉辦上百場與開源議題相關的講座,讓會眾可以免費參與,除此之外,也有眾多的開源社群、軟體公司會在現場擺攤,讓參與者能更了解開源圈的最新動態。
今年度的 COSCUP 於 7/29-30 在台科大舉辦,筆者今年度也是第一次參加,原因無他,因為是第一次聽說有這個研討會,加之想要更了解軟體產業的各個面向,於是便報名了,以下將簡述這兩天有參與到的講座及心得。
0729(六)
由於是第一次參加,第一天有報名大會舉辦的導覽團(大會另有在會前兩週舉辦線上版本),9:30 集合完畢後,志工便帶領大家逐層導覽,並推薦適合新手參與的講座,每到一層樓都是一種全新的體驗,每扇門也彷彿是怪獸電力公司的門一般,打開就是新世界,除了議程教室、社群攤位外,COSCUP 也有許多特別的規劃,像是按摩小站、形象照攝影棚、親子工作坊、冥想正念、紅酒瑜伽、OCD 桌遊體驗等等。可謂是相當豐富,導覽結束後,便讓參與者自行解散前往自己有興趣的議程。

如何以開源軟體推動入門設計
第一場參與的講座是由政大開放設計研究社主講,內容提到政大沒有設計學院,但學生常有製作海報、簡報的需求,希望可以透過參與社團的方式,提升社員的美感及設計能力。
社團使用 Inkscape(開源的向量軟體)作為主要的教學工具,但筆者認為如果以目的導向而言,使用 Canva 較能解決學生要產出海報的問題,透過現有的模板做更改會比從零打造視覺容易,也可以從做中學到美感、排版技巧,若是使用專業軟體會陷入學習工具及學習設計兩種層面的問題,對有興趣往設計發展的同學或許不錯,但以「入門設計」而言,門檻或許太高。
從 Taker 成為 Giver!偏鄉學生也能成為開源貢獻者!
講者蔡秀吉來自偏鄉,成長過程的缺乏讓他體認到高等教育中的貧富差距仍然明顯,另也因一路走來一直是資源取用者的身份,讓他想要透過目前的專長、能力來回饋社會,爰此,講者除了透過錄製影片、撰寫部落格等方式分享他的知識,也致力於台語文化的推廣,其中,O-RAN的科普影片更被政府部門拿去作為教材使用,可謂是相當厲害。

在這場令人感動及幽默的演講中,最大的收穫是講者提到這個時代「快」的重要性,若在網路搜尋資料發現只有英文版本時,就可以知道這個知識在台灣還沒被大量傳播,在這個時候加緊研究、翻譯,就有機會變有名。
數位發展部 Kubernetes 使用經驗
不知道是前兩場議題的問題還是時間比較早,參與者不是很多,但當我打開這場次教室門的時候,我嚇到了,人多到兩側走廊幾乎都站滿了,還好眼尖看到某排中間有座位,趕緊擠進去。
近兩年最多話題的行政機關,如果數位發展部說自己是亞軍,那大概沒人會說自己是第一名,作為台灣主管資訊科技的單位,數發部成立後的一項任務便是將前沿的資訊技術帶入政府部門中,並以自身經驗做為示範模板,強化台灣各政府機關的資安防護、資訊穩定能力。
在講座中,講者分享了數發部官網的架構,及在過程中導入零信任(zero trust)、容器化、DevOps、服務上雲等主流開發技術,除此之外,作為示範單位,數發部也要展現容器化仍可符合政府資安稽核的能力,並將於日後開源全數程式碼,讓世界可以共享、精進公部門的服務。
筆者在短短的半小時內聽到許多新的技術,對於專案如何進行日後的維護、開發有了新的想法。
從只會 Docker 到上手 Kubernetes
只要提到K8s的講座都很多人,這就是流量密碼。 —— uccu
接續著數發部的講座,下一場也是有關 Kubernetes,也一樣很多人,難怪講者會說這是本次 COSCUP 的流量密碼。
在演講以前,大概知道 Docker 在做什麼,講者透過「外送員」的比喻讓我覺得很貼切,如果說 Docker 是一個外送員,那當他在忙碌或他離線時便會導致服務無法執行,Kubernetes 的出現就是為了解決這個狀況,透過適時調度任務給不同 Runner,Kubernetes 可以提升服務的穩定性。

因為 Kubernetes 不是很好學,講者也跟大家分享學習的心法——ChatGPT,由於寫 Kubernetes 需要寫 yaml 設定檔,但其中有許多專有名詞不好記,因此可以透過 AI 輔助的方式快速生成文件後,再進行修改。除此之外,講者覺得幫自己報名 COSCUP 演講也是一個很好的學習動機。
看我們如何打造 UniCourse 大學課程資訊交流平臺
講者發現在師大的選課系統選課時,常常需要參考很多外部資源才能得知該怎麼選、如何選才能符合學程等等,後又發現要在網路上蒐集各大學的課程資訊很困難,在政府做的開放課程平台中,各校也僅是將自己學校的選課網址放上,並沒有提供更進一步的資料,更不用提 API 接口了,因此,UniCourse 想要打造一個交流平台,讓學生、教學者可以透過這個平台快速獲得資訊,進而選擇課程、調整教學方向。
但他們很快又發現一個問題,各校的系統、教材不見得一樣,加上開發人力也很有限,要完成全台灣的整合是有其困難的,因此,他們決定從基礎建設建起,透過打造 MVP(最小可行性產品),之後再將其推展到各校中,目前建置進度為為完成師大的課程及部分台大的課程。
曾為大學生的筆者也對選課有許多困惑,好在敝校之前能選的課不多,基本上能點的選項點完課也選完了(這是反諷,沒課可選不是好事),但對於這個專案,我認為難度蠻大的,除了空間上要整合各校的課程外,時間上每學期相同課名的課也不見得有一致的教學內容、教材選擇、評分標準等,要如何對這麼多的變量進行分析、統計、甚至是推薦,我覺得還有很長的路要走。
開源與教育座談會:開放原始碼文化融入教育場域
這場講座請到了三位在程式教育現場的前輩進行座談,分別是即將卸任的台大資工系系主任洪士灝、成大資工助理教授黃敬群(jserv),及台師大資工副教授紀博文,三位講者分享他們如何在教育場域導入開源碼,及遇到的困境(經費、學習時程、KPI 壓力等)。
令筆者印象深刻的是聽到教授說 Linux 有 3000萬行程式碼,每小時都還有 8 個 commit 新增,可見開源社群是相當活躍,但同時也提高同學的學習成本,就算一天看一萬行,也要 3000 天才能看完......,因此會需要同學有駭客文化(Food,Friend,Fun)的精神,在自己有興趣的開源領域持續玩耍,不必急著要做出貢獻,時候到了自然會有可以發揮的地方。
這場座談會可以看到教育工作者的熱情及無奈,由於內容實在很多,這篇文章應該寫不完,好在座談內容都在這份共筆裡,有興趣的看官可以移至那邊瀏覽。
原本想要將兩天的參與心得濃縮成一篇,但看來篇幅會超過,因此拆成上下篇,下篇將繼續抒發第二天的心得及給第一次參與 COSCUP 的朋友一點點建議。