開源20年:為編程和商業帶來了怎樣的改變?
現在,世界上的每一家公司都在使用開放源代碼軟件。微軟——一度是開放源代碼最大的敵人——現在也成了開源的熱心支持者。即使是Windows現在也使用了開放源代碼技術來構建。如果你曾經用過谷歌(Google)進行過搜索,從亞馬遜(Amazon)上買過一本書,在網飛(Netflix)上看過一部電影,或者是在臉書(Facebook)上看過你的朋友的假期照片,你就是一名開放源代碼用戶了。對于一種技術來說,在2月3日迎來自己的20歲生日很不錯。
從第一臺電腦出現開始,免費軟件就已經出現了,但是自由軟件和開放源代碼的理念則要新得多。在上個世紀七十和八十年代,很多公司通過制造專有軟件獲得的利潤而崛起。在新生的個人電腦世界里,甚至沒有人知道免費軟件。但是,在Unix和ITS系統主導的互聯網上,情況可就完全不一樣了。
在七十年代后期,理查德.斯托曼(Richard M. Stallman)——他也被稱為RMS,是麻省理工學院(MIT)的一名程序員,他根據一臺打印機的源代碼創建了一個免費的打印機實用程序。但隨后一臺新的激光打印機進了校園,他發現他不能再獲得源代碼了,所以他不能重新創建這個實用程序。憤怒的理查德.斯托曼(RMS)創造了“自由軟件(Free Software)”的概念。 理查德.斯托曼(RMS)的目標是創建一個自由的操作系統——Hurd。在1983年9月,為了做到這一點,他宣布創建GNU項目(GNU代表GNU的非Unix——一個遞歸的縮寫)。到1984年1月,他正在全職投入到這個項目之中。為了幫助建立它,他創建了所有自由軟件/開放源代碼編譯器系統的鼻祖GCC和其他一些操作系統實用程序。在1985年年初,他發表了“GNU宣言”,這是自由軟件運動的創始章程,并推出了自由軟件基金會(Free Software Foundation ,FSF)。
在好幾年里,一切進行得都非常順利,但理查德.斯托曼(RMS)不可避免地會與專有軟件公司有磕磕碰碰。Unipress公司把代碼的一個變體拿到了他的EMACS編程編輯器中,并把它變成了一個專有程序。理查德.斯托曼(RMS)一直不希望這種情況再次出現,所以他在1989年創建了GNU通用公共許可證(GPL)。這是首個版權許可證。它讓用戶有權使用、復制、分發和修改程序的源代碼。但是,如果你更改了源代碼并將其分發給其他人,你就必須共享修改后的代碼。雖然有一些免費許可證出現得更早——例如上個世紀九十年代的四分之一BSD許可證——但是GPL卻引發了自由軟件、開放源代碼的革命。 1997年,埃里克.雷蒙德(Eric S. Raymond)發表了他的重要文章《大教堂和集市(The Cathedral and the Bazaar)》。在這篇文章中,他展示了使用GCC——Linux內核的自由軟件開發方式的好處,并以他自己的Fetchmail項目的經驗作為例子。這篇文章不僅僅是展示了自由軟件的好處。他描述的編程原則為敏捷開發和DevOps帶來了方向。二十一世紀的編程很大程度上要歸功于雷蒙德(Raymond)。
像所有的革命一樣,自由軟件的支持者們迅速分裂了成了不同陣營。一方面,正如Glyptodon的開放源代碼專家和戰略顧問約翰.馬克.沃爾克(John Mark Walker)最近所寫道的:“自由軟件是一種社會運動,不含有一絲一毫的商業利益 ——它存在于宗教和哲學領域。自由軟件是一種秉持著非常高的道德準則的生活方式。”
另一方面,有很多人想把“自由軟件”帶到商業上來。他們后來成了“開放源代碼”的創始人。他們的口號是,“自由即為自由”和“言論自由,而啤酒并不免費”,這些說法讓大多數人對這些事情對軟件的真正意義感到困惑。
Netscape網絡瀏覽器源代碼的發布引發了自由軟件領導者和專家于1998年2月3日在加利福尼亞州帕洛阿爾托舉行的戰略會議。在那里,埃里克.雷蒙德(Eric S. Raymond)、邁克爾. 蒂曼(Michael Tiemann)、托德.安德森(Todd Anderson)、喬恩“瘋狗”霍爾(Jon“maddog”Hall)、拉里.奧古斯丁(Larry Augustin)、薩姆.奧克曼(Sam Ockman)和克里斯汀.彼得森(Christine Peterson)邁出了開放源代碼的第一步。
彼得森(Peterson)創建了“開放源代碼這個術語”。她記得:
“開放源代碼軟件”這個術語的引入是為了使這個領域的嘗試對于新手和企業變得更容易理解做出的慎重決定,這被認為是擴展到更廣泛的用戶群所必需的。早期的主打品牌“自由軟件”的問題不在于它的政治內涵,而在于對于新手來說——它似乎把注意力放在價格上,這讓人分心。需要一個專注于源代碼關鍵問題的術語,并且要確保它不會讓剛接觸這個概念的人感到困惑。在合適的時間出現并滿足所有這些要求的第一個術語被迅速采用:開放源代碼。
為了幫助澄清什么是開放源代碼,雷蒙德(Raymond)和布魯斯.佩倫斯(Bruce Perens)創建了開放源代碼促進會(Open Source Initiative ,OSI)。其目的曾經是,而且現在也仍然是定義什么是真正的開放源代碼軟件許可證,而什么不是。
斯托曼(Stallman)被開放源代碼激怒了。他寫道:
這兩個術語描述的軟件方法/類別幾乎是完全一樣的,但是它們背后的觀點所代表的價值觀示截然不同的。開放源代碼是一種開發方法,而自由軟件是一種社會運動。對于自由軟件運動,自由軟件是一個道德上的必要條件,從根本上尊重了用戶的自由。相比之下,開放源代碼的哲學只考慮如何使軟件“更好”——只是從注重實際意義上的“更好”。它表示,非自由軟件是解決手頭實際問題的比較差的解決方案。大多數關于“開放源代碼”的討論都不關注正確與錯誤,只關注流行與成功。
他認為開放源代碼是對商業的卑躬屈膝,并且將關注的焦點從個人自由轉移到能夠自由訪問代碼上。二十年過去了,他仍然對此很生氣。斯托曼(Stallman)在最近給我的電子郵件中表示,“將我或者我的工作或者自由軟件和‘開放源代碼’這個術語聯系在一起是一種常見的錯誤。那是拒絕自由軟件運動哲學的人在1998年使用的口號。”
將哲學上的沖突放在一邊,開放源代碼確實已經成了實用軟件開發的典范。開放源代碼客戶關系管理(CRM)軟件即服務(SaaS)供應商SugarCRM的首席執行官拉里.奧古斯丁(Larry Augustin)是首批在商業軟件業務中使用開放源代碼的探路者之一。奧古斯丁(Augustin)展示了成功的企業可以建立在開放源代碼軟件的基礎上。
其他公司很快接受了這種模式。除了Canonical、Red Hat和SUSE之類的Linux公司之外,IBM和Oracle等技術公司也接納了它。這反過來又造成了開放源代碼在商業上的成功。最近,一些你永遠也想不到會是開放源代碼公司的企業也加入進來,例如沃爾瑪(Wal-Mart)和威瑞森(Verizon)這樣的公司,現在也依靠開放源代碼程序,并擁有自己的開放源代碼項目。 正如Linux基金會(The Linux Foundation)的理事吉姆.策姆林(Jim Zemlin)在2014年所觀察到的:
一種新的商業模式已經出現,在這種商業模式中,各大公司正在跨行業聯手共享開發資源,并建立共同的開放源代碼代碼庫,以便他們能夠在其基礎上讓他們自己的產品和服務實現差異化。
今天,霍爾(Hall)回首往事,表示:“我認為‘閉源’是曇花一現”。雷蒙德(Raymond)對開放源代碼的成功并不感到驚訝。雷蒙德(Raymond)在接受電子郵件采訪時表示:“哦,是啊,已經有20年了——這不是什么大不了的事情,因為很久以前,我們贏了我們需要贏的大部分戰斗,就像在1998年以后的第一個十年里那樣。”
“從那以后,”他繼續說,“我們一直主要處理成功的問題,而不是失敗的問題。以及一些全新類別的問題,例如沒有升級路徑的物聯網設備——如果你不能為軟件打補丁,那么打開它也沒多少幫助。”
換句話說,他總結說:“對勝利的獎賞往往是另外一系列的戰斗。”
這些是開放源代碼即將取勝的戰役。紅帽(Red Hat)的首席執行官兼總裁吉姆.惠特赫斯特(Jim Whitehurst)告訴我:
開放源代碼的未來是光明的。我們正處于新一輪創新浪潮的風口浪尖,因為物聯網將信息與實物分離開來。在未來十年里,我們將看到整個行業都將基于開放源代碼的理念,如信息共享和聯合創新成為主流。我們將看到每個部門都會受到這樣的影響,從醫療、教育和政府等非營利組織到意識到共享信息將帶來更好結果的全球公司。開放和參與式創新將成為世界各地生產力提高的關鍵因素。
其他人則認為開放源代碼已經不僅僅是一種軟件開發方法了。紅帽(Red Hat)的新興技術實踐高級總監尼克.霍普曼(Nick Hopman)表示:
開放源代碼不僅僅是開發和曝光技術的過程。開放源代碼是推動社會各個方面變化的催化劑——政府、政策、醫療診斷、流程再造,你還可以繼續列舉下去——并且可以利用通過開放源代碼軟件開發經驗完善的開放原則發展推動變革和創新的社區。展望未來,開放源代碼將繼續推動技術創新,但我更興奮地是看到它如何以我們尚未考慮到的方式改變世界。
確實。開放源代碼已經迎來了自己的二十歲生日,但是它的影響力——不僅僅是在軟件和業務方面——還會持續好幾十年。
責任編輯:任我行
-
碳中和戰略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
兩部門:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業 -
國家發改委、國家能源局:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業
-
碳中和戰略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
深度報告 | 基于分類監管與當量協同的碳市場框架設計方案
2020-07-21碳市場,碳排放,碳交易 -
碳市場讓重慶能源轉型與經濟發展并進
2020-07-21碳市場,碳排放,重慶
-
兩部門:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業 -
國家發改委、國家能源局:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業 -
2020年二季度福建省統調燃煤電廠節能減排信息披露
2020-07-21火電環保,燃煤電廠,超低排放
-
四川“專線供電”身陷違法困境
2019-12-16專線供電 -
我國能源替代規范法律問題研究(上)
2019-10-31能源替代規范法律 -
區域鏈結構對于數據中心有什么影響?這個影響是好是壞呢!