《自由軟體運動與社群專案》── 以 Fedora 專案為例


Fedora 25 發行同樂會的大合照
本內容是 Fedora 大使 zerng07 (Cheng-Chia Tseng) 在 Fedora 25 發行同樂會上的分享摘要,當天沒有參與的朋友可以透過摘要大略瞭解其內容。

這邊是投影片線上觀看。

臺灣 Fedora 社群

一開始先分享了臺灣 Fedora 社群的新聞,包括:
  1. 大使 freedomknight (陳貴鑫) 和 Red Hat 法務代表簽約,得到 fedora-tw.org 的商標使用授權
  2. Fedora 臺灣社群募委託軟體自由協會協助募款,目前募集到的社群資金尚有 4130 元。資金用途包括主機代管、網域、活動籌備代墊、大使舉辦活動的交通補助……等款項,所有花費都會定期公開
  3. Fedora 24 起雖然預設安裝 ibus-libzhuyin 智慧型注音輸入法,但無法在使用者登入後自動選擇,導致使用者仍需要手動設定,已向官方回報臭蟲
  4. Fedora 在地化的部分,行列輸入法、大易輸入法、gcin 輸入法框架仍未得到妥善關照;pcmanx-gtk2 裝好後字型顯示會爆炸,使用者需要自行安裝 AR PL UMing 再手動指定中英文字型

目前 Linux 桌面應用界的最新動態

  1. CrossOver 16 (based on Wine 2.0 beta) 可以跑 MS Office 2013 了!但尚未試驗過中文版是否能正常運作。生活中有需要的朋友可以自行購買 CrossOver 16,或研究 Wine 2.0 如何手動設置
  2. LibreOffice 5.3 可能會導入記事本工具列,可以調整成類似 Ribbon UI 的頁籤式工具列

進入正題《自由軟體運動與社群專案》── 以 Fedora 專案為例

Fedora 是一套以 Linux 為基礎的作業系統;Fedora 專案的核心價值為「自由。朋友。新異。第一。」(Free. Friends. Features. First.):
  • 自由,代表相信自由軟體和內容的價值,並且為人人都能使用、散佈的解決方案奮鬥;
  • 朋友,代表以社群的方式共同打造一套作業系統,並且和上游攜手緊密合作;
  • 新異,代表如果發現自由軟體什麼地方不好用、哪裡值得改善能讓整體更好、有效率,就會起身動手;
  • 第一,代表每次新發行都會收錄當下最新的自由軟體,所以想知道自由軟體界的第一手動態,採用 Fedora 就對了。

自由軟體運動簡史

再來他談到自由軟體運動的簡略歷史,起先1970年代微電腦發明,當時是個廠商普遍提供軟體源碼給大家使用的美好年代;但到了1976年,微軟的 Bill Gates 發表《致愛好者的公開信》(中譯原文)提及當時的電腦愛好圈缺乏優秀的軟體、書籍,是為什麼?許多人的軟體都是偷來的,硬體需要購買,但軟體卻變成某種大家共享的東西,誰去關心寫軟體的人是否得到回報?那麼之後誰會願意在沒有報酬之下去做這些專業開發?此後軟體授權方式逐漸「專有化」,限制軟體只能給取得授權者使用,不能給其他人用,此外使用者也不能散佈、修改、反向組譯、出租軟體……等。1980年代後電腦程式已成為一項營利產業。

1980年 Richard Stallman 當時在 MIT 的人工智慧實驗室上班,實驗室來了一臺 Xerox 全錄送的新雷射印表機,印表機很好,但卡紙時不會通知使用者。最糟的是如果有多人要印多份文件,只要在中間一份卡住,如果後面的人急著要,到印表機現場一看卡紙,要先解決卡紙後再繼續等列印,但如果等待過程中又卡紙的話……是種很令人崩潰的體驗。Richard Stallman 就是過來人,以前他們實驗室的做法就是直接去改軟體,讓印表機可以發出通知,但怎知道這次不管是廠商、還是開發印表機軟體的人都不願意給他源始碼修改,軟體的專有化令他非常失望。

後來他們實驗室開發社群的朋有不少被挖去 Symbolics 和 Lisp machines, Inc. 上班,糟的是 Symbolics 公司的軟體都轉向採用專有授權,他覺得社群被背叛了,於是幫助 Lisp machines, Inc. 的朋友寫出對等的軟體與之對抗。後來他覺得這樣做沒有太大效果,在1984年發表 GNU 宣言,GNU 專案是個自由軟體協作專案,目的是要打造一套完整的類 Unix 電腦作業系統;也在1985年成立自由軟體基金會 (Free Software Foundation) 為 GNU 專案提供技術、法律、財政支援。1989年自由軟體基金會發表了 GPL (General Public License) 自由授權方式的第一版,讓大眾能直接採用這個自由軟體授權用在自己的軟體上。

自由軟體的觀念與專有軟體相反,它不是要限制使用者,而是要讓使用者對於軟體有更多的自由,其中最重要的就是具備四大自由:
  • 自由之零:可以依任何目的執行程式
  • 自由之壹:可以研究程式如何運作、並將程式修改以符合自身需求(程式源始碼能否近用是先決條件)
  • 自由之貳:可以再次散佈程式來幫助鄰居
  • 自由之參:可以改善程式、並將改善回饋給社群,讓整個社群均能因此受益(程式源始碼能否近用是先決條件)
1991年 GNU 專案幾近完成,只欠系統最內層的核心(又稱內核),這時剛好 Linux Torvalds 開發的 Linux kernel 可以補完,於是 GNU 和 Linux 合在一起成為自由軟體運動的濫觴。
講述自由軟體運動本質與普世價值之間的連結
自由軟體運動的本質在於「共創共享」,相信分享是所有人的連結、相信互助協作的力量,並且和普世的許多價值相通,例如「與你分享的快樂勝過獨自擁有」、法國大革命的「自由、平等、友愛」、大乘佛教「自利利他」精神等,都剛好能相互呼應,所以在世界各地逐漸推展開來。

所謂「社群」

第二個主題是社群,所謂的「社」去查教育部字典,可以知道意思是「傳說中的土地神」「祭土地神的典禮」或是「為工作、生活、或共同目標結合而成的組織、團體」,所以我們說「結社」就是這樣來的。新海誠2016年的作品《君の名は。》中提到的「むすび」剛好跟「社」是同個概念,むすび是土地神,古語叫產靈(唸作むすび),連接繩線、連接人與人、時間的流動都是むすび,這全部都是神明的力量。

解釋社群、むすび、git workflow 之間的交互連結
再深一點去看,會發現現在自由軟體社群熱門的 git 版本控制系統的開發過程,就跟むすび的描述一樣:我們做的結繩也是神的作品,正是時間流動的體現:聚在一起、成型、扭曲、纏繞,有時又還原、斷裂,再次連接,這就是むすび,branch、commit、push、clone、pull request、merge 等等,無疑是相同的概念。

當然從神道教的立場,萬物皆有靈,事物的推移有神明的力量在裡面自然而然,但我們若撇開這部分來看,確實社群的概念剛好跟むすび不謀而合;故事中相傳人們透過結繩(むすび)的力量最後終於擊敗了巨龍,其實就是指人們透過各種連結(社群、時間、神明)的力量擊避開了彗星碎片撞擊的災難。總結來說,所謂社群,其實就是各個有相同信念的人們聚在一起把想法編織出來的交互連結過程。

Fedora 專案的運作模式概略

最後第三個主題是 Fedora 專案的運作模式概略,Fedora 專案以一年兩次為週期發行新版本(約半年一次),先依照有心參與者的能力、興趣分組建構團隊,而各團隊之間的溝通、想法經驗可以自由流通,主要可以分成內容撰寫、設計、互動、作業系統開發、翻譯、網頁開發或管理這六大類。

Fedora 25 的發行規劃時間表
他們參考規劃好的時間表,提出開發異動然後去實現,各自努力、互相協調,在設定好的期限測試,若有重大問題經討論後則往後延期,最後工程委員會確認無重大問題後定案正式發行。

專案的運作則以公開透明 (Transparency)、功績主義 (Meritocracy)、盡早發表經常更新 (Release early, release often) 為原則,以 Fedora 行為規章為處事指導,以 Fedora Council、Fedora Engineering Steering Committee、Fedora Ambassador Steering Committee 的指引與支持下執行。

這些大致上就是 Fedora 專案的運作概覽。

留言

張貼留言

這個網誌中的熱門文章

Render 翻譯

fedora 20 安裝指引

poedit 基本使用教學與 po 檔概念