自由軟體與社群發展心得<一>

這其實是10/24的筆記QWQ,因為上課記的筆記都很凌亂,一直沒有時間好好整理成一篇文章,所以拖到現在才發~~
之後應該會從10/24開始慢慢補齊之後上課的內容吧!

而今天(就當今天是10/24吧XD)請來的兩位講者分別是零時政府g0v的江明宗先生和現職於git cafe的林旅強先生。他們的分享都非常
的精采喔!

零時政府g0v (講者:江明宗)

零時政府g0v

在上這堂課之前,其實就有耳聞過g0v這個名字,大概就是在太陽花學運那個時候吧。不過,我對他們的印象就一直停留在類似一個
社運或學運組織這樣模糊的概念,根本不知道原來g0v有那麼多資訊方面的人才,甚至和自由軟體有密切的關係。

為什麼要叫g0v?

我覺得這應該滿明顯的,g0v其實就是對應政府網頁的gov(government,政府)。講者提到,隨著現代科技與網路日新月異的進步,政府
卻往往跟不上時代進步的速度。而g0v就是為了補足gov的不足,讓更多人能參與、了解政府的事務而誕生的一個社群組織。

來看看g0v的網站吧!

open data的五個等級

open data的五個等級示意圖

一開始講者先提了open data的五個等級~

1.open licence : 開放的授權,文件可以在網路上被存取
2.RE (reusable) : 提供的文件可再使用/修改
3.OF : 使用非專屬格式,讓任何人皆可讀(如CSV純文字開放格式)
4.Url : 有固定的網址存放資料
5.Ld : 除了自己的資料,還能跟別人的資料連結在一起

而g0v的成立,其實就是基於open data的原則,讓政府的資料透明、公開化,讓所有人都能檢視!

anger drive programming

太陽花學運時的流血事件

這是講者投影片的其中一張圖片,應該對許多人而言都不陌生吧。講者透過這張照片告訴我們的就是:因為社會上有許多悲劇、許多
不合理的狀況。因為我們看到了,所以我們感到憤怒,所以我們想要做些什麼。而對我們學資訊的人而言,改變資訊的流動,就是我們
改變社會現狀的一種方式。

講者還提到他甚至因為太陽花的影響,而想參選年底九合一的議員選舉,雖然最後覺得不適合而退選,但至少代表了他們試著用各種
不同的方法,改變這個社會,我想是很值得令人尊敬的。

開放政治獻金

開放政治獻金

而講者第一個提到的g0v成果,就是開放政治獻金的專案了,這也是讓我對g0v產生印象的一個專案。講者提到,雖然每個政治人物所
接收的政治獻金,依法是可以查詢的,但卻必須經過繁瑣的申請程序,非常不方便。因此他們就想把這樣的資訊放在網路上,讓每個人
都可以公開、透明的的察看這些資料,更了解政治界的資金流動!

但麻煩的是,政府根本不提供電子檔的資料,只能拿到紙本檔案!不僅如此,拿到的紙本往往還不清不楚,格式不統一,甚至還有
浮水印在上面,根本難以做有效的處理。講者提到,他們原本有人試圖把紙本掃進電腦後,用openCV來辨識裡面的文字,可惜成效不彰。

那該怎麼辦呢?很有意思的,最後解決的辦法竟然是靠鄉民的力量。他們把掃描後的資料一格一格分割成許多圖檔,放到網路上,讓人
去輸入。每個人都可以去把你認為圖片上面是什麼文字提交上去,最後選出最多人的答案。

令人驚訝的,在2014/04/19 專案正式公開的24小時內,就完成了7個政治獻金專戶,共309,666個文字比對的過程,這是他們十幾個人
的團隊幾乎不可能做到的事,由此可見鄉民的力量是很大的,也代表台灣仍有不少人關心這樣的公共議題!

而截至目前為止,g0v已經取得了28個政治獻金專戶的資料,但仍只是冰山一角(監察院有約6000個專戶)。講者提到,雖然這樣的過程
十分漫長,但還是得有人去做!讓人十分敬佩他們的精神!

選舉黃頁

年底九合一選舉將近,但你真的了解每個候選人的政見嗎?甚至,你真的知道你有那些候選人能夠選擇嗎?政府的選舉公報在2天前才會
正式發出,但又有多少人會在那麼短的時間內,認真看完每個候選人的介紹與政見呢?

講者提到的第二個專案──選舉黃頁,就是為了讓人們能更了解自家選區的候選人而設計的一個網站。結合了google map的API,讓人可以
直接點選自家的選區,來瞭解候選人的相關資訊。

點我到選舉黃頁

我認為這是個相當不錯的想法。事實上,除了特定的候選人因為有黨派的支援,能見度特別高之外,我相信是有很多候選人因為缺少
宣傳,導致根本沒人會支持,連政見也沒人關心。最後就變成了整場選舉成為了口號與宣傳的競爭,實際的政策與能力都完全被忽視
的結果。雖然我不認為這樣一個小小的網站能徹底改變選舉的生態,但只要能讓多一些人實際的去關心、去深入了解候選人的資訊,而
不是盲目地看顏色投票,我想這個網站就有它的價值了。

而事實上,講者等人為這個專案所付出的努力也是很驚人的。試想,全台灣那麼多縣市,甚至是村、里,要彙整每個候選人的資料是多
不容易的一件事!講者提到,他們除了從選舉資料庫與中選會等地方匯入相關資訊外,還寫了一個程式,自動搜尋與候選人相關的新聞
並呈現在網頁上,讓人們對候選人曾經做過的事更一目瞭然!

其他

當然,除了以上提到的兩個專案,g0v同時還有非常多的專案正在進行或已經完成。像是把教育部的國語字典重新包裝而成的萌典
追蹤公務人員出國考察的情形;轉播立委開會實況的立院影城等等,都可以在他們的網站上看到!

——————————————————————————-分隔線 QWQ———————————————————————————

自由軟體與Git Cafe (講者:林旅強)

Git Cafe

課程後半段的內容則是由林旅強先生(強哥)來跟我們分享一些自由軟體的基本知識。而首先當然就是介紹目前在資訊界中幾乎無人不知
,無人不曉的版本控制系統git囉!

什麼是git?

簡單的說,Git是一個開源的分散式版本控制軟體。它的好處是紀錄你的程式每個版本的更新,在必要時可以回溯到過去的版本;另外,
你也可以基於同一個版本產生不同的分支版本,也可以將不同的分支合併為一個最終版本。

因此,Git在多人合作開發專案時特別重要,因為它讓每個人都可以提出自己的版本,並且記錄每次版本的更新。在開放原始碼與自由
軟體的世界裡,Git幾乎無所不在,也正是因為Git,每個人都能改善並提出自己的版本,讓軟體變得更好!

什麼又是GitCafe/GitHub?

那麼,現在同樣十分知名的GitHub,或新興的GitCafe又是什麼呢?其實很簡單,兩者的主要用途也十分類似,就是在網路上建立一個
共享的程式碼託管平台。你可以把自己用Git管理的程式碼存放在GitHub/GitCafe上,讓更多人能看到、甚至共同參與你的專案。

GitHub吉祥物

至於GitHub和GitCafe兩者之間最大的不同,就是在地化了吧!雖然說以國際知名度而言GitHub應該是遠大於GitCafe的,但GitCafe因為
是中國公司創立的,使用的也是中文,對非歐美國家的人可能比較友善!

我認為有興趣的話兩個都可以試試看,畢竟也沒人說用了一個就不能用另一個XD

自由軟體 (Free Software)

講完了Git,接下來就是介紹自由軟體了。事實上,這堂課雖然叫”自由軟體與社群發展”,但是前幾堂課根本沒介紹自由軟體的定義,
的確讓人覺得怪怪的,可能是課程安排上的問題吧!總之,今天強哥終於為我們許多人揭開了自由軟體的神秘面紗,讓我們大家對自由
軟體有更深入的了解。

講到自由軟體,就不能不提到自由軟體之父Richard Stallman,GNU計劃以及自由軟體基金會的創立者。

Richard Stallman
維基

講者提到,Richard Stallman在大學時就會自己改善一些程式的缺點,再免費提供給其他人。後來他發現當時專利給予人們許多限制,
因而決定投入自由軟體的志業,先後發表了GNU宣言並創立自由軟體基金會,著名的GPL lincence也是他所發起的。實際上網查詢後,
發現這位Richard Stallman似乎是個很特別的人,非常理想主義並執著於自由軟體,甚至認為使用專利軟體是不道德的。因而也產生
不少爭議,但也許也正是這樣的熱情才能讓自由軟體對世界產生這麼大的衝擊吧!

說到自由軟體,另一個不可不提的當然就是赫赫有名的linux作業系統了,令我驚訝的,linux竟然是一個跟我們差不多年紀的大學生
獨立寫出來的!雖然一開始不甚完善,但因為有良好的基礎架構,加上在GPL的協議下,許多人都投入linux的開發,最後就成了現在
這個廣為資訊人所使用的作業系統。

講了那麼多,自由軟體究竟”自由”在哪裡呢?講者在投影片中提到了四點:
0.使用軟體的自由
1.研究、修改軟體的自由
2.散佈軟體的自由
3.散佈修改後軟體的自由

而在GPL的liscence下,更規定使用自由軟體的人修改後所發布的也必須是自由軟體,更確保軟體的自由。

開放原始碼(open source)與自由軟體的異同

所謂的開放原始碼,其實跟自由軟體是十分類似的概念。只不過,有許多人看到自由軟體free software裡面的free就以為是免費的,
其實自由軟體不一定免費,只是沒有授權金而已。但為了避免概念的混淆,”開放原始碼”這個名詞才因應而生。1998年後,也成立了
開放原始碼促進會來推廣這樣的標準。

事實上,很多軟體都是自由且開源的,有時我們也會看到FOSS(free and open source software)這樣的說法。

自由軟體的開發模式

自由軟體的開發者往往來自世界各地。透過之前提到的Git或GitHub,人們可以方便的交流並合作,產生開發者與使用者互利互惠的良好
生態,使用者能夠檢視軟體的原始碼,也可以透過Git pull request的方式回報錯誤或提出改善的建議。

國際社群

最後,其實現在在國際社會上就有非常多與自由軟體密切相關的社群,都是我們可以去了解、甚至參與的。像是Linux Kernel,Debian,
Ubuntu,Gnome,mozilla等等,甚至在台灣也可以看到它們的活躍!

最後

“Free as in freedom”。這是Richard Stallman的傳記書名,也可以說是自由軟體的精神吧。希望透過自由軟體、開放資料的精神,讓
人們都可以更自由的在資訊的世界中遨遊。

最後附上我個人的建議:別再用盜版軟體了!這世上有許多人也不想為了軟體付出大把授權金,但他們選擇自己開創一條更自由的道路
,後面的課程會介紹許多方便、實用的自由軟體,有心的人如果上網去找找,一定也能找到許多不輸給專利軟體的自由軟體!