5W1H聊開源之Who——誰“發明”了開源?

陳琦聊測試發表於2021-06-16

美國政治傳播學家拉斯韋爾提出了5W傳播模式,經過後人的不斷運用和發展總結,形成了一套逐漸成熟的“5W1H”體系,即:對選定的專案、工序或操作,都要從原因(何因Why)、物件(何事What)、地點(何地Where)、時間(何時When)、人員(何人Who)、方法(何法How)等六個方面提出問題進行思考。

本系列文章就以5W1H體系來講一講開源的那些事。這一次,講講開源的Who——誰“發明”了開源以及開源的起源。

微軟的一封信

自上世紀第一臺計算機問世以來,計算機產業是以硬體為主的商業模式,即硬體銷售為主要收入來源,附帶的軟體並不收費且附有原始碼,便於專業人員除錯和修改。雖然現在都將軟體著作權視為司空見慣,但當時的法律並不能給予這一新生事物充足的保護。後來,隨著個人電腦的普及,人們對軟體的需求擴大,出現了一批專門開發通用軟體的公司,這樣的軟體公司需要對軟體收費來獲取利潤。但軟體收費與提供原始碼顯然是矛盾的,因為只要仍然提供原始碼,就無法阻止使用者或者競爭對手複製或改寫軟體程式碼。



1976年2月3日, Bill Gates發表了著名的《Open Letter to Hobbyists》(致電腦業餘愛好者的一封公開信),在這封公開信中,Bill Gates明確提出軟體應該具有“CopyRight”(版權)。這封公開信奠定了軟體產品“CopyRight”的理論基礎,也促使私有軟體成為軟體產業發展的主流。“Copy Right”理念的提出,必然導致原始碼被徹底被封閉起來。

客觀地講,Bill Gates的“Copy Right”理念以及私有軟體的興起,對於推動軟體產業的興旺功不可沒。但是,Microsoft等私有軟體廠商對於軟體市場的壟斷,引發了使用者和廣大軟體開發者的強烈不滿,興起了反對私有軟體理念的運動,開源軟體就是這種運動的重要組成部分。首先興起的私有軟體運動,是自由軟體運動(Free Software Movement),它是開源軟體運動的先河。

自由軟體運動

一些人對於軟體從免費轉向收費並且不再提供原始碼這一現象感到不適應或不滿,其中最著名的就是發起了自由軟體運動的Richard Stallman。70年代的Richard在MIT的AI(人工智慧)實驗室做程式設計師。施樂的印表機不再提供原始碼,Richard無法像以前透過修改程式碼來解決印表機故障;Richard向商業公司提供了LISP編譯器的公共程式碼,但該公司拒絕分享擴充和改進後的程式碼。這兩件事促使Richard辭職,投入到自由軟體運動中。

1983年,Richard 開始倡導自由軟體運動。1985年,Stallman等人建立了自由軟體基金會(Free Software Foundation,簡稱FSF)。Stallman提出了與“Copy Right”理念針鋒相對的“Copy Left”(許可複製權)理念,其表現形式是GPL,即公共許可證(General Pubic License)。自由軟體應該是具有如下4大自由的軟體:

  • 出於任何目的執行該軟體的自由;
  • 有研究該軟體如何執行並加以改進使之更符合自己需要的自由;
  • 有重新發布以幫助鄰里的自由;
  • 有改善程式,公佈改進方案(以及通常的修訂版)以推動整個社群利益的自由。


時間來到1991年,自由軟體基金會已經開發了GNU作業系統的大部分元件(例如編譯器、編輯器、使用者介面等),但是仍然未完成作為作業系統核心的核心,即GNU Hurd。


完成作業系統核心的任務是在一個21歲的芬蘭大學生Linus Torvalds的帶領下完成的。出於個人興趣和測試目的,Linus於1991年9月編寫了0.01版的Linux核心,而該版核心甚至還無法執行。不過1個月後他就寫出了0.02版,該版本已可以執行各種GNU元件了(所以Linux也常被稱為GNU Linux)。在0.02版後,來自世界各地的程式設計師們加入到了Linux核心的開發中,使其迅速完善。在1992年2月釋放0.12版時,Linus將Linux核心的許可證改為GPL許可證第二版,並一直保持至今。1994年3月,1.00版Linux核心開發完成。


正是 Linux 的出現,使得自由軟體運動有了自己可以與 Microsoft 的 Windows 相抗衡的作業系統。自由軟體運動初戰告捷。但是,自由軟體運動關於自由的追求,畢竟和現實的商業氛圍格格不入,帶有著過於理想化的色彩。這種反商業的信條,讓一些本來也反對私有軟體的人士對自由軟體敬而遠之。正是在這種背景下,一部分原有自由軟體運動人士,開始嘗試將理想的自由軟體與現實的商業氛圍進行某種銜接。

開源軟體

1998 年2月,Richard Stallman、Eric Raymond等人在美國加州成立了一個名為開源促進會(Open Source Initiative,簡稱 OSI)的組織,旨在推廣開源軟體。為了減少意識形態上的溝壑,以及「自由(Free)」一詞造成免費軟體的誤解。OSI 組織決定從「自由軟體」中去掉了「自由」一詞,使用「開源軟體」(Open Source Software)作為共通名稱,並建立了自己的開放原始碼的定義,以及自己的一套許可證。根據開源促進會的標準,開源軟體可以使用非著佐權(copyleft)性質的寬鬆(permissive)許可證,允許該許可證下的程式碼的衍生程式碼閉源。

用一句話概括,開源軟體就是原始碼開放且可以自由複製的軟體。開源軟體運動的理念更傾向於解決實際問題,既抓住了私有軟體的痛點,又實現了與商業的融合。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978795/viewspace-2776936/,如需轉載,請註明出處,否則將追究法律責任。

相關文章