開源和互聯網是天生的一對好基友
作者介紹
何寶宏(何博):工業和信息化部電信研究院標準所副所長,工業和信息化部科技委委員,數據中心聯盟(DCA)常務副理事長。
1999年畢業于中國科學院,獲計算機應用技術博士學位。長期從事互聯網技術、標準和管理等的研究,主導完成10余項國際標準,申請專利10余項,主持完成多項國家級項目。
軟件從開源走向商業化
1950-60年代,計算機的主要用戶是學術機構,所采用的商業模式是賣硬件送軟件。硬件是商業企業生產的,是工業產品,是用來賣的。軟件是科研機構出品的,是硬件的附屬品,是用來送的。
“賣硬件送軟件(含源碼)”的計算機商業模式,有著非常現實的原因:
1.認識。當時業界的共識,軟件是知識而不是產品,因此應遵循學術原則而不是商業邏輯。
2.市場。送軟件源碼可以讓用戶DIY,以便自己排除BUG、增加新功能、兼容不同硬件和不同操作系統(OS)等。
3.安全。那時計算機安全機制根本不存在,OS的日志功能還不流行,用戶擔心閉源軟件會有后門等。
進入70年代,計算機廠家不再免費送軟件了,更別提送開源的了。原因大致有三個:
1.行業風向標。1969年,計算機帶頭大哥IBM,在反壟斷訴訟的巨大壓力下,讓硬件與軟件分離,停止了免費送軟件。
2.小型機和PC的興起,計算機用戶激增,對軟件的需求也多樣化了,沒法送了。
3.操作系統和編譯器等,基礎軟件技術日益成熟和復雜,用戶沒必要和也很難DIY了。
基于以上幾點,在比爾蓋茨等人的忽悠和努力下,軟件開始賣了,作為一個獨立行業興起了。新的行業需要新的玩法,于是閉源、二進制代碼、版權、授權和版本號等,讓軟件行業利益最大化的游戲規則,開始逐步建立了。
軟件從開源走向商業化,不僅使得微軟、Oracle等軟件巨頭崛起了,也讓對軟件的認知,從知識走向了商品,從開源走向了閉源,背離了早期軟件開放、共享、協作和免費等的理想和信念。
自由軟件和開源軟件
于是,被人稱為“最后一個黑客”的 RMS 等黑客們憤怒了,先是提出了自由軟件(Free Software)的理念,后來又整出了開放軟件(Open Software)的方法。
◆自由軟件是理想主義者的Logo,是信仰,是道德,要求我們尊重每個人使用軟件的自由,涉及的是對與錯的問題。
◆開源軟件是現實主義者的Logo,是價值觀,是方法論,提出有一個開源開發的模式,不涉及對與錯的問題。
一個自由軟件應該是開源的,但只有部分開源軟件是自由軟件。如果說自由軟件是共產主義的理想,那么開源軟件就是社會主義初級階段。
更加接近商業現實的開源軟件,不僅得到了學術界的繼續支持,也得到了產業界的大力支持,明顯更接地氣。
軟件行業誕生于計算機行業,是軟硬件分離的產物。互聯網是硬件、軟件和通信融合的結果,是計算機之間需要連接的產物。
整個互聯網的設計,就像一臺放大版的計算機,只是從本地擴展到全球了,把總線從物理的擴展成邏輯的了,把I/O從外設擴展到整個計算機了。
事實上,設計互聯網的早期專家,大多是操作系統背景的。
進入80年代,軟件業反超硬件業,成為拉動計算機行業前進的核心引擎。
互聯網就是開源軟件的外延
進入21世紀,互聯網超越軟件,成為拉動計算機行業和通信行業的核心引擎。而90年代的聯網功能,只是計算機一個可有可無的附加功能,并且還需要專門購置的外置貓和通過電話線。
互聯網與開源軟件,采用了幾乎相同的理念和方法。比如:
◆互聯網開放網絡接口,小蠻腰模型,壓制網絡服務商,為消費者和ICP擴權。互聯網服務的發布主張快速迭代,Running Code和客戶體驗。
◆開源軟件通過源碼開放,釋放代碼自由,壓制軟件開發商,為用戶和硬件廠家擴權。開源軟件主張早發布,頻繁發布和傾聽客戶。
無論如何開放,都必須遵循一些最基本的游戲規則。以Request For Comments(RFC)為代表的互聯網標準,其理念和產生流程等,與開源軟件幾乎是一模一樣的。
RFC和開源軟件本質上都是標準,只是一個是給人閱讀理解的,用自然語言的;一個是給機器閱讀理解的,用機器語言寫的。
80年代初,BSD Socket 明確定義了 Unix 和互聯網之間的標準接口,并且被集成到了開源的BSD-UNIX中去,極大促進了互聯網的興起。
Unix的核心理念是模塊化和工具化,強調一個系統的價值來自程序之間的關系,而不是程序本身,這與TCP/IP的核心理念,簡直就是孿生的。
其實這種KISS(Keepit Simple and Stupid)原理,是70年代的主流思想,不僅是在計算機界。
90年代互聯網的崛起,讓開源擁有了一個完美的支撐工具。源代碼的傳播先是主要靠BBS,后來增加了UUCP、Usenet、IRC和Gopher等工具,現在是P2P、BLOG、SNS和Git工具等。
Linux因互聯網而生。在Windows如日中天的90年代,Linus Torvalds 幾乎靠一己之力和互聯網的力量,成功實現了Linux。Linux的成功說明:
對于大型復雜軟件的開發,不僅只有大教堂模式(微軟為代表)一條路;借助于互聯網的力量,集市模式(以眾包)也可以成功。
2008年,微軟首席執行官史蒂夫·鮑爾默說,“Linux是癌癥”。
互聯網讓開源更加盛行
甚至 Open Source 一詞,也是因為互聯網的直接產物。1998年1月,為了抗衡如日中天的IE瀏覽器,網景公司發布了Navigator瀏覽器的源代碼,為了區別于之前的 Free Software,業界開始啟用了Open Source這個新名詞。
反過來,互聯網也得益于開源的成功。操作系統Linux,安全通信OpenSSL,數據庫My SQL,門戶工具Apache,排版引擎Webkit,手持終端Android,網絡Open Daylight,云計算Open Stack,大數據Hadoop等,這些借助開源互聯網而起的開源軟件,今日又成了互聯網的基石。
沒有互聯網就沒有開源的今天,沒有開源就沒有互聯網的今天。先是Open Source over Internet,然后Internet over Open Source。開源與互聯網,同根同源,相同的理念,共同的興趣,成了一對好基友。
如何一起愉快地發展
“高效運維”公眾號(如下二維碼)值得您的關注,作為高效運維系列微信群的唯一官方公眾號,每周發表多篇干貨滿滿的原創好文:來自于系列群的討論精華、運維講壇線上精彩分享及群友原創。“高效運維”也是互聯網專欄《高效運維最佳實踐》及運維2.0官方公眾號。
提示:目前高效運維新群已經建立,歡迎加入。您可添加蕭田國個人微信號xiaotianguo8 為好友,進行申請,請備注“申請入群”。
重要提示:除非事先獲得授權,請在本公眾號發布2天后,才能轉載本文。尊重知識,請必須全文轉載,并包括本行。