關于開源軟件和閉源軟件我個人Naive的看法

jopen 10年前發布 | 36K 次閱讀 開源

昨天,我發了個微博。http://weibo.com/1401880315/BfdhldiEa

對開源軟件來個可能會引發爭議的觀點:對于絕大多數的軟件產品來說,1)閉源的軟件產品的技術含量要比開源的要大得多。2)大多數的開源軟件都在抄閉源的商用軟件。

我來回答我制造的話題。(知乎上的:http://www.zhihu.com/question/24616693/answer/28430044)

首先,我先表達一下開源軟件的偉大,并向開源的人們致于我最真誠的敬意。但,即使這樣,我們也要很客觀的承認大多數開源軟件是存在大量問題的。就像我這個人主觀上并不喜歡微軟和IBM,但是我必需要承認,沒有微軟和IBM,計算機這個行業不會有今天這樣的爆炸。(插曲:我94年上大學選的專業是計算機科學,當時很多人都覺得計算機專業是一個ZB的專業,因為幾乎沒有哪個企業在用電腦,但我幸運的是95年的時候微軟出了Win95,Sun出了 Java,然后互聯網極度膨脹,才導致我選的專業最終變得很火)

至于我說的這兩句話,我知道是有爭議的,尤其是我用了“抄”,在此請原諒我用詞不當,像從事開源的朋友道歉這個“抄”其實是“模仿”的意思

另外,要是沒有開源,我們中國人的軟件公司能做出云平臺嗎?能做出手機嗎?能大數據嗎?真心感謝開源!

簡單地說一下開源的歷史

簡單的回顧一下歷史,而開源源自Unix最初的發展史,然后,就被商業化了,于是N多的Unix變種就出來了,那些Unix老牌黑客們一下就被成了像羅賓漢一樣的成了叢林草莽,以至于Microsoft用次等的技術占領了市場,而RMS也開始了他的GNU項目,但是GNU并沒有獲得那些Unix老牌黑客的青睞,因為他們覺得RMS就像當年馬克思滿世界鼓吹共產主義一樣鼓吹他人的GNU,最終Linus出來把這些Unix老牌黑客召集了起來,讓Unix的開源精神重生。這段歷史起源于Ken/Dennis,再次向他們致敬!詳細的歷史大家可以看看我7年前寫的:Unix傳奇(CSDN和CoolShell都可以搜到)

我個人以為開源軟件自Unix以來,最殺手級的組合是LAMP,今天,Apache 基金會,Linux基金會……讓開源的力量越來越大,很多商業公司都參與開源,比如IBM、Yahoo、SUN、Intel、Google……。

但是,我們可以看出,商業公司支持開源有一個很主要的原因是為了阻擊競爭對手,理由很簡單——用眾包這種不花錢不花人的模式來牽制競爭對手實在是一個“低投入,大收益”的事。比如IBM支持Linux和Java,目的主要是阻擊微軟。Google的Android和Chrome目的也是蘋果和微軟。而對于這些商公司的很多核心技術是不會開放的,包括Google,連Google Reader都寧可自廢都不愿意捐給開源社區維護,更別說Google的那三篇論文的東西了,以及Google的搜索引擎的技術。

關于我觀點中的邏輯

我觀點中的邏輯其實很簡單:

1)如果有人掌握了一個很核心技術,這個技術足以改變世界,你覺得會有多少人會開源?基本不會有人的。

2)看看這個世界上的引領軟件潮流的技術基本上都是商業公司做出來的。因為技術研發要花時間,花精力,更重要的是要花錢。如果你花了2-3年的時間,花費成百上千萬的財力,你會開源嗎

3)大量開源軟件都是受不了這些商業公司對技術的壟斷以及非常高的價格。所以,基于這個動機,結果很自然就出現了“模仿”

關于各種軟件的對比

很多人對我的這個觀點例了一些例子,但這些例子面太窄了,他們企圖以點代面。我在這里幫大家補充一些吧,這樣會更客觀一些(眼界不妨放大一些):

注意:千萬不要用“用戶量”來定義“技術含量”,如果你覺得:“有技術含量”===“有絕對的用戶量”,那么,你就會得出“QQ空間甚至hao123可能是這世上最有技術含量的軟件或網站”這樣荒謬的結論

1) VMWare 和 Xen/KVM

2) Google的三篇論文 和 hadoop

3) AWS 和 OpenStack

4) Google Reader和一干開源的reader

5) Websphere/Weblogic和Jboss, tomcat (注:互聯網的大多數應用都比較簡單)

6) 輸入法,你是用sogou的還是google的,還是微軟的?

7) iOS和Android,你覺得哪個技術和質量做得更高一些呢?

8) Windows/MacOS 和 Linux (對此需要分開:桌面、服務器、嵌入式) (再注:蘋果公司開放了Mac OS的內核Darwin的源代碼,但沒有包括GUI)

9) 多媒體方面的軟件,比如:3D動畫、音頻、圖像……Photoshop, Maya, 3DMax...開源的:Blender,GIMP,Inkscape……

10) 閉源的游戲和開源的游戲,你更喜歡玩哪個的呢?

11) 各種辦公用的OA軟件,MS Office,還有SAS和PeopleSoft的軟件。開源的……

12) 用于出版行業排版的軟件,Adobe的inDesign, PageMaker, MS的publisher,開源的Tex

13) 安全方面的軟件,大家見得最多的就是殺毒軟件了。(花絮:OpenSSL的代碼大家看過嗎?的確寫得很ugly)

14) 軟件測試相關的:PurifyPlus, VTune, CodeAnalyst, JProfiler……開源的:valgrind, gprof..

15) 企業內部的IT管理軟件,大家可以看一下三個公司:IBM,BMC,CA,大家可以看看他們做了些什么樣的ITIL的軟件(關于ITIL請大家自行Google吧)。

16) 行業軟件:集成電路設計的軟件、石油勘探的軟件、航空軟件、汽車里的嵌入式的軟件、醫療設備用的軟件、金融行業的軟件、建筑設計方面的(AutoCAD)

17) 聊天軟件:QQ,Skype,YY,FaceTime,YIM

18) 編程IDE:關于IDE的比較,請移步參看Wikipedia:Comparison of integrated development environments (注:IntelliJ IDEA是半開源的)

19)網頁制作:Dreamwaver, Fireworks, Flash...…………

我還可以一直把例子舉下去,因為還有很多地方的軟件很少人見過的軟件,比如,NASA的、CERN的、DreamWorks,等等。

希望你的視野比我更寬一點,別只看自己編程用的那些東西,多看看這個世界高精尖的地方。

其它

我有這樣的觀點主要是因為我的成長史主要是在商業公司,我能看得到這些商業公司中有很多比開源軟件很NB的東西。我為什么喜歡進這些頂尖的商業公司,因為只有進到這些公司我才能看有權限看到這些令人驚嘆的軟件是怎么做出來的。

這也是我沒有花精力貢獻開源的原因。這和我不寫書的原因是一樣的。我不寫書的原因是因為我看過Effective C++,TCP/IP詳解,Unix編程藝術,等等這類經典的書,我覺得我根本就沒有資格寫書,如果我有他們的兩三成的功力,我都會考慮出書,但是我真的不行。(另一方面再看看書店里那些95%以上的垃圾的書,真是令人惡心)

同理,我沒有做開源的原因也是一樣,因為我看過很多商業公司里的那些令人驚嘆的東西,我覺得我還沒有資格去干個開源軟件。我更愿意把我的時間和精力花在向這些商業公司學習之上。(看看開源社區里的那些開源項目,90%的開源項目其實跟書店里的爛書沒什么差別)

人生苦短,而我覺得我自己沒有那個聰明的DNA,而這世界上的垃圾已經有很多了,我就不必再為垃圾添磚加瓦了。我還是把精力放在多看和多學上吧。因為我連一個C++ STL或JDK中的一個容器類都沒有信心能寫好。

當然,我并不是說干開源的人不行。只不過,我沒有信心貢獻罷了。說得好聽點,我標準比較高,說得難聽點,我能力差。你對我的這兩種理解都對。我的技術的確水,我在我的博客上的各人簡介也說了我不是牛人。

謝謝大家。

來自:http://weibo.com/p/1001603736732511140174

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!