為什麼中國開源界喜歡「自主研發」輪子?
為何國內某些公司為名利頻頻借鑒開源源碼造「獨立開發」的輪子?例如:Element UI、Ant.design 、iView、WEEX、ThinkJs和Egg.js
按題主的邏輯,美國開源界對「自主研發」輪子的喜歡遠超中國開源屆呀。
- 搞 Angular / React.js / Vue.js 幹啥,大家應該一起完善 Knockout.js 才對啊。
- jresig 為啥要自己寫 jQuery,而不去改善 Prototype.js / Mootools 呀?
- 搞什麼 Semantic UI / UIkit,大家一起給 Bootstrap 寫主題不好嗎?
- WordPress / Joomla 這種東西就不該存在,好好的 Drupal 不去完善,自己搞什麼輪子?
Element / Ant Design / iView 之類的項目有人買賬,那是因為它們能滿足很多人的使用需求,可能這個邏輯比較深奧,題主表示不能理解。Weex 又不是只支持 Vue.js 風格的開發方式,為啥要叫 Vue Native?React Native 你也不看看是什麼 LICENSE,人家免費搞個可以替代的讓大家用你不要,非要讓大家一起給 Facebook 打工,到底是誰不純粹啊。
我感覺有些人少說話就算是對開源項目做貢獻了。
說點別的,如果有精力做出一個完善的開源組件庫或者框架,我覺得造輪子是好事,不管是對團隊還是對社區。如果業務還沒跑明白,人都不夠用,然後也不按照社區標準,不使用社區更成熟的解決方案,亂搞一通就開源,開源後連 issues 都不理不睬,那才是不鼓勵的行為
美國人自己造個框架就是創新,就是開創。中國人自己造個框架就是借鑒,就是抄襲?美國同類型的框架/庫不要太多,題主的偏見有點嚴重。
facebook為什麼不好好給typescript貢獻代碼,非得自己弄個弱化版的flow-typed出來?
lodash為什麼不好好給underscore貢獻代碼,非得自己再寫一個?居然還兼容underscore?jquery為什麼不好好給prototype貢獻代碼,非得自己寫一個?居然還全局對象互相衝突?任何著名的開源項目除非大公司內部已經用了多年,都是從不完善的小項目一點點成長起來的。可能在前沿領域中國不輸美國,但在程序的原始積累上的確是差很多的。
開源本身就是互相借鑒修修補補的過程,你有自己的想法就去開發一套新的出來,很正常。但是開發一套新的並不意味著所有都得是新的,部分很成熟的技術可以直接拿來用,只改你想修改的部分。
比如我覺得bootstrap的柵格系統很好,css組織也不錯,但是它的外觀我不喜歡。我也不可能讓他們團隊為了我去改外觀。那我就fork一個bootstrap,保留原來的代碼組織,就改改css樣式。可以嗎?當然可以啊。這算抄襲,還是借鑒還是不好好給bootstrap貢獻代碼?正因為這樣開源社區才會百發齊放,對使用者來說才能找到更適合自己的。開源是有開源協議的,只要在協議的許可範圍內,想幹什麼是使用者的自由。
最後,開源社區不分國界,不分你的我的。非得去區分哪國怎麼怎麼樣不如自己多去貢獻點代碼。中國開源界是有很多很多問題,可以噴的點有無數個,但是唯獨沒有題主說的這個。
不討論技術,先問一個問題。
樓主說了這麼多名詞,都用過么?
我一般就一句話,沒用過就別逼逼可以么~別的不是太了解,替eggjs說句話。不知道題主用eggjs用的怎麼樣,egg確實是基於koa,egg團隊大方承認,因為egg的死馬,蘇千等大佬給koa也貢獻了很多代碼啊,你自己可以去看下。總比這裡信口開河強。再說egg最強調的是約定優於配置,要求按照約定開發,降低團隊協作成本。這能說沒意義?
再說,不學會走就想要跑簡直痴心妄想。外國人造輪子是創新,我們造輪子就是抄襲?這麼和你說,如果有一天,我照著react,再造出一個框架來,我也不覺得丟人。畢竟,我還做了些嘗試,嘗試下大佬們對前端的思考。有了這種經驗,我可以更隨心所欲地按照自己的想法去造個輪子。說不準哪天大家都覺得好呢。任何好玩東西都不會是人的靈光一現,linus大神如果以前不喜歡搞計算機也不會拍大腿就搞出來個linux。國內前端如果都不嘗試自己搞些東西,發現問題,哪輩子才能有自己的東西?
還有,人家造輪子,吃你家大米啦?雙標狗雙標狗,網路詞語。雙標/雙標狗:雙重標準。掐架的時候常看到有人說樓上雙標狗/樓主雙標嚴重。也就是同樣的事情在某愛豆身上是一說,換個人又是另一說。直接點就是不在於討論事情本身,只為了諷刺。
題主舉著【我們不要多,要精】的政治大旗在這裡大噴一波,列舉了知乎最流行的前端+JS框架就認為國人仗著小聰明,山寨別人的東西,在開源社區攪局。然而題主根本沒認識到,如果你開源項目非常垃圾,就算你再牛逼,也沒人鳥你,這就是開源。
目測一看題主大約就是只是一個低端、看見大量的開源框架瑟瑟發抖的初級程序員。目光短淺到只認為世界上就中國是喜歡山寨的,天大的笑話。
年輕人好好的擼管,不要一天到晚做白日夢。
因為國外的輪子比較圓嘛
那為啥Facebook和Mozilla都想開發自己的IDE和語言,不來貢獻比他們老的C#(早已開源)、F#(比C#開源的更早)和vscode(反正比他們早)?
明顯是美國人更喜歡「自主研發」輪子。你看我國的幾個哪怕是著名的輪子都是跟在美帝的東西(不一定是開源)的屁股後面走的,從來沒有什麼發明。
題主對輪子沒有任何的偏見,他只是對中國人造的比較反感。國外的都是什麼輪子之神,國內的就是粗製濫造,沒有躬匠精神~
中國人造的輪子姓輪嗎?
為什麼Linux分支多到你數都數不清?是不是因為外國人總想著自主研發?是不是因為外國人不努力尋求加入社區?肯定是因為他們自己完全搞小分頭,不團結友善
或許你覺得在開源界,每個人方面只需要一個庫/框架?
不覺得美國開源界更喜歡造輪子另外借用別人罵我的話——什麼時候開源還分國界了?(逃
我們不要多,要精,請放下羈絆,為開源項目做貢獻,為子孫後代積福。
我想你的意思是不要搞自己的框架,不如去幫幾大框架做優化。
就好比說我們不要發展自己的核武器,只需要幫美國優化核武器技術就好了啊。
怕是react的事情你沒聽說?
也不知道你到底給開源框架做了多少貢獻。
喬布斯說,聰明的藝術家模仿,偉大的藝術家偷竊。一些好的點子和創新,從來不是空想出來的,而是在前人基礎上,不斷的改進和嘗試得出來的。
以題主舉的例子,開源界等於前端界了
啊哦,我發現題主說的東西都是前端的...這可咋整
emmm..就我個人而言,只要框架文檔寫得清楚,bug少一點,那就是一個好的框架
喜歡,你管得著嗎?
推薦閱讀:
※作為一個伺服器,node.js 是性能最高的嗎?
※如何看待 Azer Ko?ulu 刪除了自己的所有 npm 庫?
※Node.js 適合用來做 web 開發嗎?
※Websocket 用node還是python開發比較好?
※redis怎麼做消息隊列?