2017年7月8日 星期六

數位生活、作品、教育、和自由軟體

我們現在是數位時代了吧,人手一機的,但未來的人們可能會笑我們還不夠數位卻自稱數位時代。

數位時代很大一部分都是依靠軟體,然而軟體依據授權模式分成兩種,一種是你可以自由使用、研究和修改、散布、回饋的(詳情請見自由軟體基金會《自由軟體是什麼?》);另一種是反正都不行,有白紙黑字寫在授權書上才可以,並且附帶各種限制;前者叫作「自由軟體」,後者稱為「專有軟體」。

好吧,數位時代的作品,不管是文件好了、藝術創作好了,反正只要是內容,只要是以數位形式存在,就必得透過數位工具來製作、修改、讀取,一旦工具被專有軟體壟斷,這個作品的取用就有了門檻,整體相關衍生出的文化就產生了屏障。

怎麼說?專有軟體的一大特色就是,軟體被廠商控制,他們想開價多少、想要怎樣收費都取決於其策略,既然你的資產都套牢在他們的產品手上,你有說不的權力嗎?你說我們可以來反壟斷,但今天如果一個國家政府的資產全都掌握在這間公司手上,那這些金權之間的糾葛、國際之間的角力難分明,將無法讓人確信真有跳脫牢籠的一絲光明。

再來提提教育,當我們國家的教育建立在專有軟體之上,無疑是幫這些廠商訓練未來潛在客戶,即使如此義無反顧幫忙、長久而持續地培養將來廠商可以直接收割的種子,還是要繳交軟體的授權費用給廠商。何況,學校所教的軟體,如果學生因為經濟問題無法使用,難道灌輸他們盜版?(註:許多院校在教授專有軟體時,都有私傳謎樣光碟片的風氣,今日社會對數位產品的法律觀念可見一斑。)別異想天開說可以讓學生自由去學校教室練習了,誰來開教室,薪水誰來付,誰來保證學生與硬體財產安全?更別提這些無法購買專有軟體的弱勢學生,真有時間、精力能待在學校教室了,多半不是打工,就是要幫忙家裡。於是,從學校選擇的軟體開始,就初步劃分了階級,建立在專有軟體之上的教育,並沒有機會平等可言。當我們無法保證學生真有心力學習,至少我們必須保證學生若願意學習、也俱備硬體時,所有人都能享受到一樣的資源,沒有任何進入門檻。學生畢業後想用怎樣的軟體,憑個人選擇、公司考量、自我能力而定,但起碼教育階段中不應存在因軟體授權而起的差異。

Tree by  Martin Svedén, licensed under CC-by 2.0

唯有自由軟體是解脫之道,人人都能自由取用。

你可能說,既然自由軟體可以自由散布,任何人都可以隨意取得,那麼誰來維護自由軟體?誰來支付自由軟體開發者的薪水?沒有人要開發自由軟體的話,那麼自由軟體應該很難用吧!

不,世上早有許多公司和基金會投入自由軟體開發,例如 Android 手機中採用的作業系統內部核心 ─ Linux,也是自由軟體,但有超過九成以上的貢獻都來自商業公司的僱員。LibreOffice 這套自由的辦公軟體,除了志工協助之外,也有專業的開發公司如 Collabora、Red Hat…等有僱用員工開發、改善。

所以我們知道,自由軟體的開發跟專有軟體沒有太大差異,除了志願參與的熱情朋友之外,寫軟體還是一樣靠職業開發者處理。軟體開發是專業的事,我們在使用軟體上總會遇到問題,想要解決問題?除了有能力能自己動手之外,沒有能力也可僱用專業程式設計師去開發、改善。就好比家裡水電有問題,當我們自己無法處理時,總必須請專人來修理;當遇到法律問題,我們若自己無法處理,總必須請律師諮詢。

這世上可沒有白吃的午餐,如果以為採用自由軟體代表免費,可就大錯特錯,畢竟即使自己真有能力可以自行開發、修改、維護自由軟體好了,以機會成本的觀念看來,這些都依然是自己必須吸收的成本。免費取得,但凡事都得親力親為自己來,並不真正「免費」。至於學校採用自由軟體的好處是:如果願意投入資金,代表投入的資金將回饋到全體社會上,而非特定廠商;若願意培養學生,代表未來的人力資源都圍繞著自由軟體,也就會有更多人使用軟體、軟體問題有更高機率被改善、也將創造出更多自由開放的文化資產。教育者應該要知悉到自己一時所選的軟體,對於未來社會整體文化將產生的持續效果。

程式教育正在興起,試想未來人人都有程式設計基礎,只要有心,誰都能從自由軟體所開放的源始碼中學習、和世界各地參與該自由軟體專案的朋友們溝通、合作,無疑是很好的動手實作教材。除了自己可以動手改善外,不會寫程式的人若有需求,也都可以聘請專業的程式設計師,將這個自由軟體修改成符合自己期待的模樣。一旦程式改善了,只要發布出去就能造福更多受到相同問題困擾的人,人們不只滿足自己利益,同時也能讓整個社會全體一同得到利益,自利且利他。以任何方式貢獻自由軟體的朋友,不管是交流推廣、心得分享、協助翻譯、捐款贊助、除錯開發…等,其實同時都在幫助全世界的人。

我相信人類社會之所以有今天,是站在前人的肩膀之上,人類將知識、技術、文化,一代接一代傳承下去,再發揚光大;我認為傳承之間不應存在門檻,知識、技術、文化不應私藏成為獨家,所有資源皆應平等自由取用,再任接受者天性自由發展,成就新的知識、技術、文化。

自由軟體,是我堅信的未來。

作者:曾政嘉 (Cheng-Chia Tseng)。目前是中華民國軟體自由協會常務理事,此外亦長期參與多項自由軟體專案,為 Fedora 大使、Ubuntu Member、The Document Foundation Member、和 GNOME Foundation Member。 

自由軟體的本質

自由軟體的存在,建立在四大自由之上。
  • 零:自由執行程式,無論任何目的。
  • 壹:自由研究該程式如何運作,並依照想法修改以符合自身所需。(能存取源始碼是這項自由的先決條件)
  • 貳:自由再次散布程式副本,幫助親朋好友街坊鄰居。
  • 參:自由將修改後版本散布給他人,如此一來就有機會讓改善惠及社群整體。(能存取源始碼是這項自由的先決條件)
於是,自由軟體就不再是個人專屬的,它更是全民共有的。

BabyGnuTux-Big,作者 Nicolas Rougier,源始檔在此

漢文中所謂軟體,泛指一切智慧、思想的資源,與硬體相對。而硬體泛指一切建設的實質設施。

基本上我們可以這麼想,電腦世界中的軟體是程式碼,是種具有實用性質的數學式,在互相組合交織之後得以完成某些事務的智慧思想過程,人們將之寫下並交付給電腦運行。就像數學一樣,軟體需要相當進階的專業知識才能夠正確地調整、改善和使用,這就是為什麼有許多人會僱用程式設計師來更新軟體與改良。

自由軟體的特性,就是個人和群體都能自由運用這些以數學式形式存在的事務處理思維過程。也因為自由軟體這樣的特性,造就個人與群體之間的連結與互動,形成了「社群」。

歷史

就歷史而言,起源自理查・史托曼 (Richard Stallman) 的重大自由軟體專案 — GNU 專案。其創立本身旨在完成理查・史托曼的個人理想,打造出完全是自由軟體的 Unix 風作業系統,一套不同但類似(且相容)於當時主流之專有 Unix 的作業系統,他將這套作業系統稱為 GNU,意思代表 GNU's Not Unix。於是世界各地認同這個理念的人們就這麼聯合起來,成為社群,互助合作共同打造 GNU 作業系統。

在1991年時,GNU 將近完成,只欠 Unix 風作業系統中最內部用來分配機器資源、並和硬體對話的程式,也就是「核心」,英文稱為 kernel。剛好林納思・托瓦茲 (Linus Torvalds) 所開發的 Linux 核心可以補完欠缺之處,許多人開始將 GNU 和 Linux 結合一起,打包成「GNU/Linux」作業系統,自此為自由軟體運動的濫觴。

不過林納思・托瓦茲為何要開發 Linux 核心呢?他本人說是「Just for fun.」純屬樂趣為之。但正因為自由軟體兼屬個人與集體的特性,他這個人樂趣之產物,向外接觸到他人之後,他人若覺方便好用可將之改善,再散布給另外他人(包括回饋給原作者林納思・托瓦茲), 於是又造就了個人與群體之間的連結互動。

後續林納思・托瓦茲在開發 Linux 的過程中,需要和他人合作,創造出 git 版本控制系統。這是種分散式架構,任何人都可以有 Linux 源始程式碼的儲存庫,方便他人在自己的機器上修改程式碼,也方便回饋到原作者的儲存庫中。人們依據自身需求可以如河流般分支出自己的旁支,抑可以再合併回元初的主道,反映了自由軟體的內在本質。

自由軟體的本質

在自由軟體的世界中,人們和程式碼相同,都會聚在一起、成型、扭曲、纏繞,有時又還原、斷裂,再次連接。這就是自由軟體的本質。這項基本性質,其實反映出許多人類文化的思想,亦可以說這些文化底蘊正是自由軟體根源的本質。

以東方的佛教思想體系來看,自由軟體正是「自利利他」的體現。以這種觀點來看自由軟體世界中的自利,如理查・史托曼想要打造「GNU 作業系統」的理想、林納思・托瓦茲「Just for fun」的個人樂趣,而依據自由軟體的本質,無論何時都將利他。深層點我們可以看到這些想法背後皆是由其他所有事物構成,亦即包含整個宇宙,是我、和無我的概念。亦是荒川弘所著之《鋼の錬金術師》中一再提及之「一為全、全為一」的道理。甚者,源自南非復興的 Ubuntu 精神意涵:「I am what I am because of who we all are. 」亦復如此。

以西方的思想來看,自由軟體亦是「自由・平等・友愛 」的體現。在自由軟體的世界中,人人皆有可以使用、研究改善、散布程式(無論有無修改)的自由,所以人人皆平等,沒有軟體被誰專有的情事,而自由軟體所構築的社群,正對應兄弟關係或類兄弟關係的社群價值之友愛 (Fraternité)

在日本動畫家和電影導演新海誠作品《君の名は。》所講述的「むすび」(結び)神道思想中,萬物皆有靈,無論是連接繩線、連接人與人、時間的流動都是むすび,所有事物的推移全都是神明的力量。人們做的結繩是神的作品,亦是時間流動的體現:聚在一起、成型、扭曲、纏繞,有時又還原、斷裂,再次連接。而這樣的描述正好和前述自由軟體世界的運作不謀而合,人們和程式碼都是如此結合成社群。

自由軟體的本質,就是如此反映出人類文化的思想底蘊。每當我們在使用、貢獻、推廣自由軟體之時,其實就已在其中了;瞭解至此,我們也就不意外為何世界上會有這些人,在各地個人卻又集體地發展自由軟體了。

深入閱讀


作者:曾政嘉 (Cheng-Chia Tseng)。目前是中華民國軟體自由協會常務理事,此外亦長期參與多項自由軟體專案,為 Fedora 大使、Ubuntu Member、The Document Foundation Member、和 GNOME Foundation Member。