什麼是 GNU?一個俏皮但不容易弄清楚的遞迴風格答案是:
GNU is Not Unix。我們看到,N 和 U 展開成
Not Unix。但是 G 呢?
經過無窮多次的遞迴展開,它會被推到無窮遠去,所以就當它消失了。
以下是展開四次的例子,讀者應該看出來規則了吧。
如果讀者去查字典,會發現英文字典裡面都說,gnu 是一種南非產的牛。 那種牛的真實照片,或許不容易找到。但是牠的漫畫,就在上面。 不過,所有知道閩南語的讀者們,只要運用一點點的想像力, 就會發現 gnu 當做閩南語音標來唸,讀出來的音,就是「牛」, 特別指的是臺灣鄉間常見的耕作用水牛。
所以,GNU 是什麼呢?
雖然 GNU 的定義裡面,說它自己不是 Unix。但是它的宗旨, 卻是發展一套類似 Unix 的 Free Software。 此處的 Free,應做 Free speach 裡面的 Free 解, 而不是 Free lunch 裡面的 Free。 也就是說,它強調的是自由軟體,不是免費軟體。 雖然,從網路上拿到的 GNU 軟體,的確都是免費的,但那並不是 GNU 的宗旨與目的。
GNU 計畫成立於 1984 年。為了合法地籌措資金,後來成立了 自由軟體基金會 (FSF: Free Software Foundation), 接受合法的捐款,或是以販售光碟、手冊之非營利收入, 來支持一些開銷。在 GNU 計畫底下開發或自由軟體的人,許多來自學術界, 因為他們比較沒有生計壓力,可以為理想而工作。 但是,GNU 的人才並非全部來自學術界, 也有一些人是職業的程式設計師。 只是他們必須利用業餘時間為 GNU 計畫工作,或是他們得到雇主的支持,
什麼是自由軟體?以下引述 FSF 自己的話
``Free software'' refers to the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software:簡單地翻譯,
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. (freedom 3). Access to the source code is a precondition for this.
而且,開放給所有人閱讀、批判的學術論文,造就了一個完備的品管系統。 這個品管系統,從希臘的數學著作開始,至今已經有 2500 年的歷史。 學術界代代相傳,不論是希臘人、阿拉伯人還是歐洲人, 乃至於近代加入這套學術傳統的中國人、日本人和印度人, 都掌握了這一整套的品管系統。 時間證明了,這是個無上成功的品管系統。 因為,數學與科學的論述,雖然在短時間內可能有錯, 但所有的錯誤,勢必會在三、五年內被發現、被更正。 無論是皇權或軍權,都無法左右學術論文的理性判斷。 根據這個經驗,我們認為,開放給所有人自由閱讀、思考、批判的電腦軟體, 也可以被納入學術論文形式的品管系統。 惟有如此,才能降低錯誤、提高效率、走向正確的康莊大道。
但是,很多人會擔心,如果真的走向自由軟體,那麼專業程式設計師不就要失業了嗎? 這種憂慮不必太多。用宏觀的眼光看,學術界帶動了近代整個科技與經濟的發展, 創造了更多的就業機會。用狹窄的眼光看, 專業程式設計師仍然可以因為提供自由軟體的服務,而獲得職業。 譬如說,Linux 是一個自由軟體。但是許多人不會自己安裝或管理 Linux, 所以有 Red Hat 這種公司產生。而且她還可以有股票上市。 由此可見,自由軟體根本不會是市場毒藥,不會是就業機會的殺手。 GNU 精神,的確是一種無私的、對全體人類的成長有著大愛的,一種精神或理想。
為了抵抗不肖業者,取得自由軟體之後,將它稍事修改或利用法律技巧, 反而將那份軟體註冊成為它的公司之專利軟體。 FSF 提出了它自己的 Copy Left 概念。 這 Copy Left 是一個雙關語。一方面,他相對於一般所謂的著作權 Copy Right (right 是右,left 是左)。 另方面,它表示,這裡還是有些著作權剩下來, 而非完全的屬於公眾 (public domain)。 Copy Left 的主要用意,就是要保障自由。 用 FSF 自己的話說,就是
So instead of putting GNU software in the public domain, we ``copyleft'' it. Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it. Copyleft guarantees that every user has freedom.在 GNU 網站中,我們可以看到幾款不同的 Copy Left 合約。 此處,我們抄來一份 Copy Left 純文字檔案,供讀者參考。
身為學術界一份子,我們勢必要鼓勵並且實行 GNU 精神。 所以,目前這份教材,就應該要以 Copy Left 的精神開放。 但是,我不知道在臺灣,這種自己宣告的 Copy Left 合約是否具有任何法律作用。 因此,為了避免我們在中央大學數學系,辛苦製作的教材, 被人拿去做不當的商業用途,我們寧可宣告自己的著作權和智慧財產權, 以免在將來無以維護自己的,和所有讀者的權利。
課外讀物:
[1] GNU 首頁
http://www.gnu.org
[2] FSF 的 Copy Left 合約
http://www.gnu.org/copyleft/gpl.html
單維彰 (00/04/15) --- 00/06/09