如何看待陳皓在微博上對閉源和開源軟體的評論?
如題,見下圖:
不管開源閉源,需要達成共識的一點是,好的軟體不僅需要開發,還需要管理。對於開源軟體來說,就是社區管理。
一個項目的成敗不僅僅看技術還要看管理,早年Gates帶著一幫天才創立微軟,還不得不請Ballmer出山幫他收拾爛攤子。
所以千萬不要小看Linus Torvalds,二十年來Linus干過的事不僅僅是創建了內核,現在Linux代碼中他個人貢獻已經稀釋到不足2%了,但他仍然是全球最大開源項目的社區領袖,並且持之以恆地做了二十年之久,事實上完全可以和Bill Gates、Steve Ballmer之流平起平坐了。他獲得IEEE計算機先驅獎理由上寫的是「For pioneering development of the Linux kernel using the open-source approach. 」看見沒有?是using the open-source approach。你可以說Linus算不上一個計算機科學家,但絕對算一個全球頂級的項目經理。
想想看有誰有這麼大的魄力能夠把這麼多牛人匯聚到開放性的社區?甚至來自微軟陣營。除了微軟谷歌這種商業公司,除了用錢?當然我指的不僅僅是Linus本人。不僅僅是代碼,Linux社區的管理機制,決策流程的設計都屬於人類集體智慧結晶。當然還有廣大碼農的熱情和發自內心的追求。
Linus曾在文檔里用詼諧的語言簡要概括了他的管理風格:LinuxKernelManaStyle
Linus還說過「不要錯誤地認為你可以做出比大量的平行試錯反饋環更好的設計,那樣就太抬舉你的智力水平了。」:(見財富到來,巨星碰撞)
很多人不是不懂技術,但很少有人理解 Linus,因為他們缺乏一個具有全球化規模應用的,代碼不斷膨脹和變更的項目管理經驗。在開源社區中有不少頂尖水平的源代碼設計,但要麼是個人項目,背後維護者只有一、二人之少,不定期更新,基本長期維持不變;要麼提交者眾多,管理不善,代碼最後良莠不齊,臃腫不堪。
大多數人眼中 Linus Torvalds 是一個 C 程序員,操作系統黑客、社區領袖、技術偶像、噴子……但很少有人注意到他還是一個優秀的 program manager,他需要每天對項目發生的變動以及隨後的可維護性做出及時而正確的反應。我覺得一個 program manager 要比一個全棧工程師來得實用,因為他即管項目又管人,工程師就不需要操心別的瑣事。甚至在人事管理上也是出了名的嚴格,Linus曾經把一個拒絕修復補丁的黑客踢出LKML,可見內核小組內部有著嚴格的紀律和原則,一點也不比商業公司差(你可以看看「技術人攻略」裡面採訪的一位來自中國內核開發者,看看社區如何做運作的:技術人攻略訪談二十九:平行世界守護者)。所以同比FreeBSD以及交不起電費的OpenBSD開源項目,Linux是世界上最活躍並可持續發展的開源項目,所以一個社區管理者功不可沒,責任重大。
======================================================================
謝謝耗叔的補充,我舉的例子的確有些單薄。我只是覺得Linux是開源社區的一個典範,而且它的特點比較容納商業和市場,其它社區像unix/python/BSD學術氛圍更濃。
從您的回復中可以認為您是贊同項目管理對軟體質量的影響的。我承認商業公司做得比開源社區好。一來商業公司的歷史比社區悠久,經驗豐富;二來商業公司可以聘請專業管理人士,比如商學院的學生。這些都是經過一百多年的歷史積累,也是人類的智慧結晶。
還有就是項目性質,開源社區天然的分散式,而商業公司是集中式,後者管理上相對更方便一點。
但我仍然認為開源是人類社會未來的工作方式也是生活方式。從哲學上,我認為未來世界是更緊密連接的,而閉源某種程度阻礙了連接,所以從時間上閉源肯定會被開源取代的。當然也像您說的閉源存在理由可能是因為技術上前無古人,但差距肯定會隨著時間縮小,那時閉源就沒有意義了,所以它是有生命周期的。開源社區有很多缺陷是因為工程運作上的問題,但這些問題將會以人類的智慧以及更好的技術或工具得以解決,具有商業公司血統的管理科學也將更多融合到開源項目中去,那時候開源、商業、學術將結合得更加完美。我覺得 @王亞暉 說的挺有道理。說實話,所有最後生存下來了的軟體,基本上投入的錢跟質量是正相關的。不管你開源閉源,只要你有錢,而且你生存下來了,你就可以做出好軟體。
只是在統計意義上生存下來的閉源軟體他爹比開源的有錢,所以就有了這種感覺。你們都覺得Chrome好吧,要是沒有google養著,靠大家捐錢,你讓誰給你寫Chrome去。
因為干不過同類開源軟體的那些閉源軟體,要麼已經死了,要麼就快死了,剩下來的都是比較出色的。
左耳朵耗子、tinyfool、fenng, 微博上三大裝逼碼農,原教旨主義程序員。
翻過大牆去看看ffmpeg的恥辱柱上釘了多少"優秀"的閉源軟體公司吧。
這種無聊的論調,呵呵。
為什麼在討論政治話題的時候一個基本的邏輯不用了?比如美國人是否比中國人高尚什麼的——那得看人。
開源軟體和閉源軟體哪個更好?通常人力投資大的的更好啊。別以為軟體是聰明人的遊戲,軟體首先是人力投入的遊戲,無論是開發還是維護,都是人力。多一點人力就多一個邏輯,多一個邏輯就意味著你拷貝一個重名文件時,它會問你覆蓋還是略過。少一個邏輯它只會直接報失敗。
閉源軟體和開源軟體各自有吸引投入的方式。閉源軟體是商業利益驅動的——因為有人買我這個軟體(或者相關產品),我投入工程師開發。開源軟體是合作需要驅動的,我這個軟體有很多人需要和它介面,我通過它賣我的產品,同時讓生態鏈上的合作夥伴可以基於這個軟體開發更多的更新,從而形成事實標準。這樣所有人為了降低開發成本,就會把代碼upstream上去,從而形成多家打一家的局面。(死掉的軟體再保密都沒有用)
兩種開發模式,在不同的場景下有不同的人力吸附力。比如前面有人舉的OpenOffice,怎麼都玩不過MSOffice,因為它沒有商業公司的合作需求。但如果你說在伺服器OS上,現在沒有其他OS的發展勢頭超過Linux,包括微軟自己的雲伺服器都在用SuseLinux。現在也不要提Unix的偉大,Unix也在一步步丟失市場。因為這個市場生態鏈長,有合作需求,誰都願意上傳代碼上去來降低自己在這個領域的投入。
回到問題本身,如何看到陳的言論,也許可以認為他有更多的背景資料等你來辨。但僅僅是這句話,是毫無營養的。
再者說了,陳浩誰啊?他做了什麼軟體出來?從他日常極限編程的時候開始,他就經常是在吸引眼球了。你要看乾貨,也是有的,但要靠自己的智商分辨跟挑選。
至於這篇微博,無疑是 troll。
對於troll,按照標準的做法:don"t feed the troll.自從有了社交網路以來,有些程序員公知化傾向明顯,越來越熱衷打嘴炮,打得越來越歡了。
談談我個人看法。一家之言,請諸位下手莫那麼狠啊。
1. 商業軟體的核心優勢在於:產品的完整性和完善的技術服務。這一點在企業軟體領域、對終端用戶而言尤為重要,客戶願意花錢買個舒心放心。
2. 陳皓列舉的那些例子,有些是很不恰當的,摘錄幾個說明一下:
2.1. 比如不能將Tomcat和Websphere比較,前者是一個SERVLET參考實現,後者是一個完整的AS。JBOSS的理念和實現絕對領先於WEBSPHERE和WEBLOGIC。那麼為什麼企業客戶還是願意買BEA和IBM的AS?原因參見第1點。
2.2. 專業領域軟體為什麼鮮見開源產品?那跟軟體技術含量關係不大,和艱深的領域知識有關。
2.3. IM領域為什麼鮮見開源的?IT行業的都了解吧,不管是QQ還是SKYPE,是需要投入巨大的資源來運營,而非下載一個軟體安裝上或者下載源代碼build一下就搞定了,然後用戶蜂擁而至。
2.4. ITIL方面確實有很不錯的開源軟體,只是你沒留意罷了。當然這些軟體不成體系,需要第三方去整合集成。比如設備監控和服務管理通常不是一個軟體能提供的。為什麼OPENVIEW、TIVOLI這些佔了絕對主流?如果對系統集成和運維領域有所了解,就知道答案了。
3. 跟陳皓所言相反,開源軟體的長項恰恰是注重技術含量,劣勢是忽略用戶體驗。舉幾個例子:比如,有很多商業軟體都依賴ffmpeg/mpeg4ip,我從2003年開始涉足視頻和流媒體到2006年止,幾乎都在與這個東西打交道;再比如,很多商業軟體中將resin/jetty作為web容器集成;還比如,PostgreSQL,引入了諸多新的創新的Feature、商業資料庫廠商還未支持的。所以,我不曉得怎麼得出的這個結論的,甚至QQ輸入法比GOOGLE輸入法更有技術含量。
4. 如果用抄襲/模仿這個詞來形容國內互聯網和手機APP,我覺得是恰當的。但開源並非在模仿/抄襲商業軟體,而是在同樣的概念、同樣的場景下,給用戶提供了另一種選擇。你可以說WPS模仿了MS OFFICE,但OPEN OFFICE確實沒咋模仿MS OFFICE,如果是抄襲/模仿,起碼可以做到WPS的水準才對,不至於那麼難用,再比如Mono,試著讓.net應用程序能在LINUX上運行,你不能說人是在模仿.net的runtime。
5. 開源軟體集中在幾個較窄的領域。諸位看看ASF、Eclipse SF旗下的項目,幾乎都是技術性的基礎性的,鮮有涉及行業層面的應用軟體。換言之,大多數開源軟體不是給最終用戶用的,而是需要再加工進行包裝、集成、本地化、二次開發....,通過專業的公司提供服務,才可能與商業軟體站一起比較。
6.開源軟體因為沒有明確的商業目標/利益驅使,是塊良莠不齊的田地,注重技術、忽略用於體驗、沒有品質承諾和服務保障。你說它差肯定有道理,但這個差是差在整體質量和服務,而不是技術含量上。而商業軟體恰好彌補了開源軟體這個缺點,用戶體驗好、安裝維護便捷、有售後技術服務、產品公司有延續性...在預算允許的前提下,當然會選商業軟體。
最後,我非常尊敬微軟、IBM,也非常敬重SUN、GOOGLE,對開源閉源沒什麼特別偏寵。好吧,我來回答我製造的話題。
首先,我先表達一下開源軟體的偉大,並向開源的人們致於我最真誠的敬意。但,即使這樣,我們也要很客觀的承認大多數開源軟體是存在大量問題的。就像我這個人主觀上並不喜歡微軟和IBM,但是我必需要承認,沒有微軟和IBM,計算機這個行業不會有今天這樣的爆炸。(插曲:我94年上大學選的專業是計算機科學,當時很多人都覺得計算機專業是一個ZB的專業,因為幾乎沒有哪個企業在用電腦,但我幸運的是95年的時候微軟出了Win95,Sun出了Java,然後互聯網極度膨脹,才導致我選的專業最終變得很火)不可否認,IBM和微軟里有相當NB讓人五體投地的人。
至於我說的這兩句話,我知道是有爭議的,尤其是我用了「抄」,在此請原諒我用詞不當,像從事開源的朋友道歉。這個「抄」其實是「模仿」的意思。
要是沒有開源,我們中國人的軟體公司能做出雲平台嗎?能做出手機嗎?能大數據嗎?真心感謝開源!呵呵。
簡單地說一下開源的歷史
簡單的回顧一下歷史,而開源源自Unix最初的發展史,然後,就被商業化了,於是N多的Unix變種就出來了,那些Unix老牌黑客們一下就被成了像羅賓漢一樣的成了叢林草莽,以至於Microsoft用次等的技術佔領了市場,而RMS也開始了他的GNU項目,但是GNU並沒有獲得那些Unix老牌黑客的青睞,因為他們覺得RMS就像當年馬克思滿世界鼓吹共產主義一樣鼓吹他人的GNU,最終Linus出來把這些Unix老牌黑客召集了起來,讓Unix的開源精神重生。這段歷史起源於Ken/Dennis,再次向他們致敬!詳細的歷史大家可以看看我7年前寫的:Unix傳奇(上篇)、Unix傳奇(下篇)
我個人以為開源軟體自Unix以來,最殺手級的組合是LAMP,今天,Apache 基金會,Linux基金會……讓開源的力量越來越大,很多商業公司都參與開源,比如IBM、Yahoo、SUN、Intel、Google……,開源的確成為了不可忽視的一股力量。
但是,我們可以看出,商業公司支持開源其中有一個很主要的原因是為了阻擊競爭對手,理由很簡單——用眾包這種不花錢不花人的模式來牽制競爭對手實在是一個「低投入,大收益」的事。比如IBM支持Linux和Java,目的主要是阻擊微軟和Sun。Google的Android和Chrome目的也是蘋果和微軟。而對於這些商公司的很多核心技術是不會開放的,包括Google,連Google Reader都寧可自廢都不願意捐給開源社區維護(註:有人說是不是因為不想開源,而是因為Google Reader後面牽扯太多東西,說白了就是牽扯google的核心技術),更別說Google的那三篇論文的東西了,以及Google的搜索引擎的技術了。
這裡,我是想說,如果開源是像Unix那樣,有幾個在那些頂尖的牛人以最純粹的目的來搞開源的話,才可能還能搞得非常地好。
關於我觀點中的邏輯
我觀點中的邏輯其實很簡單:
- 如果有人掌握了一個很核心技術,這個技術足以改變世界(其實並不需要改變世界,只需要遏制競爭對手),你覺得會有多少人會開源?基本不會有人的。
- 你看看這個世界上的引領軟體潮流的技術基本上都是商業公司做出來的。因為技術研發要花時間,花精力,更重要的是要花錢。如果你花了2-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的,還是微軟的?還是fcitx?
7) iOS和Android,你覺得哪個質量做得更高一些呢?
8) Windows/MacOS 和 Linux (對此需要分開:桌面、伺服器、嵌入式) (再註:蘋果公司開放了Mac OS的內核Darwin的源代碼,但沒有包括GUI)
9) 多媒體方面的軟體,比如:3D動畫、音頻、圖像……Photoshop, Maya, 3DMax...開源的:Blender,GIMP,Inkscape……
10) 閉源的遊戲和開源的遊戲,你更喜歡玩哪個的呢?
11) 各種辦公用的OA軟體,MS Office,還有SAP和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) 聊天軟體:ICQ,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%以上的垃圾的書,真是令人噁心)
同理,我沒有做開源的原因也是一樣,因為我看過很多商業公司里的那些令人驚嘆的東西,我覺得我還沒有資格去幹個開源軟體,最多跟隨幾個我力能及而且覺得還不錯的開源軟體。不過,我更願意把我的時間和精力花在向這些商業公司學習之上,以獲得更有技術含量的知識。
更新:以前也做過些開源,比如:我在讀過TCP/IP的書後就去寫了一個類似Wireshark的東西,也開過源,但後來出現了Wireshark,覺得自己寫完全寫過不Wireshark,差距太大,相比之下,我一個人干出來的東西只能算是垃圾。之後又出來了兩次這樣的事。所以,後來,我就不轉向更多的學習了,而不倉促地去做開源了。原因就是——因為我覺得開源不是為了開源而開源,也不是為了裝逼而開源,更不是為了吸社會的血把項目分包給社會,開源就是為了給社會做貢獻,我對給社會做真正的貢獻的能力還達不到。
人生苦短,我又沒有那個聰明的DNA,這世界上的垃圾已經有很多了,我就不必再為垃圾添磚加瓦了。我還是把精力放在多看和多學上吧。因為我連一個C++ STL或JDK中的一個容器類都沒有信心能寫好。
當然,我並不是說干開源的人不行。只不過,我沒有信心貢獻罷了。說得好聽點,我標準比較高,說得難聽點,我能力差。你對我的這兩種理解都對。我的技術的確水,我在我的博客上的個人簡介也說了我不是牛人。
最後,謝謝大家看我的這個冗長的答案。第二點不予置評,關於第一點,你知道這個世界上有多少粗製濫造的閉源軟體嗎?
加個前提還好說,那就是最優秀的軟體之中,閉源軟體是要比開源軟體多得多的,因為這些軟體的基礎是人類發展了無數年的商業社會。相對於閉源軟體,開源軟體只是一個剛出生沒多久的嬰兒,正在蹣跚學步,相當正常。
- 沒有定義比較標準,沒有靠譜的統計數字,基本上就是嘴炮論勝負的水平。
- 基本上此類答案容易陷入「觀察者局限性」,而且容易站隊後YY,尤其是利益相關的。
- 他的第一點,基本無法證實也無法證偽。有幾個人能真正看到閉源軟體源代碼然後和開源的比較,有幾個能真正選擇適合比較的幾款做對比?
- 第二點基本屬於道德攻擊。什麼叫抄?如果解決一樣的問題,叫抄?還是說像三星Galaxy S2一樣完全照搬iPhone的外觀?還是解決問題的思路一致?如何區別借鑒、抄襲?
- 在多數領域開源軟體和閉源差距極大,像OpenOffice在MS Office前被虐的渣都不剩,像GIMP在Photoshop面前根本不可能抬的起頭。開源軟體可能只是在程序員的小圈子軟體裡面能和閉源的正面競爭,而且多數在技術上也並不佔優。
- 千萬不要低估微軟,千萬不要低估Adobe,千萬不要低估甲骨文……多數開源社區也就是聚攏了一幫比較不錯的天才,但是不要忘了多數的天才都是在這些閉源軟體公司全職寫代碼,精力上的投入一目了然。
- 在多數領域領頭的開源軟體都是比閉源軟體要晚出來很多很多年的,所以借鑒是必然的,而且多數用戶層面的開源軟體本質就是為了解決不想花錢買軟體這個需求。
- 大量開源軟體其實都是大家認為的閉源軟體公司的廣告而已。
================================================================
軟體是一個很大的範疇,不只是操作系統,不只是開發工具,還有辦公軟體、遊戲、行業軟體、實驗室軟體等等。在多數領域的精品軟體基本都是商業產品,也就是基本都是閉源的,這個世界上畢竟絕大多數的人都是追名逐利的,這也是無可厚非的。
Linux不代表軟體,Git也不代表軟體,他們都只是在軟體世界裡面一個小分類的佼佼者。但並不代表整個生態系統裡面所有的節點都能夠做到這個高度,而且事實上他們的高度可能並沒有想像中的那麼高。
最後對於開源軟體有個事情必須要明白,很多開源軟體為了規避專利問題,也規避掉了最優的方案。
================================================================
陳皓的觀點第一條我是贊同的,商業公司做的好是正常的,尤其我們都能看到在遊戲和行業軟體兩個很重(zhuan)要(qian)的軟體分類裡面現在甚至是沒有開源軟體的事情。真正的開源軟體輝煌的場所還都是在程序員自己的圈子裡。
第二條我不是很贊同,所以我前面用的是「借鑒」而不是「抄襲」,我覺得現在這種程度完全談不上抄襲。
另外我特地加粗的那行是要說,很多公司提供的開源軟體,本質還是為了自己的商業目的服務,這類軟體質量很高,像Chrome,只是可惜太少了。
開源就是(不是類似)軟體界的共產主義,歷史經驗告訴我們——
其理論非常誘人,其在弱勢地位(反對派)時也能(主要以壓制主流派的方式)給大家帶來一些好處,如果其獲得了統治地位......
-----------------------------
如上論調是建立在消費者角度的基礎上。
我覺得閉源軟體為了賣東西,往往不得不做一些一開始大家認為「沒有技術含量」的」臟活累活「,如上面一個哥們說的多一個邏輯拷貝一個重名文件會問你覆蓋還是忽略,」有技術含量「的活自然是io啊內核態不需要往用戶態拷貝啊再不濟也要把多個小文件湊成一塊一塊的迎合一下磁碟讀取塊的大小吧。閉源軟體就很少做這些工作。
慢慢的,解決了」有無「問題,主要矛盾變成了好用不好用。在用戶看來,閉源軟體真是太牛叉了,開源軟體那是給人用的?頂多也就程序猿貪便宜又滿足一下窺私慾。在閉源軟體內部碼農看來,咱考慮到的問題你們都不知道那居然還是個問題!
但是,時間一長,閉源軟體背上了很多的歷史包袱。也有從細枝末節成為大家都能認識到、都能理解的」有技術含量「的主流活,但大多會因為大環境變化了成為性價比不高的累贅。如這幾年的用戶體驗,早幾年大家都以為就是個順手完成的雜活。但是我也開發了一個網站你也開發了一個,為啥我那個看上去不如你那個高端大氣上檔次呢,好奇怪~
環境已經變了,你的軟體裡面還對磁帶io做了優化是幾個意思?人的智力是有限的,再有錢也招不來外星人幫忙開發。這時候,一些閉源軟體就悄悄的掛掉了,或者把軟體內核換成了對應的開源實現。為啥開源實現」薪火相傳「,幾十年了還健在呢?歷史包袱少,我就不吐槽一個個的版本帝各種不兼容了,反正開個玩笑就是」禍害遺千年「啊。當然,開源實現也不是拿來就能用的,得各種」定製「,各種複雜,在內部碼農看來好複雜好有技術含量,外面的開源實現傻大黑粗的,鄙視之。
這樣,閉源軟體又一次背起了」歷史包袱「~按照他的觀點,Linux就是抄UNIX,GNU也是抄UNIX。這樣實在沒什麼好辯論的,因為PostgreSQL也是抄Oracle,Haskell也是抄的Miranda。
這個觀點最站不住腳的就是他沒法證明自己見過大多數閉源產品的技術含量,畢竟大多數閉源產品是針對個別行業的,不是像在消費領域想買就買的。
ps. 微薄上為了積攢人氣,實在想不出來話題只能找開源軟體引起爭論,也是有可能的,只要不搭理就好了。我們應該多思考問題本身,而不是攻擊別人。
開源軟體給碼農帶來的便利遠遠大於給用戶的便利。
我覺得能掙錢才能做得好。
我覺得皓哥說的兩個觀點確實有些道理,但這些不能以對或錯、非黑即白而論。尤其他自己的回答其實更說明了些問題。
但是,有一點值得承認,很多人並沒有皓哥那樣的機會能看到商業軟體里那些NB的東西,因此,開源軟體是一個極好的學習機會。其實事情應該是相輔相成的,如果沒有開源,閉源的軟體可能也沒有那麼NB。
說到有些開源的代碼寫得爛,但商業代碼寫得爛得也不少,只是,大部分別人看不見而已。當然,要學習,就要看比較NB的代碼,不管開源的開是閉源的。
其實很多軟體原先也是閉源的,後來由於各種原因開源了。最近看到的一個例子就是思科的OpenH264。可以說,從它開源的前幾天起我就開始基於它寫東西,且不說它代碼寫得怎麼樣,到現在,介面變了無數次了。可能這也是從閉源到開源的一個必經之路吧,畢竟,閉源的代碼看的人總是有限。
我本人肯定不如皓哥那般有水平和見識,但很不幸,我或多或少的參與了開源,更不幸的是,我還寫了書。不知道有沒有不幸地進入了那95%。
總之,我沒有機會看到那些NB的商業系統,但有機會讀了不少開源系統的代碼,也有機會貢獻一點點補丁,想到(keneng)有很多人會用到我寫的代碼,也算有一點點成就感吧。
這個真的不好說,個人無償投入開發的肯定不好跟商業公司投錢的比,但不是說開源軟體就是個人開發的。Android是開源的吧,Chrome是開源的吧,但都是Google開發的,個人插得上手嗎。
推薦閱讀: